Stripe attribution without losing the click
For SaaS, the ad click and the paid subscription can be a week and three sessions apart. Thread one visitor ID through Stripe and every dollar of MRR traces back to where it started.
E-commerce attribution is hard; subscription attribution is harder. Someone clicks a Google ad, signs up, disappears, starts a trial from a bookmarked link four days later, and converts to paid on day 14 when Stripe finally charges the card. Four sessions, three devices, one customer — and the revenue event that matters most (the charge) happens entirely on Stripe’s side, nowhere near the original click.
Where SaaS attribution breaks
The signup event and the money event are decoupled by design. If you only track client-side, you see the signup but not the charge; if you only read Stripe, you see the charge but not the campaign. Bridging them with email works until someone signs up with me@gmail.com and pays through a corporate card tied to me@company.com.
The charge is the truth. The click is the cause. Attribution is just keeping them tied together.
Pass the visitor ID into Stripe
The fix is to hand Stripe the Datalyr visitor ID at checkout — as the client_reference_id on a Checkout Session, or on metadata for a subscription. Now the identifier that knows the campaign lives on the Stripe object itself.
When Stripe fires checkout.session.completed or invoice.paid, DATALYR reads that ID off the webhook and threads the subscription revenue back to the first ad click — through the trial, across the devices, regardless of which email they used. Get 90%+ direct-match attribution instead of the 70–85% you’d get from email alone.
Subscriptions, trials, and refunds
Because attribution rides on the Stripe object, the whole lifecycle stays connected — not just the first charge:
- Trial starts and paid conversions attribute to the same original click.
- Recurring invoices roll up as MRR against the acquiring campaign.
- Refunds and cancellations net out server-side, so churned revenue doesn’t stay on the books.
The Stripe + web tracking guide walks through passing the visitor ID and wiring the webhook — about five minutes end to end.
