Incrementality Testing
What Incrementality Testing Tools Do You Need In-house?
A practical comparison of the tools available for running an incrementality test in-house: native ad-platform lift studies (Google Ads Conversion Lift, Meta Conversion Lift, TikTok Conversion Lift Study) versus the open-source R and Python packages data teams actually use (GeoLift, CausalImpact, CausalPy, GeoexperimentsResearch), including a short code example and a framework for choosing between them.

You need two categories of incrementality testing tools to run a test in-house: platform-native tools within platforms like Google Ads and open-source causal inference packages like GeoLift and CausalImpact that a data team runs independently.
Most marketing teams don’t have a data problem. They have a proof problem. Dashboards show which channel a sale touched last, not which channel actually caused it. In ELIYA’s analysis, on average 20% of ad spend is wasted in many e-commerce brands, and brands typically unlock a further 5 to 15% of incremental growth once that wasted spend is reallocated with eliya.
This guide breaks down the platform-led options, the open-source packages, and how to decide between them, including a short worked example of what running one actually looks like in code.
💡 Key takeaways
Platform-native tools like Google Ads Conversion Lift and Meta Conversion Lift are the fastest way to test a single channel, but each platform designs, runs, and reports on its own test, so results aren’t independently verified.
Open-source packages like GeoLift and CausalImpact apply one consistent statistical methodology across every channel, and require in-house statistical skills to run and interpret the results correctly.
GeoLift uses synthetic control methods designed for geo testing, while CausalImpact uses Bayesian structural time series to measure the causal impact of a campaign.
The right tool depends on your team’s statistical skill, how many channels you need to test, and whether the results need to calibrate a broader Marketing Mix Model.
What Counts as an Incrementality Testing Tool?
Incrementality testing measures the causal lift of a channel using a randomized controlled experiment that withholds a channel or ad from a subset of audiences and comparing outcomes against a group that was exposed.
Most reviews of “incrementality testing tools” recommend commercial platforms that run the test and hand back a dashboard.

