Why Your Attribution Numbers Are Inconsistent Across Marketing Platforms

by Jaz Field

Why Your Attribution Numbers Are Inconsistent Across Marketing Platforms

Attribution numbers are inconsistent across marketing platforms because each one only sees its own touchpoints, credits itself under its own rules, and reports on its own dates. Some of the gap is by design and will never close. The rest is tracking that drops or double counts orders, and that part you can fix.

Add up the purchases that GA4, Meta, Google Ads, TikTok and Klaviyo each claim for last month. On most Shopify stores the total is well above the number of orders Shopify took. Nobody's tracking is necessarily broken. Every platform is counting the same orders.

This guide explains the seven reasons platforms disagree, which ones are faults, and how to get a single view of channel performance you can defend.

The same order gets claimed by several platforms

Take one shopper. She sees an Instagram ad on Monday without clicking. On Wednesday she searches your brand and clicks a Google ad. On Friday she opens your Klaviyo welcome email and buys.

  • Meta credits the order to the Instagram ad, if Meta's view-through window covers it.
  • Google Ads credits it to the search ad she clicked.
  • Klaviyo credits it to the email she opened.
  • GA4 shares the credit between the channels that brought her to the site, and never knew about the Instagram view.
  • Shopify records one order.

That is one order and four claims. None of the platforms is wrong by its own rules. The rules are just different.

Why each platform credits the same sale differently

1. Each platform only sees its own touchpoints

Meta knows about Meta ads. Google Ads knows about Google ads. Klaviyo knows about emails and texts. None of them knows what else the shopper did, so each one assumes it deserves the credit. Only a cross-channel tool such as GA4 sees several channels at once, and it can only see the ones that sent a visit to your site.

2. Attribution windows differ

Each platform credits sales for a set period after someone interacts with it, and the defaults differ.

PlatformDefault windowCounts views or opens?Reports the sale on
Meta Ads7-day click, 1-day viewYes, ad viewsDate of the ad click or view
Google Ads30-day click for most conversion actionsEngaged views for videoDate of the ad click
TikTok Ads7-day click, 1-day viewYes, ad viewsDate of the ad click or view
Klaviyo5 days after an email open or clickYes, email opensDate of the purchase
GA430-day lookback for acquisition, 90 days for other key eventsNoDate of the purchase

These are defaults, and most can be changed in each platform's settings. Check what yours are set to before comparing anything.

3. Views and opens count as interactions

Meta and TikTok credit sales after someone sees an ad without clicking. Klaviyo credits sales after someone opens an email, and Apple Mail's privacy protection opens many emails automatically. GA4 only counts visits. As a result, the platforms that count views and opens claim far more sales than GA4 gives them, especially on retargeting and brand campaigns where shoppers were likely to buy anyway.

4. Attribution models differ

Ad platforms credit the whole sale to their own ad. GA4's default is data-driven attribution, which splits credit across the channels in the path. Shopify's marketing reports use their own model, based on the UTM parameters and referrers of the shopper's visits. Three models applied to one order give three answers.

5. Sales are reported on different dates

Ad platforms report a conversion on the date of the click or view. GA4, Klaviyo and Shopify report it on the date of the purchase. A shopper who clicks on the 28th and buys on the 3rd lands in different months depending on which report you open. Time zones add to this: an ad account in one time zone and a GA4 property in another shift orders across days.

6. Some conversions are modeled

Meta and Google Ads cannot observe every purchase, especially from iOS users who opted out of tracking and shoppers who declined cookies. They estimate the missing conversions and include the estimate in their reports. GA4 does its own modeling for consent. These estimates have no matching event anywhere else, so they cannot be reconciled.

7. Tracking gaps drop or double count orders

The first six reasons are design. This one is a fault, and it makes every other difference harder to read.

  • Lost purchases: ad blockers, consent timing and slow pages stop browser tags from firing, so some platforms never see the order.
  • Lost sessions: a shopper who clicks an ad in the Facebook or Instagram in-app browser and buys later in Safari arrives with no campaign information. GA4 and Shopify record the sale as Direct.
  • Duplicates: two installs of the same pixel, or browser and server events without a shared event ID, count one order twice.

