See which of your Kit broadcasts actually made money

By General Input

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.

Integrations

  • ConvertKit
  • Stripe

Type

App

Categories

  • Marketing
  • Operations

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.

Related prompts

Explore more prompts
Let support send one-off Loops emails without an engineerCustomer lifecycle inspector for Loops, Stripe and PostHogMonth-end Stripe finance pack, stored and shared in SlackRank your Intercom queue by what each customer pays youCatch the trials quietly dying before the card gets chargedWork every open Stripe dispute from one chargeback war roomLook up any customer's support, billing and CRM in one pageInvestor update studio that builds your board deck monthlySell and invoice Ghost newsletter sponsor slots in one boardSupport console that pairs Gladly chats with orders and refunds