Ad Platform Over-Attribution on Shopify: Which Campaigns Claim Orders You'd Get Anyway

|Dan Giura
Ad Platform Over-Attribution on Shopify: Which Campaigns Claim Orders You'd Get Anyway

TL;DR

Add up what Meta, Google Ads and Klaviyo claim for a month and the total often beats your Shopify sales. Part of that is overlap: two platforms crediting the same order, which ROAS accuracy walks through. This article is about the other part, the one that survives even when only one platform claims an order. Some campaigns are built to show up right before a purchase that was going to happen. Branded search intercepts people typing your name. Retargeting follows people who already put something in a cart. An email open counts if the buyer opened it and bought later, even without a click. The platforms are not lying about any of these orders. They're answering "did our ad touch this buyer?", and you need "would this order exist without the ad?". The way to tell those apart is a test, and the place to start is the campaign type with the most claimed revenue.

Key Takeaways

  • A ratio of claimed sales to Shopify sales above 1 shows the platforms claim more than you sold. It says nothing about whether any single claimed order was caused by the ad.
  • Split every platform's claimed revenue into brand search, retargeting, prospecting and email before you judge the total.
  • eBay's 2012 test found brand-keyword ads had no measurable short-term benefit, and almost all the paid clicks moved to the organic link [1]. A smaller store that doesn't own its top organic spot can get a different answer.
  • Google Ads keeps view-through conversions out of its main Conversions column [5]. Check which column your report uses before you compare it with Shopify.
  • One retargeting experiment found a 10.5% lift in sales [2]. That's real, and it works out to about 1 in 10 of the exposed group's sales.
  • Test the biggest bucket first: a brand pause, a retargeting holdout, or a Klaviyo flow holdout. Read the result in Shopify orders.

How much of a 1.6x ratio is ad platform over-attribution?

Run the arithmetic on an illustrative store. Shopify reports $100,000 in sales for October. Meta claims $70,000, Google Ads claims $60,000 and Klaviyo claims $30,000. Together that's $160,000, or 1.6 times what the store sold.

The ratio proves one thing: the platforms together claim $60,000 more than the store sold. That's the overlap problem, and blended ROAS is the usual fix for reporting it.

What the ratio can't show is the second problem. Suppose the store cleaned up every overlap and got the platforms to sum to exactly $100,000. Each order now has one owner. Some of those owners still didn't cause the sale, and a ratio of 1.0 would hide that just as well. So treat the ratio as a smoke alarm. It tells you to look; it doesn't tell you which room.

The room is usually one of three campaign types.

Why does branded search claim so many orders?

Because the person searching your store's name has already decided to visit. A brand ad sits above the organic link to the same page, gets the click, and Google Ads records the conversion.

The cleanest public evidence is old and large. In March 2012 eBay stopped bidding on brand keywords, any query containing "ebay", on Yahoo! and MSN while keeping them on Google as a control. The researchers report that "almost all (99.5 percent) of the forgone click traffic" was "immediately captured by natural search traffic" [1]. Their summary of the brand result: "brand-keyword ads have no measurable short-term benefits" [1].

Google's help text for brand exclusions describes the same traffic: "avoid paying for clicks from users who are already navigating to your site" [3].

Now the caveat, and it matters for a small store. eBay owned the top organic result for its own name. If your store name is a common word, if another seller bids on it, or if your organic listing sits below a marketplace page, a brand pause can lose real orders. Nobody can tell you from the outside which store you are, but a test on your own account can.

Two settings decide how much brand traffic hides inside other campaigns. Performance Max serves on brand searches unless you add a brand list in the campaign's Settings > Additional settings > Brand exclusions [4]. For PMax those exclusions cover Search, Shopping and YouTube search inventory, with an option to let Shopping ads keep appearing on excluded brand searches [4]. If you don't separate brand, your "prospecting" campaign's revenue includes people typing your name.

Retargeting and view-through: credit for being there

