Guide · Updated · 38 min read

Marketing attribution: the complete guide for 2026

The models, the windows, why your numbers never match, what changed this year, and the nine links every attribution result depends on.

The short answer

Marketing attribution decides which ad, channel or campaign gets credit for a sale. Every platform does it with its own rules and windows, which is why Meta, Google, GA4 and Shopify never agree. Attribution is only as good as the chain behind it: the click you kept, the visits you filtered, the sale you matched, and whether the ad platform was told. Reporting tools read the result. Fixing the chain changes it.

DataCops is the tracking solution for ad-funded businesses: it keeps the click, filters junk visits, matches the sale and sends it back to Meta, Google Ads, TikTok and LinkedIn, so your ads learn from real outcomes and not just from what a browser managed to report.

How DataCops covers the attribution chain:

  • It keeps the click. One script and one DNS record collect on your own domain. Click IDs (gclid, wbraid, gbraid, fbclid, ttclid, li_fat_id) stay on the server for up to 90 days, and a signed server-set cookie lasts up to 400 days where enabled.
  • It checks the visit. Every visit gets a bot verdict against an IP database covering 360+ billion IPs, with a Real people only switch per ad platform (off by default), and form emails are checked.
  • It matches the sale. By click ID, or by hashed email and phone, from Shopify orders, HighLevel, any CRM by webhook, or a CSV.
  • It sends the sale back. To Meta, Google Ads, TikTok and LinkedIn, counted once against the pixel, with every send in a delivery log.
  • It sends the stages that happen later. Booked, showed, won and paid, so the ad platform learns who becomes a customer.
  • Ads Warmup. Upload past customers (only email is required, up to 20,000 rows), see a 0 to 10 match score, and send them to Meta, Google Ads and TikTok so a new campaign starts with real buyers.

Best for: stores and lead-gen businesses that want the ad platforms themselves to learn from real sales. It is not a reporting dashboard.

This is the complete guide to marketing attribution as it works in 2026. It explains the models, the windows on every ad platform, why your numbers disagree, what changed this year, and then walks the chain that every attribution result depends on, link by link. Each section links to a deeper guide. If you only have a few minutes, read the short answer, which number to trust, and where to start this week.

What is marketing attribution?

Marketing attribution is the practice of deciding which marketing touch, usually an ad, gets credit for a conversion such as a purchase, a booked call or a signed contract. It exists because buyers rarely act on the first thing they see. A person might watch a video ad, search your brand a week later, click a Google ad, and buy after an email. Attribution is the rule that decides who earns the credit.

It matters for two reasons that are easy to confuse. The first is reporting: deciding where to put next month's budget. The second is learning: ad platforms like Meta and Google optimise by watching which clicks led to conversions, so what they credit shapes who they show your ads to next. A wrong credit is not just a wrong chart. It trains the platform on the wrong people.

Keep those two jobs separate as you read. A dashboard helps with the first. The second depends on what the ad platform is actually told, which is the part most teams never check.

Attribution tells you who got the credit. What the ad platform learns depends on what it was sent.

What are the attribution models?

A model is the rule for splitting credit across the touches in a journey. These are the ones you will meet.

ModelHow it gives creditUseful forWeak spot
First clickAll credit to the first touchFinding which channels start journeysIgnores everything that closed the sale
Last clickAll credit to the final clickSimple, matches how many platforms bidUndervalues discovery and nurture
LinearEqual credit to every touchA fair first look at long journeysTreats a passing view like the deciding click
Time decayMore credit to touches nearer the saleShort buying cyclesUndervalues early awareness
Position-based40% first, 40% last, 20% spread across the middle (a common setup)Journeys where start and finish both matterThe split is a guess you set
Data-drivenCredit spread using your own past conversion pathsAccounts with enough dataNeeds volume, and you cannot see inside it

Platforms have been narrowing the choices. Google Ads now supports two models, last click and data-driven. Its own help page says first click, linear, time decay and position-based are no longer supported, and that conversion actions that used them were moved to data-driven. GA4 reports on a similar short list. Meta does not use these models at all. It credits a conversion to an ad inside a window, and shows you the result by click, engage and view.

