sixtysteps.co
Tool 01 · $4.95
Get it for $4.95
Sixty Steps · Tool 01

Which Ad Made The Sale?

Tag every Stripe payment with the ad that sent it.

Meta says one ad made the sale. Stripe says another. In about an hour, every payment in your Stripe account will record the ad that sent it, and you get a table of revenue by ad.

Get it for $4.95 How it works
One payment. No subscription. No-code and Claude Code paths included.
Sixty Steps · Tool 01
ADMETA SAYSSTRIPE SAYS Ad 014$2,310$2,310 Ad 022$1,840$1,840 Ad 031$4,120$910 Ad 035$620$620 Ad 040$0$1,150
$4.95one time
6 years
of analytics for banks and miners, now pointed at Meta ads
Built on our own account
every template here is the one we use each Monday
Step 1 of 60
from the book The Book Is the Funnel
$4.95, once
files by email within minutes
Our team has worked with
South32BHPWoodside EnergyRio TintoJPMorgan ChaseUBSAMPKPMGPerth AirportMain Roads WAMurdoch UniversityLiontownSouth32BHPWoodside EnergyRio TintoJPMorgan ChaseUBSAMPKPMGPerth AirportMain Roads WAMurdoch UniversityLiontown
The Monday that started this

Two dashboards, one bank account, and they did not agree.

I opened Ads Manager one Monday. It said ad 031 was the week's best performer. Good ad. I was about to put more money behind it.

Then I opened Stripe. Payments that week came to less than Meta's figure for that one ad, let alone the whole account.

Meta was not lying. It was counting every sale it could plausibly claim: a click six days earlier, a view the day before, two ads both touching one buyer. Stripe only counts money that arrived.

I spent the afternoon working out which ad had sent each payment. By the end I had a table with one row per ad and one honest revenue figure next to it. Ad 031 was not the top earner. Ad 040, which Meta credited with nothing, had sent payments of its own.

That table is what this guide builds for you, and it keeps building itself every week.

ads manager “purchases” stripe · payments less arrived ? same week. same account.
Why the numbers disagree

Meta grades its own homework.

Meta attributes a purchase to any ad a buyer clicked in the last 7 days or saw in the last day. Two ads can both claim the same sale. A sale with no ad at all can be claimed by an ad the buyer scrolled past.

Stripe records one payment, once, with whatever data you attach to it. Attach the ad id and you have an attribution system that cannot double count, because a dollar only arrives once.

This guide attaches the ad id.

ad Aad B $1 sale meta: both claim it ad A $1 sale ad_id = A stripe: one payment, one tag
How it works

Four steps. The ad id rides along with the buyer until the money lands.

Nothing changes about your ads or your checkout. You add a tag to the link, pass it through, and read it back out of Stripe.

1 · the ad ?ad_id=031 URL template adds the tag 2 · your page buy → tag passes to the payment link 3 · stripe payment metadata: ad_id = 031 $97.00 paid snippet writes it on the payment 4 · the table ad 031$910 ad 040$1,150 ad 014$2,310 revenue by ad, from Stripe the only number that matters is in box 4
A whiteboard sketch of two ad cards, one under a cloud labelled Meta claiming Ad A, the other under a ledger labelled Stripe pointing a tag to Ad B, showing the two systems disagree on which ad made the sale.
Meta says one ad made the sale. Stripe says another. This tool tags every payment with the real one.
Two ways to set it up

Pick the path that matches your checkout.

Path A · No code

Stripe Payment Links

You sell through a Stripe Payment Link or a buy button. The guide shows where to put the tag in the link so Stripe stores it on the payment. Nothing to install.

You need: a Stripe account and the ability to edit your ad URLs.
Path B · Claude Code

Your own checkout

You have a custom checkout or a site you control. You paste the metadata snippet and a prompt into Claude Code and it wires the tag through your checkout session.

You need: access to your site code, or someone who has it.
What is inside

Three files and a short guide.