Retargeting has better evidence behind it than brand search, and a smaller effect than its reported numbers.

A field experiment on one online retailer's display retargeting campaign, published in the Journal of Marketing Research in 2017, found the ads lifted website visits by 17.2% and sales by 10.5% against a control group that was eligible but never shown them [2]. That's a working campaign.

Look at what the 10.5% means for credit, though. If those ads had been credited with every purchase the exposed group made, about 1 in 10 of those credits would have been caused by the ads (10.5 ÷ 110.5). The other nine were people who'd have bought anyway, and a platform's attribution can't separate them. That's one retailer and one campaign, so the ratio won't transfer to your store.

View-through credit makes the gap wider. Google Ads defines a view-through conversion as one where a customer saw an ad, didn't interact with it, and converted later [5], with a default window of 1 day after the impression [6]. Google keeps those out of the Conversions column and reports them under View-through conversions and All conversions [5]. Meta's attribution setting can include a view window too, and our guide to attribution windows and reporting delays has both platforms' defaults. Meta also offers an alternative, covered in Meta's Incremental Attribution setting, that optimizes toward conversions its model estimates the ad caused.

Email opens count too

Klaviyo's default attribution window for new accounts is 5 days for email opens and clicks [7]. An open is enough. A customer who opened an abandoned-checkout email, ignored it, and came back through a Google ad four days later is a Klaviyo conversion and a Google Ads conversion at once.

Klaviyo's number is still the right one for comparing one flow against another, which is how Klaviyo's attributed revenue should be read. It isn't built to say whether the flow made the sale.

Sort the claimed revenue into four buckets

Pull one month from each platform, at campaign level, and put every campaign in one row. The buckets sort campaigns by how close to the purchase they reach the buyer.

Bucket What it reaches Why it over-claims First test
Brand search (Search plus PMax on brand queries) People typing your store's name Sits above your own organic link [1][3] Pause brand for 2 weeks, compare Shopify orders and organic clicks
Retargeting and view-through Past visitors and cart abandoners Credits purchases from people already deciding [2][5] Platform holdout, or exclude a random share of the audience
Email and SMS flows Subscribers and abandoners Opens count inside a 5-day window [7] Random-sample holdout inside the flow
Prospecting (non-brand, cold audiences) People who haven't visited Overlap with the other three Usually the last to cut; test after the others

In the illustrative store, say brand search is $25,000 of Google's $60,000 and retargeting is $30,000 of Meta's $70,000. Add Klaviyo's $30,000 and $85,000 of the $160,000 sits in the three buckets most likely to be claiming orders that were coming anyway. That's where the test budget goes.

How do you test the biggest bucket?

Pick the bucket with the most claimed revenue and test that one first. Three tests cover it.

A brand pause. Turn off brand keywords, and add your brand list to PMax exclusions [4], for two weeks. Then compare Shopify orders for those weeks with the two weeks before and the same weeks last year. Watch organic clicks on your brand query in Search Console over the same dates; if they rise to cover the paid clicks, the paid clicks were substitutes. A seasonal week, a sale or a launch spoils the comparison, so pick a quiet stretch.

A retargeting holdout. Meta's own lift studies are the controlled version of this, and an incrementality test for Meta ads covers the access, sample-size and geo-split routes. Without that, split your customer list at random, upload one half as an exclusion audience on the retargeting campaigns, and compare the two halves' Shopify orders.

A flow holdout. In Klaviyo, a random-sample path at the top of a flow sends a share of profiles past the messages [9]. Compare Placed Order rates for the two groups. A post-purchase survey is a cheaper cross-check while the test runs, though it records what buyers remember.

Read every result in Shopify orders. The platform under test will report lost conversions; your question is whether the orders went missing too.

What the tracking app changes, and what it doesn't

The excess isn't the app sending an order twice. WeltPixel Conversion Tracking keys each GA4 and Google Ads purchase to the Shopify order ID: GA4's transaction ID and Google Ads' order ID are that number, which is what event deduplication relies on. Over-attribution is each platform crediting the same order to itself, and no tracking app can stop a platform claiming a real order inside its own window.

