See which kinds of companies actually pay you in Stripe
Turn a list of customer email addresses into a revenue by industry breakdown, so you can see which sectors your recurring revenue really comes from.
I want an app that tells me which kinds of companies actually pay us. Stripe only stores an email address for each customer, so I can see revenue but not what sort of business it comes from. The app should turn our Stripe customer base into a revenue by industry breakdown that I can open at the start of every month.
Load the data spine from Stripe. Use List Customers to pull the customer base, and List Subscriptions to get each customer's plan and recurring amount. Join subscriptions to customers by customer id, and convert every subscription to a monthly recurring revenue figure: Stripe amounts are in the smallest currency unit, so divide by 100 for dollars, multiply by quantity, and normalize the billing interval to a month, meaning a yearly price is divided by twelve. Keep the plan name and subscription status on each record so they can be filtered later.
Resolve each customer to a real company with Context.dev. Pass the customer's email to Retrieve Brand Data by Email to get the company domain and name. Send the resolved domain to Classify NAICS Industries to tag the account with an industry sector, and to Retrieve Simplified Brand Data by Domain to get the company logo for display.
Handle free and disposable email domains as a first class case, not an error. Context.dev rejects gmail, yahoo and similar consumer providers with a 422 response. When that happens, do not surface an error: bucket that customer as "Individual, no company domain" and carry it through the app like any other segment. For a self serve Stripe account this bucket can be a large share of the customer base, so show it in the main breakdown alongside the real industries, and display what share of total monthly recurring revenue it represents, since for many businesses that number is the real finding.
Cache every brand lookup, because each one costs Context.dev credits. Store the resolved company, industry and logo keyed by email domain, and reuse the cached result on every later load instead of looking it up again. Only call Context.dev for domains that have never been resolved. Cache the 422 rejections too, so a gmail address is not retried every month.
The main view is a revenue by industry breakdown. Show one bar or row per sector with the sector name, the number of customers in it, and the total monthly recurring revenue, sorted by revenue so the biggest sectors sit at the top. Include the "Individual, no company domain" bucket in that ranking rather than hiding it.
Clicking any sector opens the accounts behind it. Show the individual customers in that sector, each row with the company logo, company name, industry, plan and monthly recurring revenue. Make it easy to get back to the breakdown.
Add filters for industry, plan and subscription status that apply to both the breakdown and the account list. Let me save the current combination of filters as a named segment, and persist those saved segments so they are still there when I come back. Reopening a saved segment next month should rebuild it against the latest Stripe data, so I can see how the mix has shifted since last time.
Add a refresh action that re-pulls Stripe and enriches only customers that are new or whose subscription changed, so refreshing stays cheap. Show when the data was last refreshed.
What does this prompt do?
- Builds a revenue by industry view from your Stripe customers and their active subscriptions, showing each sector's customer count and total monthly recurring revenue
- Click any sector to see the accounts behind it, with company logo, name, industry, plan and monthly revenue on every row
- Groups customers who signed up with a personal address like Gmail as "Individual, no company domain" instead of showing an error, and shows what share of revenue they represent
- Filters by industry, plan and subscription status, plus saved segments you can reopen each month to see how the mix shifted
What do I need to use this?
- A Stripe account with customers and subscriptions
- A Context.dev account, used to match customer emails to real companies and industries
- Nothing else to set up: the app remembers every company it has already looked up, so it does not pay to look up the same customer twice
How can I customize it?
- Choose how broad the industry grouping is, from a handful of top level sectors to more detailed categories
- Decide which subscription statuses count toward revenue, for example active only, or including trials and past due accounts
- Set up the saved segments your team cares about, such as one per sector or one for your largest plans
FAQs
Why can't Stripe show me this already?
What happens to customers who signed up with a Gmail address?
Will this work if most of my customers are individuals rather than businesses?
Does looking up companies cost money every time I open the app?
How is monthly recurring revenue worked out?
Related templates
Type a customer email before a renewal call and get their whole support history next to their plan, their invoices and their open deals.
Open one screen each month to see your real numbers, write the commentary yourself, and generate a board deck you can send to investors.
Replace the sponsorship spreadsheet with a live board of upcoming issues, sold and open slots, real subscriber counts, and paid or unpaid status from Stripe.
Type a customer email or phone and see their whole support history, order tracking, and payment record on one screen instead of three tabs.
Your support team types an email, phone, or user id and sees that person's account, app data, and billing on one screen, with the fixes they used to escalate.
Open one screen to see who paid you, who is on your email list, and who is missing from either, then add and tag those buyers without leaving the app.
Find out which industries actually pay you.
Build the revenue by industry view your Stripe dashboard cannot give you, without exporting a single spreadsheet.