Back to Blog
AnalyticsJune 11, 2026

Cross-Channel Measurement Is Broken, Here Is How Smart Teams Work Around It

The Math That Never Adds Up

Pull up your channel-level reports. Add up the conversions each platform claims. Now compare that total to your actual revenue or lead count.

If you're running more than two paid channels, the platform-reported total is almost certainly 30-80% higher than what actually happened. I've seen cases where the combined platform reports showed 3x more conversions than the business actually recorded.

This isn't a bug. It's the entirely predictable result of every platform using its own attribution model to take maximum credit for every conversion it touched. Google counts a conversion if the user clicked a Google ad in the last 30 days. Meta counts it if the user saw (not even clicked) a Meta ad in the last 7 days. Your programmatic DSP counts it if there was an impression within its attribution window. One customer, one purchase, three platforms all claiming the full credit.

Nobody is lying exactly. They're just each telling a version of the story that makes them look essential. And when you add those stories together, you get fiction.

Why Walled Gardens Will Never Agree

Google, Meta, Amazon, TikTok, and every other major ad platform operate as walled gardens. They control the data inside their ecosystem and have no incentive to share it with competitors or help you figure out that maybe — just maybe — their contribution was smaller than reported.

The structural problem:

Each platform can only see its own touchpoints. Google knows about your Google Search clicks and YouTube views. Meta knows about your Facebook and Instagram impressions. Neither knows what the other did, and neither wants to.

Even if they did share data, their attribution models are fundamentally different:

PlatformDefault Attribution WindowModel TypeWhat It Counts
Google Ads30-day click, 1-day viewLast-click (mostly)Clicks and engaged views
Meta7-day click, 1-day viewLast-touch with view-throughClicks and impressions
DV360Varies by Floodlight setupVarious (last-click, linear, etc.)Depends on CM360 config
The Trade Desk30-day click, 14-day viewLast-touchClicks and impressions
TikTok28-day click, 7-day viewLast-touchClicks and views
Notice how every platform's default settings are designed to capture maximum credit. Long attribution windows, generous view-through counting, and models that give full credit to the last touch regardless of what came before.

The uncomfortable truth: these platforms are not in the business of helping you understand your media mix. They're in the business of selling you more media on their platform. Their reporting is designed to make them look effective, not to give you an objective view of reality.

The Double-Counting Problem in Practice

Let me walk through a real scenario to show how this plays out.

A user sees your Instagram ad on Monday morning (impression — no click). On Tuesday, they search for your brand on Google and click your paid search ad. On Wednesday, they see a retargeting display ad through your DSP. On Thursday, they visit your website directly and make a purchase.

Here's what each platform reports:

  • Meta: 1 view-through conversion (they saw the ad within 1 day of converting... wait, this was 3 days ago. If using 7-day view, Meta counts it)
  • Google Ads: 1 click conversion (user clicked a Google ad within the attribution window)
  • Your DSP: 1 view-through conversion (user saw a display ad before converting)
Total conversions reported across platforms: 3. Actual conversions: 1.

Now multiply this by thousands of conversions per month and you start to understand why your channel-level ROAS numbers never reconcile with your P&L.

Practical Workaround 1 — Incrementality Testing

Incrementality testing answers the question every marketer should be asking but few actually do: "How many of these conversions would have happened anyway without the ad?"

The concept is simple: You split your audience into two groups. The test group sees your ad. The control (holdout) group does not. You measure the conversion difference between them. That difference is your true incremental contribution.