01
URL template
Paste into Meta's URL parameters field once. Every ad fills in its own id.
02
Stripe metadata snippet
Writes the ad id onto the payment. Payment Links version and checkout session version.
03
Per-ad revenue sheet
Export payments from Stripe, paste in, read revenue by ad. Columns already set up.

Plus the guide itself: 6 pages, written for the no-code path first with the Claude Code path at the end. We built it on our own account first.

What changes on Monday

You turn ads off and on with Stripe's numbers.

Open the sheet. Sort by revenue. The ads at the top get more budget. The ads with payments at zero get paused, whatever Ads Manager says about them.

After four weeks you have a month of per-ad revenue you can trust, which is the input for every other decision in the account: what creative to make next, what to say to a new audience, what an ad is worth.

This is step 1 of the sixty. It is the one the other fifty-nine are measured against.

adpayments$ in stripe 0149$2,310 0405$1,150 0313$910 0220$0 moremore pause meta credited 031 with $4,120. stripe says $910.
Buy this if
You take payment through Stripe and run Meta ads to it.
You have ever doubled a budget on an ad Meta liked and watched revenue stay flat.
You want one table you can hand to anyone and say "this is what each ad made".
Skip it if
You sell through a platform that handles checkout for you and gives you no access to Stripe.
You already have server-side attribution wired to your payments. You have this.
You are not running ads yet. Come back when you are.
What Sixty Steps is

Sixty steps between a cold stranger and a paying client. Ads are the first three.

Most agencies run the ads and rent everything else. Sixty Steps builds all sixty as real development on the client's own domain, then reports every week against what settled in Stripe.

These ten tools are the steps you can set up yourself in an afternoon. This one is the first, because every later step is measured against it.

Ryan Richardson
A note from Ryan

I built analytics models for banks and miners before this. The habit that stuck is not trusting a dashboard that grades its own work. Meta reports what it thinks it drove. Stripe reports what arrived. This guide gets you the second number.

Ryan RichardsonFounder, Onwards Analytics
Before you buy

Five questions people ask first.

Does it work with my checkout?
Stripe Payment Links and Stripe buy buttons: yes, with the no-code path. A custom checkout you control: yes, with the Claude Code path. A platform that hides Stripe from you (some course and booking tools): no, skip this.
Do I need a developer?
Not for Payment Links. You edit a URL in Meta and a field in Stripe. For a custom checkout you paste a snippet and a prompt into Claude Code, or hand both to whoever runs your site.
Will it break my pixel or existing tracking?
No. It adds a parameter to your URL and a metadata field to the payment. Nothing is removed and the pixel keeps firing as before.
How long does setup take?
On our own account, the Payment Links path is editing a URL and a Stripe field, nothing more. The Claude Code path depends on your checkout, so budget an afternoon.
What if it does not do what this page says?
Reply to your receipt email and say so, any time in the first 60 days. You get the $4.95 back, and we want to know what went wrong.
Real result
Real book-funnel ads, 13 Aug 2026: the ad with 15x the clicks earned a third of the money. Best real ROAS was 11.44x on $5.42 spend.
Real book-funnel ads, 13 Aug 2026: the ad with 15x the clicks earned a third of the money. Best real ROAS was 11.44x on $5.42 spend.
2026-08-13 · Per-ad Stripe revenue vs derived clicks for 4 real ads in Ryan's own book funnel (Meta act_3191635134319702 joined to Stripe by utm_content=ad.id), showing where Meta-favoured ads (high CTR) earned $0 while a low-click ad earned the most.
Order

Get Which Ad Made The Sale?

Which Ad Made The Sale?
Tool 01 · guide, URL template, Stripe snippet, revenue sheet
$4.95
Total today
$4.95
Apple Pay · Google Pay · card · charged in US dollars via Stripe
Not what this page says? Reply to your receipt within 60 days. Money back, no form.

Dear reader,

