# 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.

- Workflow type: app
- Services: Flodesk, Stripe
- Categories: Marketing, Operations
- Published: 2026-08-21

## What it does

- Lines up the people who paid you in Stripe with the people on your Flodesk list, matched on email address so every buyer sits next to their subscriber record.
- Sorts the gaps into four tabs: paid but not on the list, on the list but never bought, buyers missing your Customers segment, and buyers who unsubscribed.
- Shows lifetime spend, number of payments, and last purchase date on every row, with refunded and failed payments left out of the totals and each currency kept separate.
- Lets you pick one buyer or a whole cohort and add them to your list, stamp their spend onto their record, drop them into a segment, or start a sequence, always after you approve the exact list of changes first.
- Includes a draft a campaign brief button that hands whichever cohort you are looking at to a background assistant, which writes a short email brief with subject line options back into the app.

## What you'll need

- A Flodesk account and an API key from your account settings
- A Stripe account you can create a secret key in
- At least one Flodesk segment you want buyers sorted into, for example Customers or VIP
- Optional: a Flodesk sequence for post purchase or win back emails, if you want the app to start one

## Prompt

I want an app that reconciles the people who actually pay me in Stripe against my Flodesk email list. Buyers and subscribers drift apart fast and I only notice when a launch flops, so I need one screen that shows me the gaps and lets me fix them on the spot.

The main view is a matched table. Load my Stripe customers with List Customers and their payments with List Charges, load my Flodesk subscribers with List All Subscribers, and join the two sides on email address. Match case insensitively by lowercasing and trimming both sides before comparing, so Jane@Example.com and jane@example.com are the same person. Each row represents one email address and shows the person's name, lifetime spend, number of charges, last purchase date, whether they exist in Flodesk, their subscriber status (active or unsubscribed), and which segments they belong to.

Above the table, four tabs filter the same joined dataset. "Paid but not on the list" is Stripe customers with at least one successful charge and no matching Flodesk subscriber. "On the list but never bought" is Flodesk subscribers with no matching Stripe customer or no successful charges. "Buyers missing my Customers segment" is matched buyers who are active subscribers but are not in the segment I designate as my customers segment. "Buyers who unsubscribed" is matched buyers whose Flodesk subscriber status is unsubscribed. Show a count on each tab so I can see the size of each problem at a glance, and let me sort every tab by lifetime spend, charge count, or last purchase date.

Spend rules matter here. Exclude refunded and failed charges when totalling lifetime spend and counting charges, so only successful, unrefunded payments count. Stripe returns amounts in the smallest currency unit, so divide before display and format properly. Do not sum across currencies; group spend by currency and show each currency separately rather than producing a blended total. Last purchase date comes from the most recent successful charge, and I want to see how many days ago that was so I can spot who has gone quiet.

From any row, or from a bulk selection using checkboxes across the current tab, I can run three actions. First, add or refresh the buyer in Flodesk with Create or Update Subscriber, stamping their lifetime spend and last purchase date onto custom fields. Second, add them to a segment with Add Subscriber to Segments, with a picker populated from List All Segments so I can choose Customers, VIP, or anything else I have. Third, start a sequence with Add Subscriber to Workflow, with a picker populated from List Workflows so I can kick off a post purchase or win back sequence. Use Retrieve Subscriber when I open a single person's detail panel so I see their live Flodesk record rather than stale list data.

For the spend fields, check List All Custom Fields on first load. If a lifetime spend field and a last purchase date field do not already exist, offer to create them with Create Custom Field and remember the field keys afterwards, so I never have to set this up by hand. Let me choose to map to existing fields instead if I already have my own.

Never write anything to Flodesk without confirmation. Every action, single or bulk, first opens a review panel listing the full set of changes: each email address, what will happen to it (created, updated, added to segment X, added to sequence Y), and the exact field values that will be written. I confirm the whole list before anything runs. While it runs, show progress per row and a clear summary of what succeeded and what failed, and let me retry only the failures. Flodesk is rate limited to 100 requests per minute, so pace bulk writes to stay under that limit and surface a sensible message instead of failing hard if I get throttled.

Add a "draft a campaign brief" button that runs a background agent over whichever cohort I am currently looking at. The agent receives the filtered rows for that tab with their purchase history, spend, and recency, summarizes what those buyers actually bought and when they went quiet, and writes a short email brief back into the app: the angle, who the audience is and why they are worth writing to, the key points to hit, and three to five subject line options. The brief lands in a briefs panel inside the app, tagged with the cohort it came from and the date, so I can keep past briefs and come back to them. Show a clear running state while the agent works, since I will be waiting on it.

Both sides paginate, so page through Stripe customers and charges and Flodesk subscribers fully rather than only reading the first page. Cache the joined dataset so the tabs switch instantly, and give me a refresh button with a visible last updated timestamp so I know how fresh the numbers are.

## How to customize

- Change which segments the buttons add buyers to, and set your own spend cutoff for who counts as VIP
- Adjust how far back the app looks at payments, for example last 12 months instead of all time
- Rename the lifetime spend and last purchase fields it writes onto subscriber records, or point it at fields you already use

## FAQ

### Will this send emails to anyone on its own?

No. The app only adds people to your list, tags them into segments, and starts sequences you choose. Flodesk sends whatever those sequences already contain, and nothing is written to your list until you review and approve the full list of changes.

### What if someone paid with a different email than the one on my list?

Matching is done on email address and ignores capitalisation, so Jane@example.com and jane@example.com line up as the same person. Anyone who paid with a completely different address shows up under paid but not on the list, and you decide whether to add them.

### Do refunds count towards lifetime spend?

No. Refunded and failed payments are excluded from the totals, so the spend figure reflects money you actually kept rather than money that came and went.

### What if I sell in more than one currency?

Spend is grouped by currency instead of being added together, so you never see a misleading blended total mixing dollars, pounds, and euros.

### Do I have to set up the spend fields in Flodesk first?

No. If the lifetime spend and last purchase fields do not exist on your subscriber records yet, the app can create them for you. It reads your existing segments and sequences rather than creating new ones.

Use this prompt in General Input: https://www.generalinput.com/prompts/match-your-stripe-buyers-against-your-flodesk-subscriber-list