How does ad attribution work?
Ad attribution ties a sale back to an ad. A click ID, cookie or pixel marks the visit, and the purchase fires a conversion event. The platform credits its ad if the sale falls inside its window. Each platform does this on its own data, so totals rarely agree.
By Joris van Huët, Founder & CEOUpdated 7 min read
Ad attribution usually works in four moves. The ad leaves a mark, such as a click ID or a cookie. Your store fires a purchase event. The platform matches the two if the sale falls inside its window. Then a model decides how much credit each ad gets. Every platform runs this on its own data.
What one store's data shows
The usual answer says attribution shows which ad made the sale. One store's export shows something narrower: the marks GA4 managed to match, and nothing it missed.
One store's anonymised GA4 export, 1 January 2024 to 21 August 2026. It holds shares of revenue only: no ad spend, no order counts.
| What the export shows | Share of revenue | Source cell |
|---|---|---|
| Paid Social, in last click, first click and touched views | 0.0% | Channels sheet, Paid Social row |
| Organic Video, in all three views | 0.0% | Channels sheet, Organic Video row |
| Journeys with 2 to 3 touches (12.5 days to buy) | 12.2% | Journeys sheet, 2-3 touches row |
| All channels added up in the touched view | 110.4% | Channels sheet, Touched column total |
Start with the empty rows. On the Channels sheet, Paid Social and Organic Video hold 0.0% of revenue in all three views. GA4 sorts a visit into a channel from what arrives with it: a click ID, UTM tags or a referring site. So either the store ran no such traffic, or those visits arrived without a usable mark and were filed elsewhere. The export cannot say which.
A platform's own report reads its own records, not this file. Meta's help says it may credit a purchase to an ad the person saw but never clicked. So if this store did run Meta ads, Ads Manager could show purchases that the export never ties to Paid Social.
Then the longer journeys. On the Journeys sheet, journeys of 2 to 3 touches hold 12.2% of revenue and show 12.5 days to buy. To join those touches into one path, GA4 had to recognise the buyer each time. It does that by browser, by device, or by a user ID the store sends. A click on a phone and a purchase on a laptop can look like two people.
Windows matter on paths that long. If a Meta link click opened a journey like that, a 7-day click setting would stop counting it before the purchase. Google Ads, on its default 30-day click window, would still count a click of its own.
Last, the counting. The touched view on the Channels sheet adds up to 110.4%, because a journey that touched two channels counts in full for both. Ad platforms count the same way, each on its own. Every platform whose ad sat inside its window can claim the whole sale, and none subtracts what the others claimed.
What the export cannot show is any ad seen and not clicked, any spend, or any order count. It holds revenue shares for paths GA4 recorded. It shows where matched journeys passed, not what an ad caused.
What happens between the click and the credit?
Each platform runs the same four steps, with its own settings.
- The mark. Google Ads auto-tagging adds a parameter called GCLID to the landing URL. With a GA4 tag on the site, the ID is kept in a cookie on your domain. Google's auto-tagging help warns that a site with redirects must pass it to the final landing page.
- The event. When the buyer pays, a tag reports the purchase. Google's help puts it plainly: a temporary cookie is set after the ad interaction, and the tag recognises it at the conversion. Meta takes the same event from its pixel, or from your server through the Conversions API.
- The window. A platform only counts sales within a set time after its ad. Google Ads defaults to 30 days after a click, 3 days after an engaged view and 1 day after an impression. Meta counts 1 or 7 days after a link click and 1 day after an impression.
- The model. A rule then splits the credit among the ads inside that window. Google Ads offers last click and data-driven, and data-driven is its default for most conversion actions. Meta offers standard or incremental attribution.
One more detail moves the dates. Google Ads books a conversion on the day of the click, not the day of the sale. A click last week and a purchase this week both land in last week's numbers.
None of this is shared between platforms. Shopify's help gives the plain case. A shopper who clicks your email and your Google Shopping ad can be recorded as a conversion by each. Shopify's own marketing report gives that sale only to the most recent ad click within 30 days.
Does the ad that gets the credit cause the sale?
Not necessarily. Attribution records which ads sat near a sale. It does not test whether the sale needed them.
Meta's announcement of 3 March 2026 frames the real question: what outcomes did an ad cause that would not have happened otherwise? Its answer is an incrementality experiment, such as Conversion Lift. Meta's announcement calls tests like these the gold standard.
Google's data-driven model leans the same way. Its help says the model compares users who saw an ad with similar users in a holdback group. It still shares out credit only among touches Google recorded.
Meta's incremental attribution model predicts whether a conversion was caused by an ad. That is still Meta's model, run on Meta's data. A holdout you run yourself, with ads off in some regions, answers the question in your own orders. That is what incrementality testing is for.
What to do this week
- Check that your marks survive the trip. Click one of your Google Ads ads, as Google's help suggests for a test. Then click one of your Meta ads, and let each page finish loading. Pass: the final URL still carries gclid or your utm_ parameters. Fail: they vanish after a redirect, so neither GA4 nor the platform can match the visit.
- Write each tool's window and model in one note. Google Ads: Goals > Conversions > Summary > your purchase action > Edit settings. GA4: Admin > Data display > Events > Attribution settings. Meta: Ads Manager > Columns: Performance > Compare attribution settings. Pass: three rows, one per tool. Fail: you are comparing numbers whose rules you have not read.
- Set last month's claimed purchases against your Shopify orders. Add Google Ads conversions to Meta purchases for the same dates, then compare the sum with Shopify's order count. Pass: the sum stays near your orders. Fail: it runs well above them, so platforms claim the same sales, and budgets should follow orders, not claims.
Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework
Sources, 1 October 2026: About auto-tagging (Google); About conversion measurement (Google); About conversion windows (Google); About attribution models (Google); Understand your conversion tracking data (Google); Get started with attribution (Google); Scopes of traffic-source dimensions (Google); About attribution models and attribution settings (Meta); About conversion count differences between Meta Ads Reporting and third-party reporting tools (Meta); Simplifying Ad Measurement for a Social-First World (Meta); About Conversions API (Meta); Handling Duplicate Pixel and Conversions API Events (Meta); Measuring marketing performance (Shopify)
Related answers
Frequently asked questions
What is a click ID in ad attribution?
It is a code the ad platform adds to the landing URL when someone clicks. Google Ads auto-tagging adds a parameter called GCLID, and GA4 keeps it in a cookie on your domain. A later purchase can then be matched back to that click.Can an ad get credit when the buyer switches devices?
Sometimes. Google Ads reports cross-device conversions with models built on people signed in to Google services. GA4 can join devices when you send a user ID. Meta has its own cross-device reports. Without those, a phone click and a laptop purchase look unrelated.Does the Conversions API change how attribution works?
It changes how the purchase reaches Meta, not the rules. Meta says server events are less affected by ad blockers and browser errors than the pixel, so more purchases can be matched. Windows and models stay the same. If you send both, reuse one event_id so Meta drops the duplicate.
Go deeper: Incrementality testing, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- AttributionAttribution identifies user actions that contribute to a desired outcome and assigns value to each. It reveals which marketing touchpoints drive conversions.
- Attribution ModelAn Attribution Model defines how credit for conversions is assigned to marketing touchpoints. It dictates how marketing channels receive credit for sales.
- ConversionConversion is a specific, desired action a user takes in response to a marketing message, such as a purchase or a sign-up.
- Google ShoppingGoogle Shopping is a Google service allowing users to search for products and compare prices from online retailers.
- IncrementalityIncrementality measures the true causal impact of a marketing campaign. It quantifies the additional conversions or revenue directly from that activity.
- Incrementality TestingIncrementality Testing measures the additional impact of a marketing campaign. It compares exposed and control groups to determine causal effect.
- Landing PageLanding Page: A single web page that appears after clicking a search result, marketing promotion, email, or online advertisement.
- Marketing AttributionMarketing attribution assigns credit to marketing touchpoints that contribute to a conversion or sale. Causal inference enhances attribution models by identifying true cause-effect relationships.