Measurement

Marketing attribution models, explained

Six ways to split the credit, the three GA4 still offers, and the reason Meta, Google Ads and GA4 will never show the same purchase count. With the reconciliation you can run on your own numbers.

By Daria Dovzhikova · September 2026

The short version

  • An attribution model decides who gets credit. It does not decide what happened. Fix the inputs before you argue about the model.
  • GA4 has three models left: data-driven, paid and organic last click, Google paid channels last click. The rule-based multi-touch models were removed in November 2023.
  • Meta and Google Ads count their own touches with their own windows. GA4 counts each purchase once and assigns one channel. The sum of platform claims will always exceed real orders.
  • Report orders from the store, then each platform's claim, then GA4's split. The gap between them is the finding, not an error to hide.

What an attribution model actually does

A buyer reads a comparison page from a search, sees a retargeting ad twice, gets a newsletter, and books a call from a branded search a week later. One key event, four touches. Attribution is the rule for splitting that one key event across the four. Google's definition is the plain one: a rule, a set of rules, or a data-driven algorithm that determines how credit is assigned to touchpoints along a user's path.

Two things follow. The model never changes the number of key events, only who gets them. And the model can only credit touches the tag saw. A touch that arrived with no referrer, a click that lost its click ID in a redirect, a purchase the pixel never fired on: no model can credit those, because as far as the data is concerned they did not happen. Most attribution arguments I get pulled into are really tracking arguments wearing an attribution costume.

The six models

Six marketing attribution models compared on how credit is assigned, strengths, weaknesses and when to use each.
ModelCredit goes toGoodBadUse it for
Last click100% to the last touch before the key event.Cheap to compute, easy to explain, the default in most ad platforms.Ignores everything that created the demand. Rewards branded search and retargeting.Reconciling with what the ad platforms claim. Not for budget decisions.
First click100% to the first touch.Shows which channels start journeys.Ignores everything that closed the deal. Needs a long enough lookback to see the first touch at all.Answering "where do new buyers come from" for top-of-funnel spend.
LinearEqual share to every touch.Nothing is ignored.Treats a stray retargeting impression the same as the demo request. Flatters channels that show up often.A first look at a multi-touch path when you have no better model yet.
Time decayMore to touches close to the key event, less to older ones.Fits long B2B cycles where the recent touches did the closing.Still undervalues the touch that created the demand months ago.Long sales cycles with a real closing sequence.
Position-basedA large share to first and last touch, the rest split across the middle.Honours both the opener and the closer.The split is a rule someone picked, not a measurement.Teams that want first and last visible and can live with an arbitrary middle.
Data-drivenA model assigns credit from converting and non-converting paths.Learns from your data instead of applying a rule. GA4's default in reports.A black box. Needs enough paths to train on, and it reads only what your tag lets it see.Reporting inside GA4 and Google Ads, once your tracking is trustworthy.

The rule-based multi-touch models (first click, linear, time decay, position-based) are the ones people mean when they say "multi-touch attribution". They are also the ones GA4 no longer offers. If you want them, you are looking at the raw export or a separate tool.

What GA4 still offers

GA4's attribution reports give you three models. Data-driven attribution distributes credit for the key event based on data for each key event. Paid and organic last click assigns 100% of the key event value to the last channel the customer clicked through before converting. Google paid channels last click assigns 100% to the last Google Ads channel. Google removed first click, linear, time decay and position-based in November 2023, and says so on the settings page.

What data-driven attribution needs. Google describes the model as evaluating converting and non-converting paths, using factors such as time from key event, device type, number of ad interactions, the order of ad exposure, and the type of creative. Depending on data availability, it may leverage aggregate data from Data sharing settings. Read that last sentence carefully: when your own paths are thin, the model borrows. That is fine for a report and unhelpful for a decision about your budget.

The lookback window. For acquisition key events the default is 30 days, switchable to 7. For all other key events the default is 90 days, with 30 or 60 as options. The window decides which touches exist at all before any model runs. A team that shortens the window to 30 days and then wonders why organic search lost credit has answered its own question.

Key events, not conversions. GA4 calls the thing being attributed a key event. Google Ads calls its own version a conversion, and can import GA4 key events as conversions if the accounts are linked and auto-tagging is on. Same action, two names, two counting systems. Keep the vocabulary straight and half the confusion goes away.

Why the platforms and GA4 disagree

A media buyer on r/PPC asked the question the way everyone eventually asks it: "Meta is reporting 22 purchases and Google Ads 45, but in GA4 I only see 6 purchases from Meta and 39 from Google, so 45 purchases in total instead of 67." They could not go to the client with 67. Here is what each row is counting.

Reconciliation of purchase counts reported by Meta Ads Manager, Google Ads and GA4 for the same period, with the counting rule behind each number.
ReportPurchasesWhat it is counting
Meta Ads Manager22Counts a purchase for anyone who clicked or, depending on the attribution setting, viewed a Meta ad within its window. Its own window, its own identity graph.
Google Ads45Counts a purchase for anyone who clicked a Google ad within the conversion window. Its own window, its own click ID.
GA4, Meta as last click6Only sessions whose last click came from Meta and carried a referrer or tagged URL. Views never count. App and in-app browser clicks often arrive as Direct.
GA4, Google Ads as last click39Only sessions whose last click was a Google ad. Auto-tagging carries the click ID, so most of these survive.
GA4 total45Each purchase counted once, then assigned to one channel. Meta 22 plus Google 45 is 67 because both platforms claimed the same buyers.

