Framework
·
Acquisition
Attribution without the arguments: which acquisition channel gets the credit

The short answer
You do not need accurate attribution. You need one model everyone has agreed to be wrong in the same direction, written down, so meetings stop being about whose number is right. Build the ledger first, pick the simplest model second, and reserve incrementality tests for the few decisions big enough to deserve them.
Published
Oct 2, 2026
·
Updated
Oct 2, 2026
What is the argument actually about?
Watch a marketing review where attribution is contested and you will notice nobody is arguing about methodology. They are arguing about whose budget survives. The methodology is the language the argument is conducted in, which is why it never resolves: every participant has a model that favors them, and all of the models are defensible.
The way out is not a better model. It is a decision, made once, in writing, about which wrong model the company will use, and what each team is allowed to do with it.
That sounds like a compromise. In practice it is the single change that makes acquisition legible, because once the model is fixed, a channel's number can only move for real reasons.
What changed in the tools, and what can you still get?
Three things happened in the last five years that an attribution plan written before them gets wrong.
The models shrank. Google removed the first click, linear, time decay and position-based attribution models from Google Ads and Analytics: from June 2023 they could not be selected for new conversion actions, and in September 2023 the remaining ones were switched over automatically. What is left is data-driven attribution, last click, and externally provided attribution (Google Ads Help, accessed Oct 2026). Data-driven had already become the default for new conversion actions in 2021, when Google also removed the minimum data requirements that had kept smaller advertisers out of it (Google blog, September 27, 2021). So if your plan was to compare a first-click view against a last-click view inside Google's own tools, that option is gone.
The windows are short and they differ. Meta's default attribution setting is 7-day click and 1-day view, and 7 days is the longest click window available for optimization, with a 28-day click view only in the attribution comparison tool (Jon Loomer, Meta Ads attribution setting, updated March 1, 2025). If your sales cycle is four months, a 7-day window is not measuring your business. It is measuring the last week of it.
The identity layer thinned out. Apple's App Tracking Transparency landed in 2021, and three years on about half of iOS users consent (AppsFlyer, April 26, 2024). Platform numbers are increasingly modeled rather than observed, which is not a scandal, but it does mean they are estimates with confidence intervals nobody shows you.
The consequence of all three: if you add up what each platform claims, the total will exceed the number of customers you actually got. That is not a bug you can fix. It is the arithmetic of overlapping windows and modeled conversions, and planning around it is the job.
Step 1: build the ledger, before you choose any model
A model is a way of dividing credit across a journey. If the journey was never recorded, the model is dividing credit across a guess.
So the first layer is a ledger: one row per lead, written at the moment the form is submitted, carrying everything you will later wish you had.
Capture these as hidden fields on the form itself, populated by the page, and write them to the record in the CRM:
utm_source, utm_medium, utm_campaign, utm_content from the current visit
gclid and fbclid if present
the first page of the first visit this browser ever made, and its timestamp
the first referrer, if there was one
the page the form was on
the answer to one open question: how did you hear about us?
The two that people leave out are the first-visit fields and the open question, and they are the two that answer the hard questions later.
What goes wrong: trying to reconstruct the journey afterward from a dashboard. Cookies expire, sessions reset, a person browses on a phone and submits on a laptop, and three months later nobody can rebuild where a customer came from. Whatever is not captured at submit is gone. This is cheap to do and impossible to backfill, which makes it the first job in the stage, ahead of the model, ahead of the report, ahead of any channel work.
What also goes wrong: the UTM convention is left to whoever builds each ad, so you end up with facebook, Facebook, fb and meta in the same column. Write the convention on one page, lowercase everything at capture, and have one person own the list of valid values.
On the open question, use free text, not a dropdown. A dropdown teaches people the answer you are looking for and collects it. Free text gives you the sentence a customer used, which is worth more than the channel label, and it is the field that catches the channels you are not measuring at all: a podcast, a WhatsApp group, a colleague at their last company.
Step 2: pick the simplest model you can defend, and write down how it is wrong
For most companies under a few million in revenue, the operating model should be last non-direct click, and the reason is not that it is accurate. It is that it is reproducible by anyone, needs no modeling, and cannot be quietly changed in a settings menu.
Then write the bias down, in the same document, in plain words: this model over-credits whatever sits closest to the form, usually branded search and retargeting, and under-credits anything that creates demand without an immediate click, usually content, podcasts, events and word of mouth. Everyone who reads the number knows which direction it leans.
For a company with a sales cycle longer than about a month, split the use rather than the model: use first touch to decide where channel budget goes, and last touch to understand what closes. Both come out of the same ledger, which is why step 1 came first.
What goes wrong: running two models side by side as the operating number. Two numbers in the same report is the argument, reinstated with more work.
Step 3: reconcile monthly, and watch the ratio rather than the gap
Once a month, one table. One row per channel, four columns: what the platform claims, what the CRM recorded against that channel on your model, the ratio between them, and last month's ratio.
The value of the ratio is not interesting. A channel reporting 1.6 times what the CRM sees is normal and says nothing about whether the channel works. The movement is interesting. A channel whose ratio has been 1.6 for four months and is suddenly 2.4 has either had a tracking change, a creative change that drove view-through conversions, or a quality collapse where the clicks are no longer the kind of people your CRM calls leads.
What goes wrong: the table gets built as a league table and someone tries to make the ratios equal to 1. They cannot be. Windows overlap, platforms model, and some conversions genuinely happen without a click you can see.
Step 4: keep an incrementality test for the decisions that deserve one
Attribution tells you what to look at. It cannot tell you what would have happened anyway, and for the largest line in the budget that is the only question that matters.
The usable version for most companies is a geographic holdout.
Pick the geographies the channel serves. Split them into two groups matched on volume over the previous three months, not on population. Turn the channel off in one group, leave it running in the other, and measure total qualified leads per group from the CRM, not from the platform. Run it for one full sales cycle plus the attribution window, which for a three-month cycle means a test of about fourteen weeks.
If you are too small for geographic splits, the cruder version still works: turn one channel off entirely for two to three weeks and compare total qualified leads against the four weeks before, having first checked that the four weeks before were not unusual. It is a worse test, and it is far better than nothing, and most founders are surprised by the result at least once.
Set the trigger in advance so this does not become an annual argument: any channel that takes more than about a fifth of the acquisition budget gets one incrementality test a year, and any proposal to double a channel's budget gets one first.
What goes wrong: running the test for two weeks on a three-month sales cycle and concluding the channel does nothing. You have measured the top of the funnel going quiet, and the revenue effect has not arrived yet. Also: judging the holdout on platform-reported conversions, which will of course fall in the group where the platform is switched off.
Step 5: write the charter, and get two signatures on it
One page, six lines, dated.
The model we use for the operating number, and the direction it is wrong in.
The window, and the one place windows are compared.
Where the number lives: one report, one source, named.
What each team may use its own platform numbers for, which is optimization inside that platform, and not for budget arguments.
The monthly reconciliation ratio, who publishes it, and on which day.
What triggers an incrementality test.
Signed by whoever owns marketing and whoever owns sales. The signatures are the point. An attribution model without them is a preference, and a preference can be reopened in any meeting by anyone having a bad quarter.
What goes wrong: the charter is written by whoever runs marketing, alone, and circulated. It gets read as a defense of the marketing number, because that is what it is.
What does good look like?
A new lead's row in the CRM carries where it came from, captured at submit, in a vocabulary with no synonyms in it. One report that both teams open. A reconciliation ratio per channel with four months of history. One incrementality test a year on the largest channel. And a review meeting where somebody says the number is lower this month and the conversation moves straight to why, because nobody has anything to gain from disputing the method.
How I use it
With a Series A B2B SaaS company, paid spend had risen for three quarters while demo volume stayed flat, and every meeting about it turned into a dispute about the source field. Their CRM recorded a lead source and nothing after it, so the only honest answer to "which campaign produced this demo" was that nobody knew.
We did it in this order. First the ledger: hidden fields on the demo form, the first-visit page and timestamp included, plus an open "how did you hear about us" question under the email field. Then the model, which was last non-direct click, written down with its bias stated, signed by the founder and the person running sales. Then the monthly reconciliation.
The reconciliation is what paid. Three campaigns had been filling the calendar with people the sales team would not call back, and on the old lead-source field they looked like the best performers in the account because they produced the most form fills. With the ledger in place, their ratio of claimed conversions to qualified demos was roughly double everything else, consistently, for two months. We turned them off.
What I would do differently: I tried to introduce an incrementality test in the same quarter, and it was too much change at once. The ledger and the charter are enough for the first quarter. The holdout can wait until people trust the report. The rest of that story, including the thing we tried first that did nothing, is in 2.4x the qualified demos on the same budget, and the habit of checking how a number is collected before trusting it is the one I took from working with Branch's customers on the measurement behind their campaigns.
Takeaways
Put the hidden fields on your forms this week: UTMs, click IDs, the first-visit page and timestamp, and one open question about how they heard of you. It cannot be backfilled.
Choose last non-direct click as the operating number, write down the direction it is wrong in, and get two signatures on the page.
Build the monthly reconciliation table and watch each channel's ratio move, not its value.
Related
Up to the stage
More from this stage
Questions
What attribution model should a startup use?
Last non-direct click for the operating number, with its bias written down, and first touch alongside it for channel budget decisions if the sales cycle is longer than a month. Simplicity matters more than accuracy, because the model's job is to end an argument.
Why do Meta and Google report more conversions than my CRM?
Do you need an attribution tool?
Sources
Google Ads Help, First click, linear, time decay and position-based attribution models are going away, accessed Oct 2026: removed for new conversion actions from June 2023, switched automatically in September 2023; data-driven, last click and external remain.
Google, Data-driven attribution is becoming the default, September 27, 2021: default for new conversion actions, data requirements removed.
Jon Loomer, Meta Ads attribution setting: a complete guide, updated March 1, 2025: default 7-day click and 1-day view; 7 days the maximum click window.
AppsFlyer, ATT data findings, April 26, 2024: about 50% of iOS users consent to tracking.