Sooner or later a CFO asks the simple question: which channels actually made us money last month? The tools rarely agree. They won’t. In a worked example, Meta might claim 240 orders while GA4 credits 95 to paid social and the shop backend records one final order total. None of those systems is necessarily broken. They measure different events, through different identity signals, with different rules for handing out credit.

Consent choices and browser tracking prevention made those gaps wider. They are not going away. The useful response is a measurement stack that respects consent, plus a reconciliation habit that keeps budget decisions tied to actual revenue.

The three pieces

Consent Mode v2 communicates a visitor’s consent choices to Google tags. For EEA traffic, Google says advertisers using its applicable measurement and advertising products must collect consent and pass the relevant signals. Basic and advanced implementations behave differently: basic mode blocks Google tags until consent, while advanced mode can send cookieless pings with consent denied. Read Google’s current explanation of consent mode, then verify the implementation in Tag Assistant. Test the banner for comprehension and completion, but never manipulate people into accepting.

Server-side tagging routes measurement through a server container that you control. It can reduce the number of third-party requests made by the browser and gives you a place to validate or remove fields before forwarding data. It does not bypass consent, browser policy or legal requirements. Treat it as control over permitted measurement, not a workaround. Google’s server-side tagging documentation covers the architecture and deployment options.

Modelled conversions estimate part of the unobserved gap in eligible Google Ads and Analytics setups. They are not raw orders. Google applies data thresholds before modelling is available, so write down which metrics are observed, which are modelled and where the model is used in bidding.

Pick one anchor and hold it

The habit that settles more arguments than any tool: nominate backend revenue as the number that wins. Platform-reported conversions are useful for optimising within a channel, because the bid algorithms need them. They’re unfit for cross-channel budget decisions, because every platform over-claims.

Keep one reconciliation sheet, updated weekly: claimed revenue per platform next to backend orders, returns and net revenue. The ratio between platform claims and actual revenue is an inflation index for that account. Its level will vary with channel mix and attribution settings. Its movement is the useful part. A sudden jump can point to a tracking break, duplicated events or a campaign type claiming credit differently.

Cheap incrementality checks

You don’t need a data science team to sanity-check attribution. Three practical tests cover many budget questions:

  1. Brand search holdout. Pause brand search in a comparable region and watch how much volume moves to organic and direct. Choose the test length from your conversion cycle and expected order volume.
  2. Geo split. Run a channel in a set of regions and hold it off in a comparable set, then compare backend revenue between the groups. Use total revenue, not the platform’s attributed total.
  3. Spend step. Change one channel’s budget by a planned amount for a fixed window. If attributed revenue moves while backend revenue does not, the extra spend may be reshuffling credit rather than creating orders.

The right frequency depends on spend and seasonality. Start with the channel whose next budget decision depends most heavily on attribution assumptions.

Where this lands

Perfect attribution is gone, and no vendor is bringing it back. Decision-grade attribution is available. Test the consent setup, document the modelled data and reconcile every platform against backend revenue. Run an experiment when the decision is large enough to deserve one. That’s enough to move budget with evidence instead of attribution theatre.