How attribution works
Which touch gets the credit: last-click and first-click models, 7/30/90-day and lifetime windows, and why credit is computed at read time from raw data.
Attribution is a join, not a model. A customer's visits carry their ad clicks (captured by the pixel); their payments carry their email (from your revenue sources); the identify call connects the two. Once that thread exists, the only question left is: when a customer has touched more than one ad, which one gets the credit?
The models
- Last click (default) — the most recent ad touch before the conversion gets full credit. The right default for SaaS: it credits the ad that closed.
- First click — the earliest ad touch gets full credit. Use it to see which ads start journeys that end in revenue.
Switch between them in the report and the numbers recompute instantly. That's because credit is decided at read time: we store every touch and every conversion raw, exactly as captured, and compute attribution when you look. Nothing is baked in at collection time, so changing the model or window is a different view of the same facts — never a re-tracking project, never a discrepancy between "old data" and "new data."
The windows
7 days, 30 days, 90 days, or lifetime: how far back from the conversion an ad touch may be and still earn credit. A click outside the window doesn't count; if no touch falls inside it, the conversion is unattributed for that view. Lifetime is the honest ceiling for SaaS, where the gap between first click and first payment is routinely months.
What earns credit, and what counts
Only valid ad touches can earn credit: real visits, on your verified domains, carrying ad identifiers — bot traffic and unverified-domain events are excluded before the math starts.
On the conversion side:
- Payments add. Refunds subtract — and a refund is matched to the exact payment it reverses, so it lands on the same campaign that got the original credit. A campaign that drives refund-prone customers shows it.
- Trials count toward the trials column, so you can see cost-per-trial before the revenue arrives.
- Renewals never earn acquisition credit. The first payment credits the ad; month-12 doesn't re-credit it. What renewals do feed is the MRR lifecycle columns — active and churned MRR per ad — which is where customer quality becomes visible.
Why this beats the platform's number
Google and Meta each report conversions with their own modeled attribution, each crediting themselves, each unable to see your refunds, renewals, or churn. Add their dashboards together and you'll have more revenue than your bank account does. This report is built from the opposite direction: your actual payments, joined deterministically to actual clicks, with the unexplained remainder shown as unattributed instead of redistributed. When the number is uncertain, you see that it's uncertain.