If you have read this far, you have probably already decided whether $4.95 is a risk worth taking. It is not much of one. So the rest of this page is not about the guide. It is about who is selling it to you, and why we bother selling a five-dollar guide at all.

We are an analytics firm that got into Meta ads by accident, found that nobody was measuring them properly, and started fixing that one step at a time. This guide is step one.

Part one

Who is behind this

My name is Ryan Richardson. For 6 years I built analytics models for banks and mining companies through a firm called Onwards Analytics. The brief was always the same: two systems that should agree do not, and someone senior needs to know which one to trust before the Monday meeting.

I had run Meta ads on and off for about five years. Once we ran them for our own offers, I was staring at the same problem I had been paid to solve for years, except now the two systems were Ads Manager and Stripe, and the person who needed to know was me.

So I did what I had always done. I traced every step between a stranger seeing an ad and a payment settling in Stripe, and wrote each one down. There were sixty. That list became a book called The Book Is the Funnel, and then a business called Sixty Steps that builds those steps for other people.

Part two

How we actually work

Three rules. We apply them to our own account before anyone else's.

Stripe is the scoreboard. Every report, decision and invoice is measured against money that settled. Platform dashboards are inputs. If a number on one of our pages cannot be traced to Stripe, it is marked as reasoning.

Everything lives on your domain, in your name. Pages, checkout, email and tracking are real code you own. There is no page-builder licence, and nothing stops working if you stop working with us.

We use it before we sell it. Every template in this guide is the one we open on our own account each Monday, with our values swapped for brackets. If it stopped working for us, it would come off this page.

That is also why the guide is $4.95. We are not trying to make money on it. We are trying to get the first honest number into your Stripe account, because every conversation we have after that gets easier.

Part three

What the ten tools actually do

Each tool is one step from the book, packaged as the exact files we use: a template, a sheet, a script outline or a prompt, plus a short guide. They cost between $4.95 and $27. There is no software to subscribe to and nothing that phones home.

Three of them measure. This one tags each payment with its ad. A weekly review joins those tags to Meta results and tells you what to make next. A six-lever diagnostic scores your whole funnel and finds the weak one.

Two of them screen. A three-gate scoring sheet judges an ad before it costs money. A blind panel of AI buyers scores the same ad independently and reaches a consensus.

Two of them research. One maps how your top 10 rivals look and where the empty space is. One pulls any competitor's ads and ranks them by how long they have run.

Three of them build. 40 ads uploaded from one spreadsheet. A landing page that tests its own variants against purchases. A pipeline that produces 20 scored offers in an afternoon.

None of them replaces the other fifty steps. Each one makes one step faster, or makes one number honest. This page sells the first, because the other nine are measured against it.

Get Tool 01 for $4.95 →One payment · files by email · no subscription
Part four

What happens after you buy

The files arrive by email within a few minutes. You open the guide, pick the no-code path or the Claude Code path, and follow it. By your next Monday you have a table of revenue by ad that came from Stripe.

Then nothing happens. There is no onboarding sequence, no upsell call, no countdown. If you want the other tools you will find them on the site. If you want us to build the other fifty-seven steps for you, the site explains how that works and what it costs, and it starts with a free teardown that might say no.

If the guide does not do what this page says, reply to the receipt email and say so, any time in the first 60 days. You will get your $4.95 back and I will want to know what went wrong.

TL;DR
A $4.95 guide that makes every Stripe payment record the ad that sent it, with a URL template, a Stripe snippet and a revenue-by-ad sheet. Written by an analytics firm that measures its own ads against Stripe and sells the steps one at a time. No subscription. Refund on reply if it does not do what it says.

P.S. If you only take one thing from this page, take the idea rather than the guide: a dollar only arrives once, so attach the ad id to the dollar. Everything else here is just the fastest way we know to do that.

Ryan Richardson
Ryan Richardson
Founder, Sixty Steps · Onwards Analytics
Get it for $4.95 →One payment · files by email · no subscription