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.
| Model | How it gives credit | Useful for | Weak spot |
|---|---|---|---|
| First click | All credit to the first touch | Finding which channels start journeys | Ignores everything that closed the sale |
| Last click | All credit to the final click | Simple, matches how many platforms bid | Undervalues discovery and nurture |
| Linear | Equal credit to every touch | A fair first look at long journeys | Treats a passing view like the deciding click |
| Time decay | More credit to touches nearer the sale | Short buying cycles | Undervalues early awareness |
| Position-based | 40% first, 40% last, 20% spread across the middle (a common setup) | Journeys where start and finish both matter | The split is a guess you set |
| Data-driven | Credit spread using your own past conversion paths | Accounts with enough data | Needs 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
| Platform | Default | What you can change | Worth knowing |
|---|---|---|---|
| Meta | 7-day click (link clicks), 1-day engage-through, 1-day view, per coverage of the 2026 changes | Choose per ad set; 7- and 28-day view-through stopped being returned in January 2026; incremental attribution is a separate ad set option | Check what your ad sets actually show |
| Google Ads | 30-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 days | Click ID import for offline sales: within 90 days |
| TikTok | 7-day click, 1-day view | Click 1, 7, 14 or 28 days; view off, 1 or 7 days | In-app actions default longer |
| 30-day click, 7-day view (API defaults) | 1, 7, 30 or 90 days; 365 for some types by Conversions API or CSV | Check each conversion rule | |
| GA4 | Data-driven by default; 30-day lookback for acquisition events, 90 for others (defaults) | Adjustable per property | Per-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.
- 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.
- Different dates. Google Ads credits the date of the click. GA4 and Shopify credit the date of the purchase. Time zones add more drift.
- Different visibility. The browser pixel misses sales blocked by blockers, consent banners or a closed tab. A platform with server-side data sees more.
- No cross-platform deduplication. Meta counts a sale, Google counts the same sale, and your email tool counts it too. Each credits itself.
- Lag. Reports keep changing for days after a sale. Compare windows that have closed.
- 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.
| When | What changed | What it means |
|---|---|---|
| Oct 2025 to Jan 2026 | Meta 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 2026 | Meta 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 seconds | Click-through counts can fall with no real change in performance |
| Apr 2026 | Google merges enhanced conversions for web and for leads into one setting (per secondary coverage) | Fewer implementation choices to make |
| 15 Jun 2026 | Google moves offline conversion import and enhanced conversions for leads uploads to the Data Manager API and blocks new adopters in the Google Ads API | Tools and agencies that upload sales must use the new route |
| Jan 2026 | GA4 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.
| Link | The question | What DataCops does | What breaks |
|---|---|---|---|
| 1. Capture | Where did the click go? | Collection on your own domain; click ID kept 90 days; server-set cookie up to 400 days where enabled | Safari, blockers, redirects, express checkout |
| 2. Filter | Was that a real person? | A bot verdict on every visit; Real people only per platform (off by default); email check | Bots that look like your best channel |
| 3. Match | Whose sale is it? | Click ID, hashed email and phone | A sale the platform cannot tie to a person |
| 4. Send | Does the platform know? | Server-side to Meta, Google Ads, TikTok and LinkedIn, counted once | Pixel-only reporting, double counting |
| 5. Stages | What happened after the form? | Booked, showed, won, paid from HighLevel, webhook or CSV | The sale that closes weeks later |
| 6. Restricted | What if the platform cannot see it? | Health mode: neutral events, nothing about the condition | Health and wellness restrictions |
| 7. Consent | What did the visitor allow? | TCF 2.2 consent manager; Consent Mode v2 on by default | Lost or unlawful signals |
| 8. Numbers | Which number is true? | First-party analytics from the same script | Meta, GA4 and Shopify disagreeing |
| 9. Proof | What was actually sent? | A delivery log: sent, held, skipped or failed, with the reason | Not 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.
7. Consent and attribution
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.
| Business | Buying path | What attribution needs | Go deeper |
|---|---|---|---|
| Online store | Checkout, often same day | Paid order with value, express checkouts, refunds, the click through Safari | Shopify tracking guide |
| Lead gen and services | Form now, sale in days or weeks | Click ID on the lead, stages from the CRM, fake leads out | Offline conversions |
| B2B and SaaS | Demo, trial, contract, months | A long window, account-level matching, stage values | B2B SaaS |
| Clinics and health | Booking, then treatment | Neutral events, no condition in the data | Health restrictions |
| Phone-led sales | A call decides it | The click ID on the contact, the call outcome as a stage | Phone 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.
| Type | What it does | Best for | Limit |
|---|---|---|---|
| Ad platform reports (Meta, Google, TikTok, LinkedIn) | Credit by their own rules, inside their own window | Comparing ads against each other | They grade their own work and overstate across platforms |
| GA4 and web analytics | Sessions and paths on your site, by its own rules | Site behaviour and funnels | Misses 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 platforms | Cross-channel budget decisions | Cost and setup vary; read what each sends and to where |
| Call tracking (for example CallRail, WhatConverts) | Tie a phone call to a source | Phone-led businesses | The call is only one stage |
| Post-purchase surveys ("how did you hear about us?") | Self-reported source | Dark social, podcasts, word of mouth | Memory is imperfect |
| Incrementality tests and marketing mix modelling | Estimate what ads caused, without per-person tracking | Large budgets, brand and offline media | Needs volume, time and an analyst |
| DataCops | Keeps the click, filters junk, matches and sends sales and CRM stages to the ad platforms, with a log | Making the ad platforms learn from real outcomes | Not 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
- Start with the sending, not the dashboard. If the platform is never told about your sales, no report will make your ads smarter.
- Fix the capture first. A lost click cannot be rebuilt later.
- Pick one window and one revenue source, and use them every time you compare.
- Add a dashboard when you run several paid channels or long sales cycles. Not before.
- Add incrementality tests when your budget is large enough to make a test worth the time.
- 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
- Write down your normal time from first click to sale. Compare it with your attribution windows.
- Place a test order or submit a test lead. Check that the click ID reached your store or CRM.
- Check Events Manager and Ads Manager for the same sale. Is it there once, or twice, or not at all?
- Pick your revenue source of truth and use it for every comparison.
- If sales close in a CRM, check that later stages go back to the ad platform within its window.
- 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
- support.google.com/google-ads/answer/6259715
- support.google.com/google-ads/answer/3123169
- support.google.com/google-ads/answer/2998031
- developers.facebook.com/docs/marketing-api/conversions-api
- developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events
- ppc.land/meta-rewrites-click-attribution-rules-finally-aligning-with-google-analytics/
- www.jonloomer.com/meta-ads-attribution-2026/
- webkit.org/tracking-prevention/
- ads.tiktok.com/help/article/attribution-manager?lang=en
- learn.microsoft.com/en-us/linkedin/marketing/integrations/ads-reporting/conversions-api
- www.linkedin.com/help/lms/answer/a426359
- hyros.com/updates/what-is-hyros
- www.cometly.com/features/conversion-sync
- developers.google.com/tag-platform/security/guides/consent
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.