TL;DR:Every ad platform claims credit for every conversion it can plausibly touch. Meta uses view-through. Google uses last-click. Both report the same purchase as their win. Your blended ROAS overstates real performance, and budget decisions get made on inflated numbers. The fix is not a better attribution model. It is controlling what each platform receives at the point of event capture, before the event is forwarded anywhere.
Your Meta ROAS looks strong. Your Google ROAS looks strong.
But add them together and the number is significantly higher than your actual revenue.
This is not a reporting glitch. It is just how ad platforms are designed to work.
Every platform grades itself and claims credit for every conversion it can. And without a signal layer that controls what each platform sees, you are essentially setting up both channels against each other.
Why does this happen?
A customer sees a Meta ad, clicks a Google search ad three days later, and converts.
Both platforms will claim the conversion.
Meta sees the view or click from its ad and attributes the purchase. Google sees the last click from its search ad and attributes the same purchase.
Your attribution tool may/may not split credit between them. But your ad platform dashboards report the full conversion.
This is nothing but a default behavior of every walled garden operating on last-touch or view-through attribution within its own ecosystem. Each platform optimizes toward the conversions it can see and claim. The overlap is structural and it compounds as you scale across more channels.
The practical consequence
Total reported ROAS significantly overstates actual performance. Budget decisions get made on inflated numbers. Channels that appear profitable in isolation are cannibalizing each other's credit rather than working in unison.
Three ways the overlap plays out
1) View-through attribution inflating Meta's numbers
Meta's default attribution window includes view-through conversions: Purchases made by users who saw a Meta ad but never clicked it.
Even if that user later converted through a Google search, Meta still claims credit via the view-through window.
View-through attribution is not inherently wrong, as brand awareness does influence downstream conversions.
But when Meta's view-through window overlaps with Google's last-click attribution on the same conversion, both platforms report it as a win. Your combined reported revenue is higher than your actual revenue.
2) Branded search harvesting Meta-influenced demand
A customer sees your Meta prospecting ad, becomes aware of your brand, and later searches your brand name on Google. Google's branded search campaign captures the click and claims the conversion. Meta gets no credit even though it created the demand.
From your dashboard, branded search looks highly efficient: low CPC, high conversion rate, strong ROAS.
But, Meta prospecting looks less efficient because the downstream conversions it influenced are being credited elsewhere. Budget shifts toward branded search, sidelining prospecting. New customer acquisition slows because the demand generation that was feeding branded search is being defunded.
3) Retargeting overlap between platforms
A user in your Meta retargeting pool is also in your Google retargeting pool and vice versa.
Both platforms serve them ads in the same week. When the user converts, both platforms claim credit.
You are paying retargeting costs on two platforms for one conversion. The conversion gets double-counted. Both retargeting campaigns look efficient. The actual cost per acquisition for that customer is twice what either platform reports.
How to Fix It: The Solution Is a Better Data Infrastructure
Most brands try to solve this problem in their attribution tool.
They apply data-driven models, run incrementality tests, and adjust credit weights. Right instinct but the wrong layer.
The root cause is upstream. You are sending the same conversion event to every platform without any control over which platform receives credit for which conversion.
Every platform then applies its own attribution window to that event and claims whatever it can. No attribution tool can fix a problem that starts upstream at the collection layer.
Better data infrastructure means controlling what each platform receives at the point of event capture, before the event is forwarded anywhere.
Route conversions based on the actual customer journey
With better infrastructure, the collection layer has full session context: first-touch source, last-touch source, UTM parameters, GCLID, and referrer data.
This means you can route each conversion event to the platform that actually influenced it.
If the first tracked interaction was a Meta ad, the purchase event goes to Meta CAPI.
If it was a Google search, it goes to Google Ads enhanced conversions.
Each platform receives the conversions it earned, not every conversion it can plausibly touch within its attribution window.
Exclude branded search conversions from Meta's optimization signal
Conversions where the final click was a branded search term should not be sent to Meta as optimization events. Meta influenced the awareness that led to that search. It did not drive the conversion. Sending it as a Meta conversion teaches the algorithm to optimize toward branded search behavior, which is circular and wasteful.
Most tracking setups forward every purchase event to every connected platform regardless of how the customer arrived.
A better data infrastructure captures the final click source at the point of collection and routes accordingly. Branded search conversions go to Google. Meta never sees them. Its algorithm stops chasing branded search behavior and starts optimizing toward the prospecting signals it actually influenced.
Configure attribution windows to reflect channel behavior, not maximize reported credit
Meta's view-through window, Google's last-click model, and TikTok's click attribution are all set to defaults that favor each platform's reported conversions.
Left unconfigured, they overlap on the same conversions and inflate your blended numbers.
A better data infrastructure gives you control over what each platform receives before the attribution window even applies.
When the collection layer routes conversions based on actual session context, the window configuration becomes a secondary concern rather than the primary line of defense against overlap. Shorter view-through windows on Meta reduce double-counting. Combined with proper routing at the collection layer, the overlap shrinks to reflect reality rather than platform defaults.
Measure true contribution with incrementality tests
Incrementality tests tell you whether removing a channel would have reduced revenue
Running geo-holdout tests on Meta and Google separately gives you a ground-truth read on what each channel actually contributes, independent of platform reporting and attribution model weights. But incrementality tests are only as reliable as the event data feeding them. If your conversion stream has overlap, double-counting, and misattributed branded search conversions woven in, your incrementality results will reflect those distortions.
A clean signal layer, where each platform receives only the conversions it earned, gives incrementality testing a reliable foundation to work from. The results become accurate and actionable.
Route Every Conversion to the Right Platform with EdgeTag
EdgeTag captures every conversion event server-side with the full session context: first-touch source, last-touch source, UTM parameters, GCLID, referrer data, and customer identity across sessions.
That context means every conversion event can be routed to the right platform based on actual attribution logic rather than letting each platform claim whatever its default window allows.
- First-touch and last-touch source classification on every purchase event
- Platform-specific routing logic built into the collection layer
- Branded search exclusion from Meta optimization signals
- Cross-device identity stitching so multi-session journeys stay attributed correctly
- Edge Lake stores the full event stream for incrementality analysis and custom attribution modeling
Most brands doing this for the first time discover that a significant share of their reported conversions were claimed by multiple platforms simultaneously. The channel that looked most efficient was often just the one with the widest attribution window.
Route every conversion correctly with EdgeTag.
Live in 15 minutes. No GTM. No engineers.
Know what each channel is actually worth → Book a Demo
