Marketing Attribution for Ecommerce Brands
Why platform-reported ROAS is wrong, how holdout testing works, and how to find true incremental value per channel.
Chapter 1The Attribution Crisis
Marketing attribution is broken. Not slightly off, fundamentally, structurally broken. The numbers your platforms report are systematically inflated, and the entire industry allocates billions of dollars based on data that overclaims by a meaningful margin on average.
Here's the core problem: every ad platform is both the seller of advertising AND the measurer of advertising effectiveness. Meta tells you Meta works great. Google tells you Google works great. TikTok tells you TikTok works great. And because they all use different attribution methodologies, view-through windows, click windows, self-attributed conversions, you can add up all the platform-reported conversions and get a number far higher than your actual total conversions.
We call this the “sum problem.” If Meta claims 1,000 conversions, Google claims 800, and TikTok claims 400, that's 2,200 total. But your Shopify shows 1,500 actual orders. Someone is wrong. In reality, everyone is wrong, they're all overcounting, just by different amounts.
Chapter 2Why Platforms Lie
“Lie” is strong. The platforms aren't deliberately fabricating numbers. They're using attribution methodologies that systematically favor themselves. There are four primary mechanisms:
View-Through Attribution
Meta counts a conversion if someone saw your ad and purchased within the attribution window, even if they never clicked, never engaged, and would have purchased anyway. If someone scrolls past your ad at 2am and buys from a Google search at noon, Meta claims that conversion.
Impact: High, the largest driver of Meta's overclaim
Multi-Platform Double Counting
A customer sees a Meta ad, clicks a Google ad, and buys. Both platforms claim the full conversion. Neither reports 0.5 conversions. The same sale is counted twice.
Impact: Medium, affects a meaningful share of conversions
Organic Cannibalization
Your most loyal customers were going to buy anyway. But they happened to see an ad or click a branded search result on the way to your site. The platform claims that sale as ad-driven.
Impact: High, especially for branded search campaigns
Algorithmic Attribution Windows
Platforms use different attribution windows (1-day, 7-day, 28-day) and default to the most generous. Longer windows capture more coincidental correlations, not causal relationships.
Impact: Medium, inflates depending on window choice
The iOS 14.5 factor
Chapter 3Attribution Models Compared
Before diving into solutions, you need to understand the landscape. There are four main attribution approaches, each with distinct tradeoffs. The industry is shifting from simpler models toward incrementality-based approaches.
Interactive
Attribution model comparison
How it works
100% credit to the last touchpoint before conversion.
Strengths
Simple, easy to implement, no ambiguity
Weaknesses
Ignores discovery channels, heavily biases toward branded search and retargeting
Our verdict
Materially undervalues awareness and consideration. Will lead you to over-invest in bottom-funnel.
The ideal approach combines methods: use MMM for strategic quarterly allocation, incrementality testing for validating channel effectiveness, and corrected MTA for daily optimization. No single model is sufficient on its own.
What Parker does
Chapter 4Overclaim by Platform
Platforms do not misreport in the same way or by the same amount, but the useful difference is in the mechanism rather than in a per-platform number. What follows is where each platform's gap tends to come from, and the calculator lets you run your own assumption through the arithmetic. There is no table of typical rates here because we do not have one worth publishing.
Interactive
Correction factor calculator
Enter the overclaim you believe applies and see what it does to your reported ROAS. Both inputs are yours; this widget supplies only the arithmetic.
Starts at 25% because a slider has to start somewhere. That number is not a finding, ours or anyone's. Move it.
Reported
4.2x
Your assumption
25%
Resulting ROAS
3.2x
Where an overclaim actually comes from
Three mechanisms, and they are additive. A broad attribution window credits purchases that happened days after the ad. View-through credit counts people who saw the ad and never touched it. And both count buyers who were going to purchase regardless, which is why the effect is largest on retargeting and branded search, where intent already existed.
The check that needs no assumption: add up platform-reported revenue across every channel and compare it to the revenue your business actually booked in the same period. If the platforms sum to more than you earned, the excess is being claimed more than once, and the ratio is your own overclaim factor rather than a borrowed one. That number takes an afternoon and a spreadsheet. Beyond it, a holdout test is the only way to attribute the gap to a specific channel.
| Platform | Primary Driver | Where It Concentrates |
|---|---|---|
| Meta Ads | View-through attribution | Retargeting campaigns |
| Google Ads | Branded search cannibalization | Brand campaigns |
| TikTok Ads | View-through plus broad attribution | Awareness campaigns |
| Pinterest Ads | View-through windows | Home and lifestyle |
| Snap Ads | View attribution defaults | Younger demographics |
Chapter 5Holdout Testing, the Gold Standard
The most reliable way to measure true attribution is to stop showing ads to a subset of your audience and measure the difference. This is holdout testing, the gold standard of incrementality measurement.
Define your holdout
Select 10-20% of your audience (by geo, cohort, or random split) to receive zero ads from the channel you're testing.
Run for 2-4 weeks
The test needs enough time to capture full purchase cycles. For higher-AOV products, run longer.
Measure the delta
Compare conversion rates between the exposed group and holdout group. The difference is your true incremental lift.
Calculate true ROAS
Incremental revenue (exposed - holdout) ÷ ad spend = true incremental ROAS. This is always lower than platform-reported.
Apply correction factor
Platform-reported ROAS ÷ true ROAS = your correction factor. Apply this to all future platform data.
Budget consideration
Chapter 6Building Your Attribution Model
You don't need a data science team to build a reliable attribution model. Here's the practical framework:
Step 1: Baseline
Run holdout tests on your top 2-3 channels to establish correction factors. Start with your biggest spend channels, the overclaim there costs the most money.
Step 2: Correct
Apply correction factors to all platform-reported data. Multiply each platform's reported ROAS by its measured correction factor to get the de-biased number.
Step 3: Unify
Create a single source of truth combining corrected platform data with Shopify/revenue data. This is your de-biased view.
Step 4: Iterate
Re-run holdout tests quarterly. Overclaim rates change with audience saturation, creative mix, and platform algorithm updates.
The key insight: you don't need perfect attribution. You need attribution that's directionally correct enough to make better allocation decisions. Even a rough correction factor, knowing Meta overclaims meaningfully, materially improves your budget decisions compared to trusting raw platform numbers.
Chapter 7Platform-Specific Correction Factors
What follows is not a table of correction factors to apply. We are not publishing one, because the size of the correction is account-specific and a borrowed coefficient is the error this whole guide argues against. What generalises is the ordering: which campaign types tend to need the largest haircut, and why. Use it to decide what to test first, not to adjust a number.
| Platform | Campaign Type | Expected Correction | Why |
|---|---|---|---|
| Meta | Retargeting | Largest | Audience already had intent; many would have bought anyway |
| Branded Search | Largest | The customer was already searching for you by name | |
| Meta | Advantage+ Shopping | Uncertain | Haus found it over-reporting against Manual, on a platform under-reporting overall |
| Meta | Prospecting (broad) | Smaller | Reaching people with no prior intent, so more of the lift is real |
| Non-brand Search | Smaller | Query shows intent for the category, not for you specifically | |
| TikTok | Spark and In-Feed | Unmeasured here | View-through exposure is high, but we have no incrementality data on it |
Chapter 8The Attribution Operating Routine
This guide describes a way of working, not a one-off project. What follows is the cadence that keeps it alive, and it is deliberately boring, because attribution work fails from neglect rather than from sophistication.
Monthly
Sum platform-reported revenue across every channel and compare it to booked revenue. The excess is being claimed more than once. This single ratio takes minutes and is the fastest way to make the problem legible to a finance team.
Check whether any channel's reported ROAS moved sharply without a corresponding change in booked revenue. That gap is usually an attribution-setting change rather than a performance change.
Quarterly
Re-run one holdout test, rotating which channel you test. Correction factors decay: creative, competition and platform behaviour all move underneath them.
Re-read your attribution windows and view-through settings on each platform. These are changed by defaults more often than by decisions, and a widened window silently inflates everything downstream.
Retire any correction factor older than two quarters rather than carrying it forward. A stale factor is a borrowed benchmark wearing your own brand name.
Before any budget decision above your comfort threshold
Ask which number the decision rests on, and whether that number is measured or assumed. Both are legitimate inputs; confusing them is not.
Ask what result would change your mind, and confirm you would be able to see it. A decision with no falsifying observation is a preference.
Parker runs this entire methodology 24/7 on your data. Holdout test orchestration, spreadsheet correction factors, and platform-honesty checks all happen continuously, so accurate attribution feeds every other decision in the system.
Incrementality Testing for DTC Brands
Geo-lift tests, holdout groups, and conversion lift studies. When to use each and how to interpret results.
Tracking the Dark Funnel: The Revenue GA4 Misses
How to measure revenue that AI recommendations drive but GA4 files as direct traffic or branded search, using a survey protocol you can run yourself.