What this means in practice: you rarely choose a model any more. You choose a window, and then you decide which tool you trust to compare channels.

What is an attribution window?

An attribution window is how long after a click or view a conversion can still be credited to that ad. If your window is seven days and someone buys on day eight, the ad gets no credit, even if it started the journey.

Windows are the most common silent error in attribution. A short window against a long sales cycle quietly drops real sales from your reports, and the ad platform never learns they were yours. Three rules cover most of it:

  • Set the window longer than your normal time to buy, not shorter.
  • Never compare two platforms with different windows and call it a result.
  • For sales that close later in a CRM, the upload window decides whether the platform can still be told. Google accepts a click ID import within 90 days of the click, and 63 days for enhanced conversions for leads. Meta rejects events older than 7 days. LinkedIn accepts up to 90 days.

More on the platform rules is in attribution windows on every ad platform.

The windows on every ad platform

PlatformDefaultWhat you can changeWorth knowing
Meta7-day click (link clicks), 1-day engage-through, 1-day view, per coverage of the 2026 changesChoose per ad set; 7- and 28-day view-through stopped being returned in January 2026; incremental attribution is a separate ad set optionCheck what your ad sets actually show
Google Ads30-day click, 1-day view, 3-day engaged-view (Google's help page)Click up to 90 days (by source), view 1 to 30 days, engaged-view 1 to 30 daysClick ID import for offline sales: within 90 days
TikTok7-day click, 1-day viewClick 1, 7, 14 or 28 days; view off, 1 or 7 daysIn-app actions default longer
LinkedIn30-day click, 7-day view (API defaults)1, 7, 30 or 90 days; 365 for some types by Conversions API or CSVCheck each conversion rule
GA4Data-driven by default; 30-day lookback for acquisition events, 90 for others (defaults)Adjustable per propertyPer-conversion settings added in 2026

Sources: Google Ads Help for Google's windows, TikTok's help centre for its defaults, and LinkedIn's Conversions API reference and help centre for LinkedIn. Meta's defaults come from coverage of its 2026 changes, so check the setting shown in your own ad sets.

Why do Meta, Google, GA4 and Shopify never match?

Because each one is answering a different question, with different rules, on different data. None of them is lying, and none of them is the truth.

  1. Different credit rules. Meta credits an ad inside its window, including views. Google credits by its own models. GA4 uses its own, and Shopify uses its own again.
  2. Different dates. Google Ads credits the date of the click. GA4 and Shopify credit the date of the purchase. Time zones add more drift.
  3. Different visibility. The browser pixel misses sales blocked by blockers, consent banners or a closed tab. A platform with server-side data sees more.
  4. No cross-platform deduplication. Meta counts a sale, Google counts the same sale, and your email tool counts it too. Each credits itself.
  5. Lag. Reports keep changing for days after a sale. Compare windows that have closed.
  6. Orders that were never clicks. Admin, POS, draft and subscription orders sit in Shopify's total but can never match an ad click.

A gap of 20 to 50% between Meta and Shopify is common; that range comes from practitioner reports, not from Meta. The useful questions are whether the gap is stable, and whether it suddenly moves. A sudden change usually means a broken install or a consent problem. We go through it in Meta, GA4 or Shopify: which number to trust, and for stores in Meta shows fewer purchases than Shopify.

What changed in attribution in 2026?

More than in any recent year. If your numbers moved this year without a change in your ads, one of these is a likely reason. The Meta and GA4 items come from coverage of the changes; the Google items are on Google's own help pages.

WhenWhat changedWhat it means
Oct 2025 to Jan 2026Meta removes the 7-day and 28-day view-through windows from the Ads Insights API (from 12 January 2026)Reports that relied on them show lower numbers
Mar 2026Meta redefines click-through as link clicks only; shares, saves and likes move to engage-through; the video engaged-view threshold drops from 10 to 5 secondsClick-through counts can fall with no real change in performance
Apr 2026Google merges enhanced conversions for web and for leads into one setting (per secondary coverage)Fewer implementation choices to make
15 Jun 2026Google moves offline conversion import and enhanced conversions for leads uploads to the Data Manager API and blocks new adopters in the Google Ads APITools and agencies that upload sales must use the new route
Jan 2026GA4 adds per-conversion attribution settings (per secondary coverage)Closer alignment with Google Ads is possible

Two takeaways. First, a falling click-through count after March is a reclassification, not a performance drop, so do not cut campaigns on that alone. Second, Google's move to the Data Manager API matters if you upload sales from a CRM or a tool: the old route is closed to new users and existing tools are expected to move. Ask any tool you use for offline sales which route it uses. Details in Meta attribution in 2026 and Google Ads attribution in 2026.

The attribution chain, link by link

Every attribution result depends on the same nine links. If one breaks, every model and every dashboard downstream inherits the break. Most "attribution problems" are not model problems. They are a broken link nobody checked.

LinkThe questionWhat DataCops doesWhat breaks
1. CaptureWhere did the click go?Collection on your own domain; click ID kept 90 days; server-set cookie up to 400 days where enabledSafari, blockers, redirects, express checkout
2. FilterWas that a real person?A bot verdict on every visit; Real people only per platform (off by default); email checkBots that look like your best channel
3. MatchWhose sale is it?Click ID, hashed email and phoneA sale the platform cannot tie to a person
4. SendDoes the platform know?Server-side to Meta, Google Ads, TikTok and LinkedIn, counted oncePixel-only reporting, double counting
5. StagesWhat happened after the form?Booked, showed, won, paid from HighLevel, webhook or CSVThe sale that closes weeks later
6. RestrictedWhat if the platform cannot see it?Health mode: neutral events, nothing about the conditionHealth and wellness restrictions
7. ConsentWhat did the visitor allow?TCF 2.2 consent manager; Consent Mode v2 on by defaultLost or unlawful signals
8. NumbersWhich number is true?First-party analytics from the same scriptMeta, GA4 and Shopify disagreeing
9. ProofWhat was actually sent?A delivery log: sent, held, skipped or failed, with the reasonNot knowing why a sale is missing

The rest of this guide takes the links in order. You can fix them in any order, but you cannot skip one and trust the result.

1. Capture the click

Attribution starts with remembering where a visitor came from. The ad click carries an identifier: gclid, wbraid or gbraid for Google, fbclid for Meta, ttclid for TikTok, li_fat_id for LinkedIn. If your site does not store it, the platform cannot be told which click led to the sale.

The click is lost in predictable places. A redirect drops the parameter. An embedded form never passes it on. Safari clears cookies set by browser scripts after seven days, per WebKit, so a buyer who clicks on Monday and buys two weeks later has nothing left to match. An express checkout like Shop Pay can leave your pages for a moment. And an ad blocker stops the script before it stores anything.

The fix is to capture on your own domain, and to keep the click somewhere durable: on the server, not only in the browser. DataCops collects on your own domain with one script and one DNS record, keeps click IDs on the server for up to 90 days, and sets a signed first-party cookie from the server that lasts up to 400 days where enabled. With your DNS on Cloudflare, an optional free Worker reads the click at the edge before the page loads. It captures; it does not block.

Read more: Safari and iPhone shoppers and how to keep gclid and fbclid.

2. Filter the visit

Attribution assumes the visit was a person. It often was not. Bot sessions add to cart, start checkouts and submit forms, and each one looks like a real touch. They inflate the channel that sent them and teach the ad platform to find more traffic like it.

This is the link people forget, because a dashboard cannot see it. It records the visit and credits the channel. It does not ask whether a person was there.

DataCops gives every visit a bot verdict against an IP database covering 360+ billion IPs and 350+ monitoring points. A Real people only switch, set per ad platform and off by default, keeps flagged visits out of what that platform learns from. Form emails are also checked for disposable domains and missing mail records. See bots in your Shopify ad data.

3. Match the sale

When a sale happens, the platform has to tie it to a person it showed an ad. It does that with identifiers: the click ID, and hashed contact details such as email and phone. Hashing turns an address into a fixed string, so the real address does not travel in the clear, and the platform compares it with its own records.

A sale sent without a click ID or a customer match is easy to lose. Meta even scores this: event match quality only exists for Conversions API events, and a pixel-only purchase gets no score at all.

Match quality improves when you send more of the right fields: hashed email, hashed phone, the click ID, and a browser ID, in the format the platform expects. In a lead-gen business the match happens in your CRM, so the click ID has to travel with the contact. Read match quality for sensitive advertisers and the offline conversions guide.

4. Send it back

This is where attribution stops being a report and starts changing your ads. A platform can only optimise on what it is told. If the sale never reaches it, the platform keeps spending toward whatever it can see, which is clicks and form fills.

The Conversions API sends the sale from your server, so a blocker or a closed tab cannot stop it. When you also run the browser pixel, give both copies the same event name and event ID, so the platform keeps one and discards the duplicate. Without that, one sale counts twice and your results look twice as good as they are.

Many attribution tools now send conversions back too. Hyros documents sending to Meta through the Conversions API and to Google through offline conversions. Triple Whale's Sonar sends enriched events to several platforms, and Cometly describes a conversion sync. So the question is no longer whether a tool sends. It is what it sends, to which platforms, whether bots are filtered first, and whether you can see each send. Our guide attribution tool or Conversions API goes through it.

5. The stages after the form

For most businesses the money does not arrive at the form. A lead becomes a booking, then a showed appointment, then a won deal, then a paid invoice, sometimes weeks later in a CRM. The ad platform sees only the form fill unless something tells it more.

The result is familiar: campaigns that look cheap per lead and produce leads that never buy. The platform optimised for the thing it could see.

Sending the later stages back fixes that. DataCops sends HighLevel stages natively (lead, booked, showed, won with value, paid), and any other CRM by a private webhook or a CSV, matched by click ID or hashed email and phone. Cancelled, no-show and lost are never sent. The clock matters: Google takes a click ID import within 90 days of the click, Meta rejects events older than 7 days, LinkedIn takes up to 90. Read which ad brought the closed deal and offline conversion tracking.

6. When Meta cannot see the sale

Some businesses cannot send Meta the standard events at all. Under Meta's health and wellness restrictions, a restricted site can lose Purchase and Lead, and at the worst level every event. Attribution does not disappear. It moves to your own data.

Health mode sends a neutral event with a clean payload where Meta still accepts one, and the stored click ID lets you count Meta-sourced orders yourself where it does not. We wrote the whole story of a store this happened to in Meta restricted a health store.

In places where consent is required, what you may measure depends on what the visitor allowed. Google's Consent Mode lets tags adjust their behaviour based on that choice, and Google can model some conversions it cannot observe. In DataCops, the banner is a first-party consent manager on IAB TCF v2.2, with Consent Mode v2 on by default. Consent applies in the EU, EEA, UK and Switzerland. If you do business there, expect part of your attribution to be modelled, not observed, and keep the banner honest.

8. Which number to trust

Use each source for the job it is good at. Take total sales and orders from your store or CRM. It is the closest thing to ground truth. Take overall efficiency from a blended number such as marketing efficiency ratio (revenue divided by total ad spend), which does not depend on any platform's credit rules. Use Meta's numbers to compare ads and audiences against each other, because the same rules apply to all of them, but not for absolute totals. Use GA4 for behaviour on your site. Do not ask any of them to match another.

DataCops adds first-party analytics from the same script, a GA4 alternative that sees the visits blockers hide. Read which number to trust.

9. Prove what was sent

The last link is the one that ends arguments. When a sale is missing from Ads Manager, you need to know whether it was never sent, sent and held, sent and rejected, or sent and still processing. Without that, you are guessing, and platform support will not guess for you.

A delivery log records each send as sent, held, skipped or failed, with the reason. It is the record that turns "attribution is broken" into "this sale was held because the click was outside the window". It is also the evidence you want in front of a platform reviewer.

Attribution for online stores, lead gen and B2B

The chain is the same. What matters most is different.

BusinessBuying pathWhat attribution needsGo deeper
Online storeCheckout, often same dayPaid order with value, express checkouts, refunds, the click through SafariShopify tracking guide
Lead gen and servicesForm now, sale in days or weeksClick ID on the lead, stages from the CRM, fake leads outOffline conversions
B2B and SaaSDemo, trial, contract, monthsA long window, account-level matching, stage valuesB2B SaaS
Clinics and healthBooking, then treatmentNeutral events, no condition in the dataHealth restrictions
Phone-led salesA call decides itThe click ID on the contact, the call outcome as a stagePhone calls

An online store lives or dies on the first four links, because the sale is the checkout. A lead-gen business lives on links 3 to 5, because the sale happens somewhere else. A clinic needs link 6 before anything else. Start where your business breaks.

Attribution, incrementality and marketing mix modelling

Attribution is one of three ways to ask what your marketing did, and they answer different questions.

  • Attribution follows individual people and assigns credit to what happened. It needs the click and the sale to be connected. It cannot tell you what would have happened anyway.
  • Incrementality testing compares a group that saw your ads with a comparable group that did not, often by region, to estimate what the ads caused. It answers "would they have bought anyway?" It needs volume and time. Meta and Google both offer conversion lift tests.
  • Marketing mix modelling uses aggregate spend and sales over time to estimate each channel's contribution, with no per-person tracking. It suits large budgets and offline media, and usually needs an analyst.

They are not rivals. Teams with big budgets use all three and compare. Teams without often start with attribution and a simple test. The thing they share is that every one of them depends on clean inputs: a sale recorded once, a channel recorded correctly, and bots out. See incrementality, marketing mix modelling or attribution.

Which tool does what?

The market splits by job. Each row describes what the type does, and where it stops.

TypeWhat it doesBest forLimit
Ad platform reports (Meta, Google, TikTok, LinkedIn)Credit by their own rules, inside their own windowComparing ads against each otherThey grade their own work and overstate across platforms
GA4 and web analyticsSessions and paths on your site, by its own rulesSite behaviour and funnelsMisses blocked and non-consented events
Attribution dashboards (for example Hyros, Triple Whale, Northbeam, Cometly)Stitch journeys and report revenue by channel; several also send conversions back to ad platformsCross-channel budget decisionsCost and setup vary; read what each sends and to where
Call tracking (for example CallRail, WhatConverts)Tie a phone call to a sourcePhone-led businessesThe call is only one stage
Post-purchase surveys ("how did you hear about us?")Self-reported sourceDark social, podcasts, word of mouthMemory is imperfect
Incrementality tests and marketing mix modellingEstimate what ads caused, without per-person trackingLarge budgets, brand and offline mediaNeeds volume, time and an analyst
DataCopsKeeps the click, filters junk, matches and sends sales and CRM stages to the ad platforms, with a logMaking the ad platforms learn from real outcomesNot a reporting dashboard

If you are comparing named tools, our alternative pages cover Hyros, Triple Whale, Northbeam, Cometly and others, and best ad attribution software 2026 compares them. Read what each one sends and to where. Checked October 2026; vendors change features, so confirm on their pages.

How to choose

  1. Start with the sending, not the dashboard. If the platform is never told about your sales, no report will make your ads smarter.
  2. Fix the capture first. A lost click cannot be rebuilt later.
  3. Pick one window and one revenue source, and use them every time you compare.
  4. Add a dashboard when you run several paid channels or long sales cycles. Not before.
  5. Add incrementality tests when your budget is large enough to make a test worth the time.
  6. Check any tool by asking three questions: What does it send? To which platforms? Can I see every send?

Where DataCops fits: it is the chain, not the report. It is a good fit if your problem is that the ad platforms are not learning from your real sales. It is not the right tool if what you need is a multi-touch revenue dashboard. Many teams run both.

Where to start this week

  1. Write down your normal time from first click to sale. Compare it with your attribution windows.
  2. Place a test order or submit a test lead. Check that the click ID reached your store or CRM.
  3. Check Events Manager and Ads Manager for the same sale. Is it there once, or twice, or not at all?
  4. Pick your revenue source of truth and use it for every comparison.
  5. If sales close in a CRM, check that later stages go back to the ad platform within its window.
  6. Ask each tool you use what it sends, to where, and whether you can see each send.

What else the same install does

The attribution chain is one part of a wider setup. Collection runs on your own domain with one script and one DNS record; with your DNS on Cloudflare, the free, optional DataCops Cloudflare Worker reads click IDs and UTMs at the edge before the page runs, and it captures without blocking. On Shopify, the DataCops Shopify app sends every paid order from Shopify's server. A first-party consent manager built on IAB TCF v2.2 and first-party analytics, a GA4 alternative, come from the same script. Each form email is checked for disposable providers and domains with no mail server, and LeadCops can enforce those rules on a form. Every send appears in a delivery log with the reason it was sent, held, skipped or failed.

Sources

FAQ

What is marketing attribution in simple words?

It is deciding which ad, channel or campaign gets credit for a sale or a lead. A person usually sees several ads and visits before buying, so attribution is the set of rules, or the model, that splits or assigns the credit.

Which attribution model is best?

There is no single best one. Last click is simple and biased toward the final touch, first click favours discovery, and data-driven models spread credit using your past data. Google Ads now offers only last click and data-driven, and Meta uses its own windows. Use one model consistently to compare, and check it against your store or CRM revenue.

Why does Meta show more sales than Google Analytics?

Because they count differently. Meta credits a sale to an ad inside its window, including views, while GA4 counts sessions it could track and credits by its own rules. Neither deduplicates against the other, and GA4 misses events blocked by consent banners and browsers.

What is an attribution window?

The number of days after an ad click or view in which a sale can still be credited to that ad. Meta, Google, TikTok and LinkedIn each set defaults, and you can change them. A window shorter than your sales cycle silently drops real sales.

Do I need an attribution tool or the Conversions API?

They do different jobs. The Conversions API sends sales to the ad platform so it can learn and optimise. An attribution tool reports which channel deserves credit, outside the ad platform. Many tools now do both, so check what a tool sends and to which platforms. Most serious advertisers need the sending part first.

What changed in Meta attribution in 2026?

Per coverage of Meta's changes: the 7-day and 28-day view-through windows stopped being returned in the Ads Insights API in January 2026, and from March 2026 click-through counts only link clicks, with shares, saves and likes moving to a separate engage-through category. Click-through numbers can fall without performance changing.

What changed in Google Ads attribution?

Google Ads now supports last click and data-driven models, with first click, linear, time decay and position-based removed. From 15 June 2026 Google also moved offline conversion imports and enhanced conversions for leads uploads to the Data Manager API.

How do I attribute a sale that closes in a CRM weeks later?

Capture the click ID and source when the lead arrives, store it on the CRM contact, and send the later stages, such as booked, won and paid, back to the ad platform within its upload window. Google accepts a click ID import within 90 days of the click; Meta rejects events older than 7 days.

Does DataCops replace an attribution dashboard?

No. DataCops is not a reporting dashboard. It keeps the click, filters junk, matches sales and sends them back to the ad platforms. If you want multi-touch reports, you can run a dashboard alongside it, and both are better with clean inputs.

What is incrementality testing?

An experiment that estimates what your ads caused, by comparing people or regions who saw ads with a comparable group who did not. Attribution assigns credit to what happened. Incrementality asks what would have happened anyway.

Is last click attribution wrong?

It is not wrong, it is partial. It ignores earlier touches, which undervalues discovery channels, but it matches how many platforms bid. It becomes misleading when used alone to cut channels that start journeys.

How can I improve attribution accuracy?

Keep the click ID (including past Safari's 7 day limit), keep bots out of what the ads learn from, send hashed email and phone for matching, send each sale once, send CRM stages back, and check what was actually delivered.

Make your ads learn from real sales

Keep the click, filter junk, match the sale and send it back.

Setup in 5 minutes. No credit card.

Live traffic quality

Updated just now

Visits · last 24h

487
Real users
35873.5%
Bots · auto-filtered
12926.5%

Without filtering, 26.5% of your reported traffic is bot noise inflating dashboards and draining ad spend.

Don't trust your analytics!

Make confident, data-driven decisions withactionable ad spend insights.

Setup in 2 minutes
No credit card