Skip to content

For GA4 usersFrustrated with GA4 attribution? Upload your GA4 export, see causal insights in 5–10 minutes for €99 pay-per-use.

Causal Inference

8 min read

How to Prove a Channel Caused Revenue Without Running an Experiment

Geo holdouts are not the only way to prove incrementality. Here is how causal inference on the GA4 export you already own answers the same question in minutes, and when you should still run the experiment.

Share
Quick Answer·8 min read

How to Prove a Channel Caused Revenue Without Running an Experiment: Geo holdouts are not the only way to prove incrementality. Here is how causal inference on the GA4 export you already own answers the same question in minutes, and when you should still run the experiment.

Read the full article below for detailed insights and actionable strategies.

Key insight

40-60%

Conversion data lost to iOS privacy, ad blockers, and cookie consent

You can prove a channel caused revenue without switching anything off. The method is causal inference on the observational data you already have: reconstruct the counterfactual, meaning what sales would have looked like without that channel, and compare it to what actually happened. Geo holdout experiments remain the strongest proof for a single high-stakes decision, but they cost five figures, take 4 to 8 weeks, and demand a scale most DTC brands do not have. A causal read on a GA4 export gives a decision-grade answer today. Here is how it works, what it assumes, and when the experiment is still worth running.

Why does everyone tell you to run a geo holdout?

Ask any measurement vendor whether a channel is incremental and you will get the same answer: run an experiment. Haus and Measured built their businesses on geo holdouts, and Google joined them when Meridian added GeoX experiment integration in May 2026. The pitch is not wrong. Switch spend off in a matched set of regions, keep it on elsewhere, and the sales gap is about as close to proof as marketing gets.

The problem is the invoice and the calendar. Enterprise vendors gate experiment programs behind five-figure contracts. A single geo holdout takes 4 to 8 weeks from design to read, and it needs enough scale that switching off a region still leaves measurable signal behind. If you spend €30K a month on paid social, a two-week blackout in half your markets is a real revenue risk, not a rounding error.

Then there is the politics. Someone has to tell the growth team to stop spending in regions that are working, in a quarter where targets are already tight. Most incrementality testing programs die in that meeting, not in the statistics. So the honest question for a sub-€10M brand is not "is the experiment better?" It is "is there a credible second way to the same answer?"

What is a counterfactual, really?

Every sale in your dashboard happened in a world where your ads ran. The causal question lives in the world you never see: what would this customer have done without the ad? That unobserved world is the counterfactual, and every incrementality method, experiment or not, is a different strategy for estimating it.

An attribution model does not estimate the counterfactual at all. It looks at the touches that happened and redistributes credit among them. If a retargeting ad reaches someone who was already walking back to your site, attribution hands the ad the credit. Causal inference asks whether the sale would have happened anyway, and counts only the difference.

That difference is the only number a budget decision should care about. A channel can show a beautiful ROAS and still add nothing, because it harvests demand that already existed. Another can look weak on last click and quietly create most of your new customers. You cannot tell the two apart without a counterfactual.

How does causal inference work on data you already have?

Here is the part vendor blogs skip. Your account history already contains experiments; you just did not run them on purpose. Budget changes, a spend pause when a card failed, a creative that burned out, a channel you scaled for a promo week: each one moved spend independently of customer demand. Observational causal inference finds that variation in your GA4 export and uses it to separate baseline demand from channel-driven demand.

A simple example makes it concrete. One anonymized fashion brand we read had doubled paid social spend for a two-week push in October, then drifted back to normal. The read used the weeks before and after to learn what demand looked like at each spend level, then credited the channel with only the revenue above that learned baseline. The rest was seasonality and returning customers, sales the ads had been claiming credit for all along.

In practice, the method reconstructs your baseline, the sales you would have had from seasonality, returning customers, direct traffic and organic demand, then measures how much extra revenue appeared when a channel's spend moved. Because the export is daily and transaction-level, it carries far more variation than the weekly aggregates marketing mix modeling relies on. That is why a causal read works on months of history where MMM wants 2 to 3 years of clean weekly data. We break down that data requirement in what Meridian will not tell smaller brands.

Now the honesty part: this works under assumptions, and you should know them. Spend has to vary over time, otherwise there is nothing to learn from. Tracking has to stay consistent across the period. And no large unmeasured demand shock may land in exactly the weeks spend changed, because no model can distinguish a PR mention from a budget increase if they always arrive together. When those conditions hold, the estimate is causal, not correlational. When they do not, no observational method can save you, whatever the sales deck says.

When do you still need an experiment?

Three situations, honestly. First, a brand-new channel with no history: there is no variation to learn from, so a launch test is the only way to get signal. Second, a violated assumption: if a video went viral the same week you doubled Meta spend, that week is contaminated, and you should say so. Third, the seven-figure decision: if a number will lock an annual contract or a board-level budget, a holdout is worth the 4 to 8 weeks, because its proof is the hardest to argue with.

There is also a calibration argument. Run one clean geo holdout on your biggest channel, once, and compare it to the causal read on the same period. If they agree, you have validated the cheap method against the expensive one, and you can read continuously from then on instead of testing one question per quarter. Our branded search and retargeting incrementality test walks through that comparison for the two channels where attribution most often overclaims.

Which method fits your question?

