Geo testing: how geo lift tests measure ads
By Harry Burman · Updated October 15, 2026
A geo test measures what your ads cause by changing them in some regions and not others, then comparing sales. Because it only needs sales by region, not tracking of individual shoppers, it works for sales no ad platform can see, like Amazon orders.
Geo testing measures ads by changing them in some regions, such as states, metro areas or postal codes, and comparing sales with regions where nothing changed. It only needs sales by region, so it works for sales no ad platform can track, including Amazon orders by ship-to state. The steps: collect several months of sales by region, choose test and control groups that have sold in step, size the test so it can see a realistic lift, check the calendar for sales events, run it for a fixed length, then compare how each group's sales moved. A holdout pauses ads to measure what current spend does; a scale-up raises spend to measure what more would do. Leakage across region lines pushes measured lift toward zero.
What is geo testing?
Geo testing (also called a geo experiment or geo lift test) splits a country into regions and treats them differently. Ads stay on in some regions and pause, or increase, in others. After a few weeks, you compare how sales moved in each set of regions. The difference is the effect of the ads, or the lift.
The regions can be states, metro areas (in the US, often Nielsen's 210 Designated Market Areas, or DMAs), or postal codes. Ad platforms like Meta and Google let you target or exclude any of these, which is what makes the test possible.
Google researchers described the approach in 2011 and later added a time-based regression version (Vaver and Koehler, 2011; Kerman and others, 2017). Meta publishes an open-source tool for it, GeoLift. For how geo tests sit next to user holdouts and models, see incrementality measurement.
Why use geography instead of people?
Ad platforms can run tests by person: show the ads to some users and not others. That's a clean design, but the platform can only count the sales it can track, such as purchases its pixel sees on your site. Sales on Amazon, in stores, or by phone are invisible to it.
Geo tests get around this. You only need sales by region, and most sales records already have that:
- Amazon order reports include the ship-to state and postal code.
- Shopify and other store platforms record shipping addresses.
- Retail sales can be grouped by store location.
Geo tests also capture effects that tracking misses, like someone who sees an ad and searches for you on Amazon a day later. That sale is counted in their region whether or not anyone tracked a click.
How a geo lift test works, step by step
- Collect history. Get several months of daily or weekly sales by region.
- Choose the groups. Pick regions for the test and control groups that have sold in step in the past. See matched market testing.
- Size the test. Work out the smallest lift the design could reliably detect, and how much ad spend it pauses. If it can't see a realistic lift, change the design before you start. The holdout test calculator gives a first estimate.
- Check the calendar. Avoid big sales events and your own promotions, which can swamp the effect.
- Run it. Change ads in the test regions using location targeting, and change nothing else.
- Measure. Compare how each group moved against its own history. The common methods are difference-in-differences, time-based regression and synthetic control.
Holdout, scale-up and other geo designs
- Holdout (go dark). Pause ads in the test regions. This measures what the current spend is doing. It's the most common design and the easiest to read.
- Scale-up (heavy-up). Raise spend in the test regions. This measures what more spend would do, which is useful before a budget increase, since returns usually shrink as spend grows. The marginal ROAS calculator explains why.
- New channel launch. Turn a new channel on in some regions first, then compare. This answers "is it worth rolling out?" before you commit nationally.
Limits of geo tests
- Leakage. People travel, commute and move across region lines, and location targeting isn't perfect. Leakage makes the groups more alike, so it pushes the measured lift toward zero.
- Small brands. With only a handful of orders a day, region-level sales are too noisy to see a realistic lift in a few weeks.
- Fewer units than a user test. There are 50 states, not millions of users, so groups can't be fully random and balanced by chance. Careful matching makes up for it.
- One moment in time. A result holds for the spend, creative and season you tested. Re-test after big changes.
How Spillmark runs geo tests for Amazon
Spillmark runs geo holdout tests for Meta ads across US states and measures Amazon orders by ship-to state. It picks the groups from 4,000 random splits of your own order history, sizes the test before anything pauses, checks the calendar, and locks the design before the test starts. The full method is on how lift is calculated.
Frequently asked questions
What is a geo lift test?
An experiment that changes ads in some regions and not others, then compares sales. The difference in how the regions moved is the lift from the ads.
How long does a geo test take?
Usually 4 to 12 weeks, plus some months of history beforehand. Brands with fewer sales need longer tests to get a clear answer.
Can geo testing measure Amazon sales?
Yes. Amazon order reports include where each order ships, so you can compare Amazon sales between regions where ads ran and regions where they paused.
What's the difference between GeoLift and a geo test?
A geo test is the experiment. GeoLift is Meta's open-source software for designing and analyzing one, using a method called synthetic control.
Should I use states or metro areas?
Metro areas give more units and better matches, but your sales data must record them. States are simpler and match how Amazon reports ship-to locations.
Sources
- Vaver & Koehler, Measuring Ad Effectiveness Using Geo Experiments (Google, 2011)
- Kerman, Wang & Vaver, Estimating Ad Effectiveness using Geo Experiments in a Time-Based Regression Framework (Google, 2017)
- GeoLift, Meta's open-source geo experiment package
- Ben-Michael, Feller & Rothstein, The Augmented Synthetic Control Method (2021)