What a complete feed does is keep the platform side of a test clean. The app sends purchases from Shopify's order data server-side, so when a platform's numbers dip during a brand pause or a holdout, the dip comes from fewer orders it can claim.

FAQ

What is ad platform over-attribution?

It's each ad platform crediting itself with orders inside its own attribution window, whether or not its ad caused them. Branded search, retargeting with view-through credit and email opens over-claim the most because they reach buyers close to the purchase.

Is branded search a waste of money?

Not always. eBay found no measurable short-term benefit [1], but eBay owned its organic result. If another seller bids on your name or your organic listing ranks low, brand ads can protect real orders. A two-week pause tells you which case you're in.

Should I count view-through conversions?

Count them separately. Google Ads already keeps them out of the main Conversions column [5]; keep them out of any comparison with Shopify sales too, and judge view-heavy campaigns with a holdout.

Does fixing tracking reduce over-attribution?

No. Better tracking fixes undercounting, where a real order never reaches the platform. Over-attribution is the platform crediting itself for orders it did see, so only a test separates caused orders from claimed ones.

Run your brand pause or holdout against complete order data. WeltPixel Conversion Tracking sends each Shopify order server-side, keyed to its Shopify order. The free plan is GA4 only, up to 100 storefront orders a month; Plus ($39/month, no order limit) adds Meta, Google Ads, Klaviyo and the rest, and also sends admin and POS orders [8].

Sources

  1. Thomas Blake, Chris Nosko and Steven Tadelis, "Consumer Heterogeneity and Paid Search Effectiveness: A Large Scale Field Experiment", Econometrica 83(1), 2015 (eBay brand-keyword test, March 2012; 99.5 percent of forgone click traffic captured by natural search; brand-keyword ads with no measurable short-term benefit), faculty.haas.berkeley.edu/stadelis/BNT_ECMA_rev.pdf, accessed October 27, 2026
  2. Garrett Johnson, Randall Lewis and Elmar Nubbemeyer, "Ghost Ads: Improving the Economics of Measuring Online Ad Effectiveness", Journal of Marketing Research 54(6), 2017 (retargeting campaign lifted website visits 17.2% and sales 10.5%), figures as presented by the authors, thearf-org-unified-admin.s3.amazonaws.com/ARF_WEBCAST/2019-06-12_Ghost-Ads_Presentation.pdf, accessed October 27, 2026
  3. Google Ads Help, "About brand exclusions", support.google.com/google-ads/answer/16669487, accessed October 27, 2026
  4. Google Ads Help, "Apply brand exclusions to Performance Max or Search campaigns", support.google.com/google-ads/answer/14505308, accessed October 27, 2026
  5. Google Ads Help, "Understand your conversion tracking data" (view-through conversions; not included in the Conversions column), support.google.com/google-ads/answer/6270625, accessed October 27, 2026
  6. Google Ads Help, "About conversion windows" (view-through window default 1 day), support.google.com/google-ads/answer/3123169, accessed October 27, 2026
  7. Klaviyo Help Center, "Understanding message conversion tracking" (default windows for new accounts: 5 days for email opens and clicks), help.klaviyo.com/hc/en-us/articles/115005248128, accessed October 27, 2026
  8. WeltPixel Conversion Tracking, Shopify App Store listing (free plan GA4 up to 100 orders a month; Plus $39/month), apps.shopify.com/weltpixel-conversion-tracking, accessed October 27, 2026
  9. Klaviyo Help Center, "Multi-Branch Splits" (random-sample condition on a flow split path), help.klaviyo.com/hc/en-us/articles/52369094030235, updated October 7, 2026, accessed October 27, 2026

Ready to upgrade your tracking?

Server-side tracking for Magento and Shopify — accurate data, better attribution, full privacy compliance.