In this guide, we cover the two categories a technical team reaches for when it wants to design and run the test itself: the lift-study features inside ad platforms you’re spending on, and the open-source statistical packages that data scientists can run independently.
Geo holdout test: an incrementality test run at the separate geographical or market level, comparing sales in regions where a channel keeps running against sales in regions where it’s paused.
Geo holdout tests are useful when splitting at the individual level is impractical or impossible. For example, for testing TV, Radio, out-of-home, and retail media can’t be split cleanly at the individual level.
How Do Platform-Native Lift Studies Work?
Platform-native tools are built into the major ad platforms. They’re free, fast to launch, and easy as you do not need deep statistical knowledge to analyze the results on your end. The tradeoff is independence: platforms grade their own homework.
Google Ads Conversion Lift
Google Ads Conversion Lift runs as a user-level or geo-based experiment inside Google Ads, splitting eligible users or regions into test and control groups to measure the incremental conversions for campaigns like Search, Shopping, Display, or YouTube. It’s typically the starting point for brands spending heavily inside the Google ecosystem who want to run an incrementality test without building anything themselves.
Meta Conversion Lift and Brand Lift Study
Meta Conversion Lift works similarly inside Ads Manager, randomly assigning people to a test group that sees ads and a holdout group, then comparing conversion outcomes. Meta also offers a separate Brand Lift Study, which, instead of conversions, it measures ad recall and awareness. This test is useful when a campaign’s job is upper-funnel.
TikTok Conversion Lift Study
TikTok’s Conversion Lift Study applies the same holdout logic to TikTok campaigns. Snapchat and other platforms offer comparable native lift tools, following the same basic design.
The limitation across all of these is that each platform designs the test, runs the test, and reports the result for its own campaigns. Because each platform uses its own statistical approach, lift results from one platform isn’t comparable to another’s .
How Do Open-Source Causal Inference Packages Work?
Open-source tools trade convenience for independence. A data scientist designs the experiment, runs the analysis, and can independently analyze results with a consistent methodology. This assumes someone on the team knows R or Python and understands the underlying causal inference language.
GeoLift
GeoLift is an open-source R package. Built by Meta, it enables designing and analyzing geo-based incrementality tests.
Synthetic control method: used when a true randomized holdout isn’t available, the synthetic control method is a statistical technique that simulates a counterfactual from a set of untreated markets.
GeoLift uses synthetic control methods (SCM) to handle situations where a clean hold out or a matched market is difficult. It also includes power analysis tooling, helping teams understand how long a test needs to run.
For more details on SCM, we discussed the SCM and its variants in offline channel measurement.
CausalImpact
CausalImpact is Google’s open-source R package for estimating the causal effect of an intervention on a time series. The intervention could be a promotion, a new policy or introduction of a channel.
Bayesian structural time series: a statistical model that forecasts what a metric would have done without an intervention, then measures the gap between that forecast and what actually happened.
CausalImpact is one of the most widely used tools for analyzing a geo test. It builds a Bayesian forecast of what a metric, like sales or site traffic, would have looked like without a given marketing intervention, then compares that counterfactual to what actually happened.
CausalPy and GeoexperimentsResearch
CausalPy is a Python package from PyMC Labs for causal inference in quasi-experimental settings, supporting difference-in-differences, synthetic control, interrupted time series, and regression discontinuity in one consistent interface.
For teams already working in Python and Bayesian modeling, including anyone running a Bayesian Marketing Mix Model (MMM), it fits into the same workflow instead of requiring a separate R environment.
GeoexperimentsResearch is Google’s open-source R implementation of its internal geo experiment methodology: matched-market pairing, pre-test balance checks, and lift estimation.
See ELIYA’s guide to geo experiment design and iROAS methods like DiD, SCM, and BSTS for how these methods apply to offline and hard-to-split channels specifically.
GeoLift vs. CausalImpact vs. CausalPy: How Do You Choose Between the Open-Source Options?
Tool | Type | Key Strength | Best For | Differentiator |
|---|---|---|---|---|
Google Ads Conversion Lift | Platform-native | Native, no setup required | Brands testing Search, Shopping, or YouTube specifically | Supports both user-based and geo-based designs inside Google Ads |
Meta Conversion Lift | Platform-native | Fast holdout setup inside Ads Manager | Brands testing Facebook and Instagram campaigns specifically | Randomized test and holdout split managed entirely by Meta |
TikTok Conversion Lift Study | Platform-native | Native lift read for TikTok spend | Brands checking whether TikTok conversions are incremental | Same holdout logic as Google and Meta, scoped to TikTok |
GeoLift | Open-source ® | Synthetic control for markets without a clean holdout | Teams testing channels across many geographies at once | Built-in power analysis for test duration and market count |
CausalImpact | Open-source ® | Bayesian counterfactual forecasting | Analyzing lift after a test is already running | Originated from Google’s internal ad campaign analysis |
GeoexperimentsResearch | Open-source ® | Purpose-built geo experiment methodology | Teams wanting Google’s own matched-market design in code | Includes pre-test balance checks, not just post-test analysis |
CausalPy | Open-source (Python) | One interface for multiple causal designs | Teams already running Bayesian models in Python | Supports DiD, synthetic control, and regression discontinuity together |
Here’s roughly what running one of these looks like in R code. A CausalImpact test on a single geo, once you’ve defined a pre-period and post-period around the intervention, is a few lines:
data is a time series with your treated market’s metric alongside one or more untreated control markets. pre.period and post.period mark the date ranges before and after the channel changed.
The summary() call returns the estimated lift, a confidence interval, and a p-value, everything you need to decide whether the effect is real or noise.
Step by Step: How Do You Choose the Right Incrementality Tool for Your Team?
- Start with the business question. Decide whether you need to validate one or multiple channels, and whether you need to calibrate a broader measurement model.
- Match the test design to the channel. A channel that can be split by individual user, like paid search, works fine with a platform’s native lift study. A channel that can only be split geographically, like TV or out-of-home, needs a geo holdout.
- Check if you have in-house causal inference skills. GeoLift, CausalImpact, and CausalPy all assume someone on your team can set up, run, and correctly interpret an R or Python statistical model. If that’s not available yet, ELIYA’s guide to running a lift analysis step by step or an expert-run test is the more realistic starting point.
- Decide whether you need cross-channel comparability. Platform tools can’t be compared apples-to-apples with each other, since each uses its own methodology. If you need to rank channels against one another, an open-source tool applied consistently across all of them is the only way to get a fair comparison.
- Plan for how the results will get used. Media costs, seasonality, and promotions shift monthly, so a test run once at launch goes stale fast. Decide up front whether the lift number needs to calibrate a Marketing Mix Model, inform a budget reallocation, or settle a specific internal debate about a channel’s real return.

