See which of your Kit broadcasts actually made money

Open one screen after every send to see each email's opens, clicks and the Stripe revenue that followed it, measured against a normal day.

App
ConvertKitStripeMarketingOperationsAI ReportsResearch & Monitoring
PromptCreate

I want an app I open after every send to answer the one question Kit cannot: which of my emails actually made money. It reads my send history and performance from Kit, reads my payments from Stripe, and puts the two side by side.

The main screen is a sortable table of every broadcast from the last 12 months. Pull the list with Kit's List Broadcasts operation and enrich each row with Get Broadcast Stats. Columns are send date, subject line, recipients, open rate, click rate, unsubscribes, and attributed revenue. Every column sorts, and a date range filter narrows the table to any period I choose.

The revenue column is built from Stripe. For each broadcast, total the successful charges returned by List Charges filtered by creation date, across a window that starts at the send time and runs for a configurable duration with a default of 72 hours. Count successful charges only and exclude failed ones. Next to that figure, show my trailing 30 day average daily revenue as a baseline, so I can tell a real spike from an ordinary day. Express the comparison both as the raw amount and as a multiple of the baseline.

Label the revenue figure clearly and permanently as time window attribution rather than click level tracking. Anywhere that number appears it should be obvious that it means money that arrived after this send, not money traced to a click inside this email. Let me widen or narrow the window per broadcast with presets of 24 hours, 72 hours, 7 days and 30 days plus a custom value, so long sales cycles are not misread. Persist each per broadcast override and recompute that row when I change it.

Clicking any row opens a detail view for that broadcast: the full subject line and a content preview from Get Broadcast, the complete stat breakdown from Get Broadcast Stats, and the individual Stripe charges from that window listed via Search Charges with amount, customer and timestamp. Put the window control on this screen too, so I can adjust the window while watching which charges move in and out of it.

Add a compare view that groups the whole archive three ways: by send day of week, by send hour, and by subject line style. Classify subject lines server side into question, number, curiosity gap and plain using simple rules, and show which bucket each subject landed in so I can sanity check the classification. For each group show the number of sends, average open rate, average click rate, and average attributed revenue per send. This is the part Kit cannot do, because its A/B testing only compares subject lines one send at a time.

Two performance notes. Kit list endpoints are cursor paginated, so page through by passing the previous response's end_cursor as the after parameter. Kit OAuth tokens allow 600 requests per rolling 60 seconds, so fetch the per broadcast stats in a batched, concurrency limited pass on the server and cache the stats and computed revenue per broadcast instead of refetching on every render. Give me an explicit refresh control and show when the data was last refreshed.

Persist the cached broadcast stats, the computed revenue, my per broadcast window overrides, and my default window and date range preferences, so the app opens where I left it. This is one creator's tool rather than a team dashboard, so it should load fast and be readable at a glance in the minutes right after a send.

What does this prompt do?

  • Lists every broadcast you sent in the last 12 months in one sortable table, with send date, subject line, recipients, open rate, click rate and unsubscribes, filterable to any date range.
  • Adds a revenue column that totals the successful Stripe payments that arrived in a set window after each send, shown next to your average day so you can tell a real spike from an ordinary one.
  • Opens any send to show the full subject line and content preview, the complete stat breakdown, and the individual payments that landed inside that window.
  • Compares your whole archive by day of week, send hour and subject line style, so you can see what your audience responds to over time instead of one A/B test at a time.

What do I need to use this?

  • A Kit account (formerly ConvertKit) with broadcasts you have already sent
  • A Stripe account where your sales are processed
  • Ideally several months of send history, so the comparison view has enough to work with

How can I customize it?

  • Change the default attribution window, which starts at 72 hours, and widen it on any single broadcast when you sell something with a longer decision cycle
  • Set the archive table to any date range rather than the last 12 months
  • Adjust the baseline period behind your average daily revenue, or change how subject lines get sorted into styles

FAQs

Does this track revenue click by click?
No, and the app says so wherever the number appears. It totals the successful payments that came in during a window of time after each send. That is a strong directional signal for a creator selling to one list, but it is not the same as tracing a specific sale back to a specific click.
What if people buy a week after reading the email?
Widen the window on that broadcast. You can set it per send, so an evergreen course launch can use 14 or 30 days while a flash sale stays at 24 hours. Just remember that long windows start overlapping with your other sends, so read those numbers as a trend rather than a precise figure.
How is this different from the reporting Kit already gives me?
Kit shows opens, clicks and unsubscribes for one send at a time with no money attached to them. This puts revenue beside those metrics for every send, keeps 12 months in one browsable table, and groups the whole archive by send day, send hour and subject line style so you can compare across sends instead of within one.
Does it change anything in Kit or Stripe?
No. The app only reads your broadcasts, their stats, and your payments. Nothing is sent, edited or refunded, so it is safe to open as often as you like.
What if I sell through something other than Stripe?
The revenue column reads from Stripe, so it will be empty without it. The rest of the app still works as a browsable archive of your send history and performance, and you can point the revenue side at Stripe later.

Related templates

Look up any customer's support, billing and CRM in one page

Type a customer email before a renewal call and get their whole support history next to their plan, their invoices and their open deals.

Help Scout
Stripe
HubSpot
App
Investor update studio that builds your board deck monthly

Open one screen each month to see your real numbers, write the commentary yourself, and generate a board deck you can send to investors.

Gamma
Stripe
HubSpot
+1
App
Sell and invoice Ghost newsletter sponsor slots in one board

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.

Ghost
Stripe
App
Support console that pairs Gladly chats with orders and refunds

Type a customer email or phone and see their whole support history, order tracking, and payment record on one screen instead of three tabs.

Gladly
Shopify
Stripe
App
Firebase support desk with account actions and Stripe billing

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.

Firebase
Stripe
Slack Bot
App
Match your Stripe buyers against your Flodesk subscriber list

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.

Flodesk
Stripe
App

Stop guessing which emails paid for themselves.

Put your Kit send history and your Stripe revenue on one screen and find out what your audience actually buys.