The headline numbers
Every figure on this page is a median or a range from the model's own outputs, a ratio from the ad account, or a rate from the order history. Returns are short-term online revenue per £1 of media, before margin. The brand is anonymised and its spend totals are left out. The tests the model pointed to haven't run yet, so this is a read of findings, and it will be updated when they report.
The brief
The brand sells direct online in the UK, Germany, France and the rest of the EU. Its paid media runs on Google (Performance Max, brand and non-brand search, YouTube and Demand Gen) and on Meta (conversion and reach campaigns), and its year is weighted heavily towards the weeks before Christmas. The decision on the table was the budget for that peak: how much, and where.
Platform reporting answers a different question. Google and Meta each count the orders their ads touched, so their numbers overlap, and neither says how many of those orders would have happened without the ad. The brief was an independent read of what paid media caused, with ranges the team could plan against, delivered as a model that refreshes itself rather than a one-off report.
I already run the brand's marketing data warehouse, and that set the timeline. Weekly orders by market back to January 2023, and the spend and impressions of every campaign, were already clean tables in BigQuery, the foundation L/006 describes. The first fit ran on the first day, and the build, from the model's input views to a validated model on a quarterly schedule, took about two days.
What was built
A Google Meridian model, built the way the Meridian method sets out:
- Grain: weekly, four markets, 198 weeks from January 2023, fitted as one geo model so that each channel's effect is estimated across all four markets at once.
- Outcome: online orders, valued at average order value, so returns read as revenue per £1 of media.
- Channels: Google conversion (Performance Max, Shopping and non-brand search), Google upper funnel (YouTube and Demand Gen), Meta conversion and Meta reach. Brand search went in as a control rather than a channel, because it captures demand rather than creating it.
- Baseline: a level per market, 46 knots (roughly monthly) and two annual Fourier pairs for the Christmas shape, plus discount depth, sale weeks and calendar events.
- Priors: published channel benchmarks, with the top of each lower-funnel range set near the platform's own reported return on ad spend (ROAS), so a channel had to earn a higher return from the data.
- Compute: Colab Enterprise on Google Cloud. A fit takes about 15 minutes and costs around 15p, which made it practical to run 35 fits before settling on a specification, instead of presenting the first one.
- Outputs: Meridian's own model report and budget scenarios, and its Scenario Planner: a Google Sheet the model writes, read by a report in Data Studio (called Looker Studio until April 2026), where the team can try budgets of their own. A schedule refits the model and refreshes the sheet every quarter.
The first answer was wrong
The early fits gave Performance Max about £7 back per £1. That was double the ROAS Google reports for the same campaigns, and it barely moved when I halved the channel's prior, capped it or swapped it for another. A lower-funnel channel that beats its own platform's attribution and ignores its prior is a sign the model can't separate it from something else.
The something else was demand for the brand, and the Google Ads account, read through the API, showed how it reached PMax:
- PMax ran from 2023 to autumn 2025 without a brand exclusion. One was then added to every PMax campaign, but its Shopping ads kept serving on brand queries. PMax brand exclusions cover Shopping by default, with an option to keep Shopping running on excluded brand terms, and this account's exclusion behaved that way.
- Brand queries carried PMax's search results. In the UK, about 75% of PMax search clicks and 80% of its search conversion value came from queries containing the brand name. Searches for the product without the brand were around 13% of the value.
- Brand search was budget-limited. It ran on a fixed daily budget with a high ROAS target, and from late September it lost well over half of its impression share to budget. The brand queries it didn't serve went to PMax Shopping, to organic results, or to resellers.
So PMax spend rose in the weeks people were already searching for the brand. With no measure of that demand in the baseline, the model couldn't tell the two apart, and PMax took the credit.
The fix was a demand control: weekly series per market that track how much people want the brand, entered in the baseline.
- Brand-search clicks, the most direct measure of people looking for the brand.
- Google Trends interest in the brand's topic, per country, using the language-independent topic rather than a keyword, and weighted by each country's share of sales where a market spans several. Trends is less tied to the brand's own ad delivery than clicks are, though upper-funnel ads can still raise brand searches.
The first attempt, brand impressions divided by impression share, was too noisy and fell to zero whenever a brand campaign paused; PMax still scored about £7 with it. With clicks and Trends together, PMax fell to £3.29 per £1 (90% interval £2.32 to £4.76), and the model's fit on held-out weeks improved. The trade-off is that brand-search clicks are partly caused by video and reach campaigns, so controlling for them understates the upper funnel a little; a Trends-only run bounds how much.
The agreement is less reassuring than it looks. The corrected estimate lands on Google's own reported figure (£3.29 against £3.28, and Google's includes VAT, so like for like the model is still a little more generous). The two also share a blind spot: neither can say whether someone who typed the brand name would have bought anyway, through brand search or an organic result. The demand control halved the estimate. It can't prove that the rest is causal; only a test can, which is where the recommendations end up.
How far to trust it
Nothing was presented until the model had passed three kinds of check: the sampler, prediction on weeks it hadn't seen, and stability when the assumptions change.
| Check | Result |
|---|---|
| Sampler convergence | R-hat 1.03; all nine of Meridian's review checks pass |
| A random 10% of market-weeks held out | R² 0.93 |
| All of Q4 2025 held out, in every market | R² 0.70 |
| Q4 2025 held out in the UK only | R² 0.87 |
The all-market backtest is the hardest of these. Every market loses the same twelve weeks of peak trading, so the seasonal shape has to come from other years, and it only converged once the annual Fourier terms were in the baseline: knots in an empty window have nothing to fit. The UK-only backtest uses Meridian's geo holdout, so the other markets keep anchoring the shared baseline, and it is the fairer test of the UK read.
Then a sensitivity grid, changing one assumption per run: priors halved and doubled, each demand series on its own, the knot settings, new customers instead of orders as the outcome, and how the markets are scaled against each other. The point of the grid is to separate what held from what moved.
- Held in every run. Paid media explained about 31% of online orders and returned about £2 per £1 overall. YouTube and Demand Gen came out below £1 every time, the most stable finding in the model. PMax came out well above £1 every time.
- Moved with the assumptions. Meta conversion's estimate barely shifted from its prior (£1.02 before the data, £1.00 after), so the model's figure is a benchmark rather than evidence. Meta reach ranged from about 70p to £1.70. And scaling the markets by orders rather than population moved UK credit from PMax to Meta conversion (PMax from £3.29 to £2.18, Meta conversion from £1.00 to £2.12), while the UK-only backtest held up.
So the PMax and Meta conversion returns are reported as ranges (PMax £2.20 to £3.30, Meta conversion £1.00 to £2.10) until a test settles the split. The grid taught two more things. The channel read was effectively the UK's: the smaller markets' channel estimates came with intervals too wide to say much. And one seasonal curve, shared across markets, followed the UK's Christmas peak and missed a market whose year peaks in spring, so that market's peak-season channel reads were set aside until it has seasonal controls of its own.
What it means for the media plan
The most useful outputs were about the budget level and the account's structure, more than the split between channels.
The peak is a budget-level decision
Meridian's optimiser ran over last year's November and December weekly pattern at the same total, 20% less and 20% more, with each channel free to move 30% either way.
| Christmas budget | Return per £1 | At the margin |
|---|---|---|
| 20% below last year | about 94p | each £1 cut gave up about 23p |
| Last year's level | about 79p | the comparison point |
| 20% above last year | about 70p | each extra £1 brought back about 19p |
Every channel is deep in diminishing returns at Christmas spend. The best reshuffle within those bounds gained about 2%: small, but it beat the current split in 93% of posterior draws. The extra 20% bought 19p per £1, a loss at any realistic margin on short-term online sales. At the peak, the lever is how much to spend more than where, and the recommendation was to hold peak spend at last year's level and take any savings from the lowest-return line first.
Let brand search catch brand searches
- Lift the brand-search cap and loosen its ROAS target, so brand queries are caught by brand text ads rather than PMax Shopping. In October the brand's own ads appeared on about 40% of searches for its name, against 86% the December before, with a marketplace and a reseller in the other slots.
- Treat brand PMax as protection, not acquisition. Over 90% of PMax conversions were first-time customers, but 80% of its UK search conversion value came from people who had already typed the brand name: in customer terms that is acquisition, in demand terms it is capture. PMax's brand exclusion covers Shopping unless the option to keep Shopping serving is on, and campaign-level negative keywords now apply to Shopping as well as search, so brand can be split out of it cleanly once a test says whether it should be.
Upper funnel: cheap reach, measured
- YouTube and Demand Gen came out below £1 in every run, so they aren't channels to scale on this evidence: run the committed flight and measure it. The model sees short-term online revenue only, and retail sales and longer-term brand effects are invisible to it, so this is a floor rather than a verdict on brand video.
- Meta reach looked better, at about £1.40 per £1, but most of that rests on a single flight. The new season's plan had moved much of the reach budget into ThruPlay video at about nine times the cost per thousand impressions, where an impression needs about six times the effect of a reach impression to break even. Splitting the reach budget between the two lets the next refit compare them.
What it means for measurement
- Two layers, plus tests. Platform attribution and the model disagreed on Meta conversion (the platform reports a ROAS of 2.49; the model, about 1, close to its prior) and agreed on PMax, where agreement proves nothing. That is the case for running both layers, as L/004 argues, and for a third: tests, whose results go back into the model as priors.
- Judge acquisition on first-order economics. Twelve-month repurchase was 4 to 6% in every market and every year since 2020, so a customer is worth about 1.05 times their first order. There is no lifetime-value cushion to justify paying for demand that already exists.
- Compute first orders yourself. The commerce platform's returning-customer flag marked every order from anyone who had ever bought twice, their first included, which roughly doubled the apparent repeat share. The new-customer outcome uses each customer's first order from the full history instead.
- Size the test before proposing it. The PMax brand test switches a brand negative on and off by day, at random, for eight weeks in the UK, which detects a move of about 15% in orders. Comparing one market with another wouldn't work here: markets that peak at different times of year would need an effect of over 50% to show. A video geo holdout and a Meta Conversion Lift test complete the set, each aimed at one of the model's least certain numbers.
What's next
The model refits itself in January with the new quarter's data, with a challenger run on the orders-based market scaling alongside the main fit rather than replacing it. The tests are proposed for the new year, after the January sale. If they run, their results go into the model as priors, and this page will report what they showed.
Takeaways
- Look for demand before you believe a lower-funnel winner. A channel that beats its own platform's attribution and ignores its prior is confounded until shown otherwise.
- Read the ad account alongside the model. The PMax story was in the search-term insights and the impression-share columns, not in the posteriors.
- Report what held and what moved, separately. When a fit costs 15 minutes, a sensitivity grid is cheap, and it shows which numbers can bear a decision.
- At this brand's peak, the level was the decision. Reshuffling was worth about 2%; the extra 20% of budget returned 19p in the pound.
- Agreement with the platform is not validation. Design the test that could tell them apart.