How Does ELIYA Approach Incrementality Testing Tool Selection?
ELIYA offers two solutions for incrementality testing: 1) self-service eliya studio, where users can design, implement, analyze and interpret experimental results. 2) Full service supported by our data science and marketing measurement experts who help choose the right tool depends on the channel and the question being asked. ELIYA’s team builds a matched-market or geo holdout design and calculates the statistical power needed for a confident result.
In our full service, ELIYA’s team runs incrementality testing and geo experiments as a standalone discipline, monitored live in-market for anomalies that could bias the result, with every design and result reviewed by a data scientist before it’s delivered.
What sets this apart from running GeoLift or CausalImpact in isolation is where the result goes next: straight into calibrating a Marketing Mix Model, so tested, real-world evidence keeps improving the model’s accuracy instead of sitting in a one-off report.
That’s the same approach behind one of ELIYA’s own client results. For Beliani, a European e-commerce furniture retailer, ELIYA’s first full incrementality audit found close to 24% of the brand’s media budget was going to saturated channels with no additional return.
Feeding those results into an always-on, monthly-refreshed Marketing Mix Model and reallocating budget on its recommendations drove 2.95M in incremental revenue over six months, without increasing total media spend.
If your team is already running tests but the results stop at a slide deck instead of changing a budget, book a meeting with ELIYA to see how that calibration loop works in practice.
Who Should Run Incrementality Tests In-House, and Who Needs an Expert?
Best fit for an in-house, open-source approach: a team with an analyst or data scientist comfortable in R or Python, testing a manageable number of channels, with time to build and maintain the testing infrastructure themselves.
Best fit for platform-native tools alone: a smaller team that needs a directional read on one or two channels and doesn’t need cross-channel comparability or a model-calibration pipeline.
Not a fit for either, and a better candidate for expert-run testing: a growth-stage e-commerce or multi-market brand with $2M or more in annual media spend, testing multiple channels that need to be compared on one consistent methodology, especially if the results are meant to calibrate an ongoing Marketing Mix Model rather than answer a single one-off question.
Frequently Asked Questions
Can I run an incrementality test without a data scientist on staff?
Yes, if you stick to platform-native tools like Google Ads Conversion Lift or Meta Conversion Lift, which handle the statistical design and analysis for you. Open-source tools like GeoLift, CausalImpact, and CausalPy require someone who can set up and correctly interpret a statistical model.
What’s the real difference between GeoLift and CausalImpact?
GeoLift is built specifically for designing and analyzing marketing geo experiments and uses synthetic control methods to build a counterfactual. CausalImpact is a more general time series tool that builds a Bayesian forecast of what would have happened without an intervention, and it’s typically used to analyze a test after it’s already running.
Is Google Ads Conversion Lift accurate enough to trust on its own?
It’s a legitimate, statistically designed test, but it measures and reports only on Google’s own campaigns, using Google’s own methodology. That makes it a useful directional signal for that specific channel, though it isn’t independently verified.
How much ad spend do I need before geo lift testing makes sense?
There’s no fixed threshold, but a geo holdout test needs enough markets and enough spend per market to produce a statistically meaningful result. Brands spending in the low six figures per year in a single channel often don’t have enough volume for a clean geo split.
Does an incrementality testing tool replace a Marketing Mix Model?
No. An incrementality test gives you a periodic, ground-truth input on a specific channel. A Marketing Mix Model gives you an ongoing, channel-level view of return across your entire marketing mix. The two work together: incrementality results are what calibrate the model.
The Bottom Line on Incrementality Testing Tools
Platform-native tools like Google Ads Conversion Lift and Meta Conversion Lift are the fastest way to get a lift read on a single channel. Open-source tools like GeoLift and CausalImpact give you an independent, consistent methodology across any channel. The right choice depends on how many channels you want to test, how the results will get used, and whether you have the in-house expertise.
If you’re a growth-stage e-commerce or multi-market brand spending $2M or more a year across channels and need incrementality results that don’t just sit in a report but actively calibrate a Marketing Mix Model your team can act on, eliya studio is built for exactly that kind of engagement.