Geo holdout experimentMarketing mix modelingObservational causal read
Cash cost (July 2026)Five-figure vendor contractsSoftware free (Meridian), but analyst weeks per refresh€99 per read, or €299/mo Pro
Time to an answer4 to 8 weeks per questionMonths to assemble 2 to 3 years of history, then weeks per refresh5 to 10 minutes on a GA4 export
Minimum spend to trust itLarge: each geo cell needs enough conversions to detect lift (practitioner rule of thumb: €50K+/month in the tested channel)Enterprise-scale spend across many channelsOrdinary DTC spend; built for brands under €10M
What you can trustStrong causal proof, one channel in one periodChannel-level budget allocation, wide intervals at small scaleCausal estimates on your real history, with stated assumptions you can audit

Read the table as a ladder, not a fight. Experiments give the strongest proof for one cell at a time. MMM allocates big budgets across many channels once you have the history. A causal read answers the question most DTC teams actually ask every month: is this channel incremental, and what is its incremental ROAS?

That third column is what Causality Engine runs. GA4 export in, causal read out, in 5 to 10 minutes, with no pixel and no annual lock-in. If you want to see the output before you buy, look at a demo read on real GA4 data. And for context on what normal looks like, our 2026 DTC attribution benchmarks show what 1,300+ causal reads actually found across brands at your stage.

Key takeaways

  • "Run a geo holdout" is the incumbent answer from Haus, Measured and Google's Meridian GeoX (May 2026), but experiments cost five figures, take 4 to 8 weeks, and need a scale most DTC brands lack.
  • Every incrementality question is a counterfactual question: what would sales have been without the channel? Attribution models never touch that question.
  • Your GA4 export already contains natural experiments: budget changes, pauses and promos. Causal inference uses that variation to estimate the counterfactual without switching anything off.
  • Observational reads work under stated assumptions: spend variation, consistent tracking, no coincident demand shocks. When those break, run the experiment.
  • Best practice is calibration: one clean holdout to validate the causal read, then continuous reads at €99 instead of one experiment per quarter.

Further reading

Get attribution insights in your inbox

One email per week. No spam. Unsubscribe anytime.

Key Terms in This Article

Related Articles

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Ready to see your real numbers?

Own the budget? Upload your GA4 export and see which channels drive incremental sales, with confidence intervals, in minutes. Have to defend it? Start with the live demo and take the read to your CFO.

Full refund if you don't see value.

Stay ahead of the attribution curve

Weekly insights on marketing attribution, incrementality testing, and data-driven growth. Written for the person who owns the budget and the person who has to defend it.

Which one are you? Optional.

No spam. Unsubscribe anytime. We respect your data.

Frequently Asked Questions

What is observational causal inference?

Observational causal inference estimates what would have happened without a marketing action by studying variation that already exists in your historical data, such as budget changes, spend pauses and promotions, instead of running a controlled experiment. It reconstructs baseline demand and measures the gap when spend moves. Results are causal when key assumptions hold: spend varies over time, tracking stays consistent, and no large unmeasured shock coincides with the spend changes.

How is a causal read different from an attribution model?

An attribution model redistributes credit among the touches it observed, so a retargeting click gets credit even when the customer was already returning. It never asks whether the customer would have bought regardless. A causal read estimates that counterfactual, the world without the channel, and reports only the revenue the channel actually added. One answers "who touched it", the other answers "what did it cause".

Do I ever still need a geo holdout experiment?

Yes, in three cases: launching a channel with no history to learn from, periods where an unmeasured shock like a viral moment coincides with spend changes, and decisions big enough that stakeholders demand experimental proof. A practical pattern is running one clean holdout to validate a causal read on the same period, then using the cheaper read continuously afterward instead of testing one question per quarter.

How much does a marketing incrementality experiment cost in 2026?

As of mid-2026, enterprise measurement vendors typically gate experiment programs behind five-figure contracts, and one geo holdout usually runs 4 to 8 weeks end to end, from design through the final read. On top of the fee, you carry the revenue risk of deliberately switching spend off in some regions. An observational causal read on a GA4 export costs €99 per read, runs in minutes, and requires no pixel or annual contract.

What data do I need for a causal read without an experiment?

A standard GA4 export covering your traffic and transaction history, with spend that varied over the period. Months of daily, transaction-level data is typically enough, because daily variation carries more signal than weekly aggregates. You do not need a new pixel, a consent banner change, or a data science hire. Consistent tracking across the period matters more than raw volume.

Can a causal read replace marketing mix modeling?

For most sub-€10M DTC decisions, yes. Marketing mix modeling wants several years of consistent weekly history, typically 2 to 3 years, plus enterprise-scale spend before its estimates stabilize, while a causal read on daily GA4 export data answers the same budget questions with far less history. MMM becomes the right tool later, when you have the history, the spend, and many channels including offline to allocate across.

Related reports

Real reports on this topic.

Anonymised reports from the Attribution Report Library tagged with causal inference.

Browse all related reports

Find your wasted ad spend in 5–10 minutes.

Watch the model work on a sample store first, no signup. Then upload your last 40–90 days of GA4 sessions and get incremental ROAS with confidence intervals. No pixel, no SDK. €99 per read.

Prefer to talk it through? Book a 20-min call, or read how it works.

Last-click guesses.We run the math.

Causal attribution for ecommerce brands. Watch the model work on a sample store first, then upload your GA4 export and see which channels really drove revenue in 5–10 minutes. €99, pay-per-use. Pro at €299/mo when you want it continuous.

No signup for the demo. Book a 20-min call or compare plans.