Metric Discrepancies & Attribution

Modeled Conversions: What Google and Meta Are Filling In for You

By Chinmay Raibagkar·August 28, 2026·9 min read·Some SQL

The 60-second version

A share of the conversions in your ad dashboard were never observed — they were estimated. What modeling is, why it exists, and how to report a number that is part measurement and part inference.

  • What happened, in one line
  • What to do about it this week
  • What you can safely ignore

Somewhere between a fifth and a half of the conversions in your ad dashboard were never observed. No pixel fired for them. No gclid came back. No row in your database corresponds to them. They are estimates — statistical inferences the platform made about journeys it could no longer see, presented in the same column, in the same font, as the ones it actually witnessed.

This is not a scandal and it is not hidden. It is a reasonable response to a measurement environment that broke, and both Google and Meta document it. But it changes what a conversion number is, and almost nobody adjusts their reporting to match.


Why modeling exists

The tracking model that ad platforms were built on assumed a stable third-party identifier could follow a person from ad to purchase. Between roughly 2017 and 2024, that assumption was dismantled from four directions at once:

  • Apple ITP capped client-side cookie lifetimes to seven days, and to 24 hours after certain redirects.
  • App Tracking Transparency made cross-app identification opt-in, and the opt-in rate landed somewhere around a quarter of users.
  • Consent regimes in the EU and elsewhere mean a meaningful share of European visitors never permit measurement at all.
  • Browser defaults — Firefox and Safari blocking third-party cookies outright, Chrome's ongoing changes — removed the mechanism entirely for a large slice of traffic.

The platforms had two options: report only what they could still see, and show a conversion count that fell off a cliff, or estimate the rest. They estimated.

What modeling actually is. The platform takes the population of users it can still fully observe, learns the relationship between observable signals — click behaviour, time of day, device, campaign, historical conversion rates for similar cohorts — and conversion outcomes, then applies that learned relationship to the users it cannot observe. It is the same statistical move as an exit poll: measure a sample, infer the whole.


What each platform models, and what it calls it

Three Kinds of Number in One Column

Data Journey
Stage 1Deterministic
Observed

A click identifier survived from ad to purchase, and the conversion was matched to it directly. Reconcilable against your database, row by row.

Matchable to an order id
Stage 2Estimated
Modeled

No identifier survived. The platform estimated the conversion from the behaviour of comparable observed users.

No corresponding order row
Stage 3Hashed identity
Enhanced / matched

You sent hashed email or phone data server-side; the platform matched it to a logged-in user. Observed, but through a different mechanism.

Matchable, with a match rate

Google Ads applies conversion modeling across several surfaces: cross-device conversions, conversions from users who declined consent (Consent Mode v2 behavioural and conversion modeling), Safari and iOS app conversions, and view-through. Google does not, in general, break out a "this many were modeled" figure in the standard reporting UI — the modeled conversions are folded into the conversions column. Consent Mode reporting is the one place you get visibility into the modeled uplift.

Meta has moved through several generations of this — statistical attribution after ATT, and increasingly a blended modeled attribution across its reporting. Meta likewise reports a single conversions figure with modeled conversions included.

GA4 models too, in a different way: it uses behavioural modeling to fill in users who declined consent, and applies a data-driven attribution model on top. GA4 is somewhat more transparent, flagging when modeling is active on a report and when data is thresholded.

The practical consequence: you cannot subtract modeled conversions out. There is no toggle that shows you only the observed ones on most reports, and no way to identify which specific conversions were inferred. The number is a blend, and you have to treat it as one.


What this breaks in your reporting

It makes row-level reconciliation structurally impossible

The most common wasted engineering week: someone tries to match every Meta-reported conversion to an order in the database, finds 30% of them have no match, and concludes the pixel is broken. It is not broken. Those conversions correspond to no order because they correspond to no specific order — they are a statistical mass, not a set of transactions.

Reconciliation has to happen at the aggregate level. Compare totals and ratios; never attempt a row-level join between platform conversions and your orders table and expect it to close.

It makes small slices unreliable

Modeling is trained on aggregate patterns, so it is most accurate at aggregate scale. On a campaign with 12 conversions in a week, the modeled portion is an estimate applied to a tiny population, and the error bars are wide. Platforms typically suppress or degrade modeling below volume thresholds, but the reported number still looks precise.

Practical rule: treat modeled-inclusive numbers as directional below about 100 conversions per slice per period, and as reasonable above it.

It changes what a discrepancy means over time

Because modeled share moves with browser policy, consent rates and your own traffic mix, a widening gap between platform-reported and database-reconciled conversions is no longer clean evidence of a tracking regression. It may just be more of your traffic falling into the modeled bucket. This is why tracking the ratio over time matters more than investigating any single week's gap.

The 'broken pixel' that was a traffic-mix shift

Common misdiagnosis
MarchPlatform 1,000 / DB 820Ratio 1.22 — stable for months
JunePlatform 1,000 / DB 690Ratio 1.45 — looks like a regression
What changediOS share 38% → 61%A campaign shift moved spend towards Instagram placements
Actual pixel healthUnchangedMatch rate within observable traffic was flat throughout
More iOS traffic means more of the population is unobservable, which means a larger modeled share, which means a larger gap against your database. Nothing broke. Two days of engineering time were spent proving it.

