If you've ever pulled a report from Meta, then pulled the same report from Google, then tried to make them agree with each other, you already know the problem. The numbers don't match. They probably never will, at least not in the way you're hoping. And that's not a bug in your setup; it's how ad platforms are built to report.
Each platform runs its own attribution model, looks at its own slice of the customer journey, and (not surprisingly) tends to conclude that it deserves the credit. A user sees a Meta ad on Monday, clicks a Google search ad on Friday, and converts on Saturday. Meta claims the conversion. Google claims the conversion. Your analytics tool might claim it too. Suddenly you've got three platforms each reporting a number, and the sum is twice your revenue.
This is the attribution reconciliation problem. It's frustrating, but it's solvable if you approach it the right way. Here's how.
Before you can reconcile anything, it helps to understand why the discrepancy exists in the first place.
Ad platforms are, in a sense, grading their own homework. Each one applies its own lookback window, its own credit rules, and its own logic for what counts as a touchpoint. For example, Meta's default settings might credit a conversion to anyone who saw an ad in the last seven days and clicked in the last day. Google's model might credit the last click before purchase. Neither has full visibility into what the other platform is doing, so both claim credit, and the numbers pile up.
Privacy changes have made this worse. As cookies erode and user-level tracking becomes less reliable, platforms are leaning more on statistical modeling and first-party signals to fill the gaps. That modeling is imperfect, and different platforms are filling those gaps in different ways. The result is divergent numbers that are each "right" by their own methodology, and collectively useless for making budget decisions.
There's also a more fundamental issue: Attribution is correlational, not causal. Just because a click happened before a conversion doesn't mean the click caused the conversion. Platforms have gotten good at finding users who were already likely to convert, which means a lot of attributed conversions would have happened anyway, with or without the ad. That's the core reason platform numbers are inflated, and it's why reconciliation is so hard when you start from platform data alone.
Reconciling attribution across ad platforms doesn't mean finding one number everyone agrees on. It means building a measurement stack where each layer answers a specific question, and where the most trustworthy signal (causal data) anchors everything else.
Here's how to think about it in four layers.
Pull your platform-reported metrics (Meta, Google, TikTok, Pinterest, whatever's in your mix) and use them as directional signal, not gospel. They're useful for understanding relative performance within a platform: which creatives are resonating, which audiences are responding, which campaigns are generating volume. They're less useful for comparing across platforms or for understanding total business impact.
Keep a consistent internal reporting cadence. Note the attribution windows each platform uses. Flag any changes to attribution settings (like Meta's recent overhaul, which altered how the platform reports and potentially who it targets), because those changes can create artificial swings in your data that look like performance changes but aren't.
A third-party multi-touch attribution (MTA) tool applies a single consistent model across your channels. Because it's not the one selling you ads, it has less incentive to overcredit any particular platform. It also gives you a unified view of the customer journey across touchpoints, something no individual platform can do on its own.
That said, traditional MTA has real limitations. It's correlational, it still relies on user-level data that's increasingly hard to get, and it still won't tell you whether those touchpoints caused conversions. Think of it as a better organizing framework, not a source of causal truth. For a deeper comparison of what MTA can and can't do relative to other approaches, MTA vs. MMM: Choosing between multi-touch attribution and marketing mix modeling is worth a read.
This is where reconciliation starts to get real. Incrementality testing uses controlled experiments (typically comparing exposed and unexposed groups) to isolate the causal impact of a specific channel or campaign. Instead of asking "which touchpoints were present before a conversion?" it asks "how many conversions wouldn't have happened without this ad?"
That's a fundamentally different question, and it produces a fundamentally different number. Once you have incrementality results for a channel, you can use those results to calibrate your platform-reported metrics. If Meta reports 10,000 conversions but your lift test shows the incremental conversions are 6,000, you now have an incrementality factor you can apply to Meta's numbers going forward. Same for Google. Same for any channel you test.
At Haus, GeoLift is built specifically for this kind of geo-based experimentation. It lets you run scientifically rigorous tests that don't require user-level tracking, which matters more every year as privacy regulations tighten. The output isn't just a single lift estimate; it includes granular daily lift between treatment and control groups, interactive confidence intervals, and incrementality factors you can use to recalibrate your platform, MTA, and MMM reporting.
Incrementality tests are powerful, but they answer one question at a time: Does this channel work, at this spend level, in this period? If you want a unified view of how your entire marketing mix contributes to business outcomes, and what you should spend on each channel, that's where Causal MMM comes in.
Traditional marketing mix models are built on historical correlations. They can tell you that sales went up when you spent more on TV, but they can't tell you if TV caused the sales. Causal MMM is different: It anchors the model in real-world experiments, so the budget recommendations it produces are grounded in causal evidence, not just pattern matching. The result is cross-channel guidance you can trust and defend to finance.
In practice, reconciling attribution across ad platforms looks something like this:
Each layer informs the next. None of them is sufficient on its own.[a][b]
Once the stack is in place, the remaining gap is speed. That's the job of Architect, Haus’ agentic layer folded into Causal MMM. It takes causal data from your experiments, considers business context around your industry, promotions, and constraints, and recommends the next best action across channels, campaigns, and ads. You stay in control of every call. The goal is simple: Cut the lag from insight to action.
When leadership asks why Meta's numbers don't match Google's numbers don't match your analytics tool's numbers, "it's complicated" isn't a satisfying answer.
Building a reconciliation framework gives you a better answer. It lets you say: Here's what platform reports show, here's the calibration factor we've derived from controlled experiments, and here's our estimate of incremental impact by channel. That's a story leadership can follow, and a foundation for budget decisions that hold up to scrutiny.
If you're not sure where to start, start with the channel where the gap between platform-reported numbers and business reality feels biggest. Run an incrementality test. See what the causal lift looks like. Use that as your anchor.
That one experiment tends to change how a team thinks about all of its measurement, not just the channel you tested. And once you've seen the difference between what a platform claims and what moved the needle, it's hard to go back to taking platform numbers at face value.
For a deeper dive into how attribution and incrementality differ, and when each approach is most useful, check out Incrementality vs. attribution: What's the difference? and Marketing attribution: The fundamentals. And if you want to understand how Haus approaches causal measurement from experiment design through budget guidance, explore how it works.
Because each platform applies its own attribution model independently and claims credit for any conversion that occurred within its lookback window, regardless of what other platforms also touched that user. For example, a single purchase can simultaneously satisfy Meta's view-through window and Google's last-click rule, so both platforms report it. The sum across platforms routinely exceeds revenue.
No single model produces a universally correct number, but some are more trustworthy than others. First- and last-touch models are simple but highly distorting. MTA is more balanced across the customer journey but is still correlational and increasingly constrained by privacy-driven data loss. Incrementality testing is the only approach that establishes causation: it tells you how many conversions genuinely wouldn't have happened without a given ad, not just which touchpoints were nearby.
You run a controlled experiment (for example, a geo-based lift test using Haus GeoLift) that compares conversion rates in exposed vs. unexposed groups. The difference is your true incremental lift. If a platform claims 10,000 conversions but the experiment shows only 6,000 were genuinely incremental, you derive a calibration factor (0.6 in this case) and apply it to that platform's reported numbers going forward. Those calibrated figures then feed into your MTA tool and Causal MMM for more accurate cross-channel analysis.
Traditional MMM identifies statistical correlations between spend and sales in historical data: useful directionally, but unable to confirm that spending caused the sales. Causal MMM anchors the model in real-world incrementality experiments, so its outputs reflect causal relationships rather than coincidental patterns. The practical difference is in the reliability of budget recommendations: Causal MMM produces guidance you can defend to finance, because it's grounded in evidence rather than correlation.
Not necessarily all at once, but eventually across all material channels. Start with the channel where the gap between platform-reported numbers and business intuition feels largest. That's where overspending risk is highest. Once you have a calibration factor for one channel, you can apply it ongoing and move testing resources to the next priority. Over time, a library of incrementality results across channels significantly improves the accuracy of your Causal MMM.
As third-party cookies disappear and platforms rely more on statistical modeling to fill data gaps, platform-reported attribution becomes less anchored to user behavior and more dependent on imputed signals. Different platforms model these gaps differently, which widens the divergence between their reported numbers. Geo-based incrementality testing (like Haus GeoLift) sidesteps this problem entirely because it doesn't rely on user-level tracking at all; it measures aggregate outcomes across geographic treatment and control groups.
Acknowledge the discrepancy directly, then explain why it happens: Platforms attribute the same conversion independently. From there, redirect the conversation to the measurement layer that answers the business question. Incrementality testing shows which spend is causally driving conversions, and Causal MMM translates that into defensible budget guidance by channel. Framing it as "here's what the platforms claim, here's what our experiments show, and here's what we're doing about it" is far more credible than trying to reconcile raw numbers into a single agreed-upon figure.
Make better ad investment decisions with Haus.