Three mechanics produce the gap. The platforms use their own windows and can both claim one buyer, so 22 plus 45 overshoots. Meta can credit a view, GA4 never does, so Meta's 22 shrinks hard on the GA4 side. And GA4 sees Meta traffic only when the referrer or the tagged URL survives the trip; clicks from inside the Facebook or Instagram app frequently arrive as Direct. Google's 45 survives better because auto-tagging carries a click ID in the URL.

None of this is a bug. The platforms answer "did we touch someone who later bought". GA4 answers "which last click sent the session that bought". The report to the client is the store's order count first, each platform's claim beside it, GA4's split beside that, and one sentence explaining the overlap. If the store says 45 and the platforms say 67, the 22 of daylight is the overlap, and the overlap is the finding.

Which model for which decision

Reconciling with the ad platforms: last click. It is the closest thing to what Meta and Google Ads compute, so it is the view where the platform numbers and yours can be compared at all.

Deciding where new demand starts: first click, over a lookback long enough to catch it. If GA4 cannot give you first click, the landing page of the first session, stored in your own cookie and written into the CRM, is the same information without the model.

Reporting inside Google's tools: data-driven. It is the default, it is what Google Ads bidding already uses, and fighting it inside those tools gains nothing. Treat it as a report, not as the truth about your budget.

Deciding budget between channels: no attribution model at all. Attribution reads correlation off a path. A budget decision needs an increment: what happens to orders when a channel is turned down or off. A geo holdout, a spend pause, or a matched-market test answers that. Attribution will not, however many touches you weight.

When multi-touch attribution software is worth it

A multi-touch attribution tool does one thing GA4 cannot: it joins ad clicks, sessions, form fills, CRM stages and closed revenue into one path per account, and then applies the models GA4 dropped. For a B2B team with a six-month cycle and a CRM that records stages, that join is real value. For an e-commerce store with a checkout and two ad platforms, it is usually a more expensive way to look at the same last-click gap.

Whichever side you are on, the tool reads the same inputs GA4 reads. A pixel that fires twice on the thank-you page inflates every model the tool offers. A consent banner that blocks the tag for half the visitors starves every model equally. A form that drops the click ID in a redirect makes those buyers Direct in the tool and in GA4 alike. Run the Attribution Leak Calculator with last month's spend, reported purchases and actual orders. If the gap is large, close it before you buy anything that sits on top of it.

The two places I look first are the Meta pixel and Conversions API setup (duplicate events, missing customer parameters) and, for stores, the Shopify conversion tracking layer. Those two account for most of the gap I have measured, and fixing them changes the numbers in every model at once. When the inputs are clean and the argument is still about the model, that is a measurement job, not a model choice: match rate and attributed revenue measured before, the fixes, the same read after. It is the week-one baseline of the Growth Pilot.

Questions

What is a marketing attribution model?

A rule, or a learned model, that decides how much credit each marketing touch gets for a key event such as a purchase or a booked call. Last click gives all of it to the final touch. Data-driven attribution splits it based on which touches appear in converting paths more than in non-converting ones. The model does not change what happened; it changes which channel gets the number.

Which attribution models does GA4 still have?

Three, in the Attribution reports: data-driven, paid and organic last click, and Google paid channels last click. Google removed first click, linear, time decay and position-based from GA4 in November 2023. If you want those views you need the raw event export or a separate tool.

What does GA4's data-driven attribution need?

Google says the model evaluates both converting and non-converting paths and uses factors such as time from the key event, device type, number of ad interactions, the order of exposure and the creative type. It also says the model may lean on aggregate data from Data sharing settings depending on data availability. In practice it needs a tag that sees the touches, a key event that is defined, and enough volume for the paths to mean anything.

Why do Meta, Google Ads and GA4 report different numbers?

Each platform counts with its own rules: its own attribution window, its own identity, its own definition of a touch. Meta can count a view; GA4 never can. Both ad platforms can claim the same buyer; GA4 assigns each purchase to one channel. The platforms are answering "did we touch someone who later bought". GA4 is answering "which last click sent the session that bought". Different questions, different numbers.

Which number do I report to the client?

The order count from the store or the CRM, then each platform's claim next to it, then the GA4 split. Never the sum of platform claims. Twenty-two plus forty-five is sixty-seven, and the store shows forty-five orders. The gap is the overlap, and the overlap is the finding.

What is the lookback window and does it change the model?

The lookback window is how far back GA4 looks for touches to credit. For acquisition key events the default is 30 days, switchable to 7. For all other key events the default is 90 days, with 30 and 60 as options. A shorter window means fewer touches to credit, so older channels lose credit no matter which model you pick.

Is multi-touch attribution software worth it?

Only after the inputs are clean. A tool can join ad clicks, sessions, CRM stages and revenue into one path, which GA4 cannot do on its own. It cannot fix a pixel that fires twice, a consent banner that blocks half the tags, or a form that drops the click ID. If the Attribution Leak Calculator shows a large gap between reported and real, close that gap first. The tool comes after.

What is the fastest way to see if my attribution is broken?

Take the same seven days. Pull purchases from Meta, purchases from Google Ads, purchases from GA4 by channel, and orders from the store. If the platform claims add up to more than the orders, they overlap or double count. If GA4 shows far fewer for one platform than that platform claims, the referrer or the tag is being lost on the way in. Both are tracking problems, not model problems.

Platforms say 67, the store says 45?

Thirty minutes to find which direction the gap runs and what is causing it.

Book a 30-minute call