How to run a basic incrementality test:

  • Pick one channel or campaign — Don't try to test everything at once
  • Define your holdout group — Most platforms support geographic holdouts (turn off ads in specific markets) or audience-based holdouts (exclude a random percentage of your target audience)
  • Run for a meaningful duration — At least 2-4 weeks, depending on your conversion volume
  • Measure the lift — Compare conversion rates between exposed and holdout groups
  • Calculate incremental CPA — Total spend divided by incremental conversions (not total conversions)
  • Platforms that support incrementality testing:

    • Meta: Conversion lift studies (available through your rep, not self-serve for most advertisers)
    • Google Ads: Conversion lift experiments for YouTube campaigns
    • DV360: Brand lift and conversion lift available through CM360
    • The Trade Desk: Offers geo-based incrementality testing
    Real-world finding: When I've run incrementality tests across different channels, the results are often humbling. A channel reporting a $50 CPA might have a $200 incremental CPA when you account for the conversions that would have happened organically. That's not a reason to turn the channel off — but it changes how you value it in your mix.

    The limitation: Incrementality tests are point-in-time. They tell you what happened during the test period with those specific conditions. Scaling those findings to different budgets, audiences, or time periods requires caution.

    Practical Workaround 2 — Media Mix Modeling (MMM)

    While incrementality testing measures one channel at a time, media mix modeling attempts to evaluate all channels simultaneously using statistical analysis.

    What MMM does: It takes your historical data — spending by channel by week, along with conversion data, seasonality, pricing, promotions, competitive activity, weather, and anything else that might influence results — and uses regression analysis to estimate the contribution of each channel.

    The advantages of MMM:

    • Works with aggregate data (no user-level tracking needed, so it's privacy-safe)
    • Evaluates all channels simultaneously, including offline media like TV, OOH, and print
    • Can estimate diminishing returns at different spend levels
    • Provides budget allocation recommendations
    The disadvantages:
    • Requires significant historical data (typically 2+ years of weekly data)
    • Results are backward-looking estimates, not real-time insights
    • Model quality depends heavily on the analyst and the data inputs
    • Hard to capture short-term tactical changes (the model works at a macro level)
    • Can't easily attribute at the campaign or creative level
    Who should use MMM: Brands spending $1M+ annually across 4+ channels, with at least 2 years of consistent data. Below that threshold, you probably don't have enough data variation for the model to produce reliable estimates.

    Accessible MMM tools:

    • Meta's Robyn — Open-source MMM tool (free, but requires data science skills)
    • Google's Meridian — Google's open-source MMM framework
    • Analytic Partners, Nielsen, Ekimetrics — Full-service MMM vendors (expensive but comprehensive)

    Practical Workaround 3 — Unified Reporting Dashboards

    You can't solve the attribution problem with a dashboard. But you can at least make the problem visible and manageable.

    The goal: A single view that shows every channel's performance alongside your actual business metrics, making it immediately obvious when platform reports diverge from reality.

    What to include:

    • Platform-reported conversions by channel (side by side, not summed)
    • Your actual CRM or e-commerce conversions (your source of truth)
    • The gap between reported and actual (the "inflation rate" by channel)
    • Spend and efficiency metrics normalized to a common standard
    • Time-series view so you can see trends, not just snapshots
    A useful metric: the platform inflation ratio.

    For each channel, divide platform-reported conversions by your actual attributed conversions. If Meta reports 500 conversions and your CRM attributes 300 to Meta (using UTMs or other tracking), the inflation ratio is 1.67x. Track this ratio over time. It gives you a rough "discount factor" to apply when reading platform reports.

    ChannelPlatform-Reported ConversionsCRM-Attributed ConversionsInflation Ratio
    Google Search4504001.13x
    Meta5003001.67x
    Programmatic Display200802.50x
    YouTube150602.50x
    Total Reported1,300
    Actual Conversions6502.00x overall
    This table is more useful than any single platform's attribution report because it shows you the scale of the problem and where the biggest discrepancies live.

    Practical Workaround 4 — Holdout Experiments

    Holdout experiments are incrementality tests at a strategic level. Instead of testing one campaign, you turn off an entire channel in specific markets and measure the business impact.

    Example setup:

    • Select 3-5 "test" markets and 3-5 "control" markets with similar demographics and historical performance
    • Turn off Meta completely in the test markets for 4 weeks
    • Keep everything else the same
    • Measure the conversion difference
    What you learn: If you turn off Meta and conversions drop 15%, you know Meta is contributing roughly 15% incremental lift. If conversions barely change, Meta might be reaching people who would have converted through other channels anyway.

    The challenge: This requires real courage. You're deliberately reducing spend in real markets and accepting short-term performance risk. Most brands are reluctant to do this, which is exactly why most brands have no idea what their channels actually contribute.

    Best practices for holdout experiments:

    • Choose markets that are representative but not your highest-revenue markets (to limit risk)
    • Run for at least 4 weeks to capture full purchase cycles
    • Control for as many external variables as possible (promotions, pricing, seasonality)
    • Document everything — these insights are valuable for months
    • Start with your highest-spend channel. That's where the most budget is at stake and the potential insight is greatest.

    The Role of CM360 as a Neutral Ad Server

    Campaign Manager 360 (CM360) occupies a unique position in the measurement stack. As an ad server, it sits between advertisers and publishers, tracking impressions, clicks, and conversions across channels with a single methodology.

    Why CM360 helps:

    • It applies one attribution model across all channels (instead of each platform using its own)
    • It deduplicates conversions — one conversion is counted once, then attributed to the touchpoint(s) that CM360's model determines
    • It provides a consistent view of reach and frequency across display, video, and audio
    • Path-to-conversion reports show the full customer journey across channels
    Why CM360 isn't a complete solution:
    • It can't see into walled gardens (Meta and TikTok impression data doesn't flow into CM360 natively)
    • It's primarily a Google ecosystem tool, so there's inherent bias in how it evaluates Google vs. non-Google media
    • The default attribution model (last-click) in CM360 has its own problems — though you can switch to data-driven or other models
    • It requires proper setup — Floodlight tags, ad serving through CM360, and consistent naming conventions
    The practical recommendation: Use CM360 as your measurement backbone for display, video, and programmatic campaigns. Accept that it won't capture Meta or TikTok touchpoints natively, and supplement with those platforms' own reporting plus your dashboard inflation ratios.

    When "Good Enough" Measurement Beats Perfect Measurement

    Here's something nobody in the analytics space wants to admit: perfect cross-channel measurement is currently impossible. The technology doesn't exist, the privacy landscape is moving in the wrong direction for user-level tracking, and the walled gardens have no incentive to cooperate.

    Chasing perfection in measurement is a trap. I've seen teams spend six months and $200K on an attribution project that ultimately delivered a model nobody trusted and nobody used.

    The "good enough" approach:

  • Use platform reporting for within-channel optimization — Google Ads data is fine for deciding which keywords to bid on. Meta data is fine for deciding which creative to scale. Each platform's data is reliable for relative comparisons within itself.
  • Use your CRM/analytics as the source of truth for cross-channel comparison — Your actual sales data, tracked with UTMs and server-side logging, tells you what actually happened even if it can't perfectly attribute every touchpoint.
  • Run incrementality tests quarterly on your highest-spend channels to calibrate your understanding of true contribution.
  • Use MMM annually (if you have the data) to inform strategic budget allocation decisions.
  • Accept the uncertainty and make decisions based on directional insights rather than waiting for perfect data that will never come.
  • The brands that outperform aren't the ones with perfect measurement. They're the ones that make good decisions quickly with imperfect data, test their assumptions regularly, and iterate.

    Cross-channel measurement is genuinely one of the hardest problems in digital advertising, and there is no silver bullet. But there are frameworks that bring clarity to the chaos. At AdCharta, we help brands build measurement approaches that are practical, actionable, and honest about what they can and can't tell you — because a "good enough" measurement system you actually use beats a perfect one that lives in a slide deck. If you're struggling with conflicting numbers across platforms, let's figure it out together.

    Ready to Grow Your Ad Performance?

    Get a free audit of your current advertising setup and discover untapped growth opportunities.

    Get a Free Quote
    hello@adcharta.com