sixtysteps.co

Why a sale can't be traced back to the ad that caused it

By Ryan Richardson · Published 8 October 2026

A campaign tag has to survive the edge, storage, the checkout and the payment record, in that order, and the commonest fault by a distance is a stored campaign silently overwritten by an empty one on a later visit.

The symptom

A sale happens. The payment record carries no campaign, source or creative information, so there's no way to say which advertisement, or which piece of content, actually produced it. The sale is real. It's just un-creditable.

Where it actually breaks, ranked

The one most teams miss

Campaign tags written into a checkout session don't automatically reach the payment record. They have to be written onto the payment intent's own metadata, on the same call that creates the session, because session-level metadata doesn't propagate to the payment intent or the charge, and the payment intent is what shows up in dashboard search, exports and reporting. Skipping that one line is the commonest reason a business can't reconcile its platform numbers against its bank.

The fix

Capture the five standard campaign parameters at the edge, before any page renders, so a visitor who leaves within a second hasn't taken the answer with them. Keep two stored copies, first-touch (written once, never overwritten) and last-touch (overwritten only by a visit that itself carries parameters). Write the stored values onto the payment record's own metadata at checkout creation, not just the checkout session. Buy your own product through a live advertisement once before anyone else's money is involved, then search the payment dashboard for the campaign and creative identifiers. If they're there, attribution works. If not, you have a page that decorates links.

The numbers
ClaimValueSource
Most common fault in losing a campaign taga stored campaign overwritten by an empty one on a later visitMeasured in Real Money, Field Manual
Where campaign metadata has to be written to appear in dashboard search and exportspayment_intent_data.metadata, on the session-creation call, not the checkout session aloneMeasured in Real Money, Field Manual
Go deeper

This page covers one step. The full method is in the book.

Read the full part
sixtysteps.co
AI-powered growth for what's next. Sixty Steps is Onwards Analytics — a data and analytics firm.
Pages
Home Library The book — $7 About
Start
The Teardown — free [email protected]
© 2026 Onwards Analytics Every claim on this site carries a number, or is marked as reasoning.