How to report a number that is part measurement, part inference

1. Keep the modeled-inclusive number where it belongs: in the bidding

Platform algorithms are trained on their own signal, including modeled conversions. Feeding them a filtered or corrected number would degrade optimisation. Let the platform bid on its own number. This is not a compromise; it is the correct use of it.

2. Report externally on numbers with no modeling in them

Anything that leaves the marketing team — board decks, budget cases, unit economics — should be built on your own database. MER, blended CAC, and contribution margin all have this property: no platform touches the numerator or the denominator, so no modeling can enter.

3. Track the overclaim ratio as a health metric, not a target

Platform Overclaim Ratio, Tracked Weekly

Show query

A stable ratio — even a high one — means your measurement is behaving consistently. A ratio that jumps by more than about 0.15 in a week is worth a look, starting with traffic mix before touching the tag.

4. Improve the observed share instead of fighting the modeled one

You cannot reduce modeling directly, but you can shrink the population that needs modeling:

Reducing the Modeled Share

Process Flow
1

Server-side conversion APIs

Meta's Conversions API and Google's Enhanced Conversions send hashed first-party identifiers server-side, where ad blockers and ITP cannot reach. Typically the single largest improvement available.

2

Capture identity earlier in the funnel

An email captured at newsletter signup, not just at checkout, gives far more to match against — including for users who buy on a different device.

3

Implement Consent Mode properly

Correctly configured consent signals let Google model *with* your consent data rather than guessing at its absence. Misconfiguration here is common and expensive.

4

Keep your own first-party attribution

Store the landing-page click id on the order row at checkout. This is the only attribution nobody can take away from you.

That last step deserves emphasis. Capturing gclid, fbclid and UTM values into a cookie at landing, then writing them to the order record at checkout, gives you a deterministic, first-party attribution table that is entirely yours. It will show fewer conversions than the platforms do — that is the point. It is the floor, and the platforms report the ceiling.

Three Numbers, Three Owners

Reporting Hierarchy
Tier 1
Platform-reported (modeled inclusive)

The ceiling. Owned by the media buyer, used for bidding, never summed across platforms and never shown to finance.

Observed + modeled + view-through
Tier 2
First-party attributed

The floor. Orders carrying a click id you captured yourself. Deterministic, conservative, and yours regardless of platform policy.

Orders with a captured click id
Tier 3
Blended / MER

The truth about total efficiency. No attribution, no modeling, nothing to dispute. The number that goes to the board.

Total revenue ÷ total spend

Frequently asked questions

Can I turn modeled conversions off?

Not in any meaningful way on the main reporting surfaces. Google offers some visibility into consent-modeled uplift through Consent Mode reporting, and both platforms document what is modeled, but there is no toggle that gives you an observed-only conversions column across the board. Build your own first-party attribution if you need an unmodeled floor.

Are modeled conversions real sales?

In aggregate, mostly yes — they represent purchases that genuinely happened but could not be individually observed. What is much less certain is whether the ad caused them, and whether the specific campaign credited deserves the credit. Modeling estimates observation gaps; it does not establish incrementality.

How big is the modeled share, typically?

It varies enormously by traffic mix, geography and consent regime, and the platforms do not publish a general figure. It is materially larger for iOS and Safari traffic, and larger again in consent-regulated markets. Rather than guessing at a benchmark, measure your own gap between platform-reported and first-party-attributed conversions — that difference is your modeled-plus-unobserved share, and it is the only figure specific to you.

Does this affect view-through conversions differently?

View-through conversions were always the least verifiable number in the dashboard, and modeling compounds it: an estimated conversion attributed to an impression nobody clicked. Report click-based and view-based conversions separately, always. Blending them is how a 2x ROAS becomes a 5x ROAS on a slide.

Should I stop trusting platform numbers?

No — use them for what they are good at. They are the best available signal for relative decisions inside a platform: which ad set, which creative, which audience. They are unsuitable for absolute decisions: total budget, unit economics, whether the business is working. Route each number to the decision it can carry.


The summary

  • A meaningful share of reported conversions are estimated, not observed, and the two are not separated in the reporting UI.
  • Modeling exists because ITP, ATT, consent regimes and cookie deprecation removed the mechanism platforms were built on. It is a reasonable response, not a deception.
  • It makes row-level reconciliation impossible by construction — stop trying, and reconcile on aggregates and ratios instead.
  • Watch the overclaim ratio's movement, not its level, and check traffic mix before diagnosing a tracking regression.
  • Shrink the modeled share with server-side conversion APIs and earlier identity capture; build your own first-party attribution as the deterministic floor.
  • Bid on the platform number. Report on yours.
Free tool

MER Calculator

Total revenue divided by total marketing spend — the attribution-agnostic efficiency number, plus its contribution-margin-adjusted variant.

CR

Chinmay Raibagkar

About author →

Founder of DataLens AI. He helps non-technical teams read their ad and database numbers with confidence — which number to trust, what to do next, and what to ignore.