To check, compare each platform's purchase count with Shopify's online order count for the same week. A platform above Shopify is double counting. A platform far below it is missing orders. The free Littledata Tracking Audit lists every tag on your storefront and flags duplicates.

How to get one view of attribution you can trust

You will not make the platforms agree. You can stop the disagreement from blocking decisions.

  1. Use Shopify orders as the total. No channel report should add up to more than Shopify, and none should replace it.
  2. Fix tracking first. Every platform should record each Shopify order once. Until it does, attribution differences and tracking faults are mixed together.
  3. Pick one tool to split the total between channels. For most Shopify stores that is GA4, because it sees every channel that sends traffic. Use it for budget decisions between channels.
  4. Use platform numbers inside the platform. Meta's attribution is the right number for choosing between Meta campaigns. It is the wrong number for deciding between Meta and Google.
  5. Tag every link with UTM parameters so ad and email traffic lands in the right GA4 channel instead of Direct.
  6. Watch the gap, not the match. If the difference between a platform and GA4 is stable week to week, the tracking is sound. If it jumps, something changed on the storefront or checkout.
  7. Test incrementality for big decisions. Attribution shows who touched an order. A holdout or lift test shows whether the order would have happened without the campaign.

Where the data layer fits

Most tracking gaps come from running a separate browser tag for every platform, each failing in its own way. The data layer for Shopify replaces that with one source: each order is recorded once, server-side, with the shopper's original session and customer details attached, and the same record goes to GA4, Meta, Google Ads, TikTok and Klaviyo.

That is what Littledata does. The platforms still apply their own attribution rules. But every difference you see is a difference in rules, not in data, which is the only kind of difference you can explain to finance.

Platform-by-platform guides

Frequently asked questions

Why are my attribution numbers different in every marketing platform?

Each platform only sees its own touchpoints and credits itself for any sale within its own attribution window. They also use different windows, count ad views or email opens differently, report on different dates, and include modeled conversions. The same Shopify order is often claimed by three or four platforms at once.

Why do my platforms report more conversions than Shopify has orders?

Because the same order is credited by several platforms. A shopper who saw a Meta ad, clicked a Google ad and opened a Klaviyo email before buying counts as a conversion in all three. Add up every platform's conversions and the total is usually well above Shopify's order count.

Which platform's attribution should I trust?

Use Shopify orders as the total, and one cross-channel tool, usually GA4, to split that total between channels for budget decisions. Use each ad platform's own numbers for optimizing inside that platform, not for comparing channels against each other.

Can I make attribution consistent across platforms?

You can make it comparable, not identical. Fix tracking so every platform records each order once, tag every link with UTM parameters, align time zones, and compare each platform with Shopify rather than with each other. The attribution rules will still differ, but the gap will be stable and explainable.

Does server-side tracking fix attribution differences?

It fixes the tracking part, not the attribution rules. Server-side tracking stops purchases being lost to ad blockers, consent timing and in-app browsers, and keeps the shopper's session attached to the order. Platforms will still credit sales differently, but the differences will come from their rules rather than from missing data.

How do I measure the real impact of a channel?

Run an incrementality test: hold out part of your audience or a set of regions from a campaign and compare sales with the group that saw it. Meta and Google both offer lift studies. Attribution tells you who touched an order, an incrementality test tells you whether the order would have happened anyway.

The short version

Platforms disagree on attribution because they see different touchpoints and follow different rules. Accept that part, and use Shopify as the total and one cross-channel tool to split it. Then fix the tracking gaps, so that the only differences left are the ones you can explain.

Jaz Field
Jaz Field

Marketing Manager

Jaz Field is Marketing Manager at Littledata and writes its customer case studies, working with Shopify brands and their agencies to show how accurate first-party data improves results in Google Ads, Meta and Klaviyo.