
Advertised targeting depth and delivered location accuracy are two different numbers, and only one of them appears on a pricing page. A network can offer postcode selection honestly and still place a meaningful share of your exits in the wrong suburb, because the two claims are measured against different things.
This article explains how residential geo-targeting is resolved, why accuracy decays as the requested area narrows, how to verify a provider's placement against an independent reference, and how to design a workload that tolerates the accuracy you can actually obtain.
How a location claim is produced
Providers do not know where a household is. They infer it, usually by looking the exit address up in a commercial geolocation database and occasionally by combining that with routing data or with information the participant supplied. The dashboard label you see is the output of that inference, not a measurement, which is why two providers can place the same address in two different cities without either being dishonest.
Databases also age. Address blocks are reassigned between regions, subscriber allocations move, and lookup vendors refresh on their own schedules. A pool refreshed monthly against a database refreshed quarterly will drift, and the drift is invisible from inside the provider's own console.
Accuracy falls fastest where the market is thin
Country-level selection is close to reliable almost everywhere, because the inference only has to be right about a very large area. Each narrowing step compounds the uncertainty, and it compounds fastest where there are fewest participating households to choose from. A capital city with dense supply can sustain accurate metropolitan targeting; a secondary town in the same country frequently cannot, and the gateway will quietly fall back to the nearest available exit rather than refuse the request.

That silent fallback is the behaviour most worth knowing about. Ask each provider directly what happens when the requested area has no capacity: a refusal is easy to handle in code, whereas an unannounced substitution produces data that looks correct and is not.
Verify placement against an outside reference
Never validate a provider's location claim using the provider's own console. Resolve the exit address through an independent geolocation service, and where the workload genuinely depends on locality, compare against what the destination itself reports: the currency shown, the language served, the store selector, or the delivery estimate. Those signals reflect how the site classified you, which is the only classification your workload cares about.
| Targeting level | Reasonable expectation | How to verify |
|---|---|---|
| Country | Dependable in nearly all markets | Any independent lookup |
| Region or state | Dependable in dense markets | Independent lookup plus site region hints |
| Metropolitan area | Good in capitals, mixed elsewhere | Store locator or delivery estimate |
| City | Sample before relying on it | Destination-reported city or currency |
| Postcode | Treat as best-effort | Only where the site exposes postcode logic |
Sample the markets that are likely to fail
Evaluation samples gravitate toward the easy cases: large capitals with deep supply, tested during working hours. Deliberately invert that. Draw the sample from the smallest markets on your requirement list, run it at an off-peak hour for that region, and record the hit rate per target rather than an average across all of them.
- Pick the narrowest area the workload genuinely needs, not the narrowest the plan permits
- Sample secondary cities first, because that is where the pool thins
- Record hit rate per target rather than one blended accuracy figure
- Note whether misses cluster in a neighbouring region or scatter nationally
- Re-sample after any pool refresh or plan change
Design the workload around achievable precision
Ask for the widest area that still answers the question
Requesting a postcode when a metropolitan area would answer the business question buys inaccuracy and usually a higher tier as well. Precision should be a requirement, not a preference.
Validate at the record, not at the request
Capture the location the destination believed you were in and store it alongside the collected record. Analysis can then filter on verified locality, and a placement miss degrades the sample rather than corrupting the conclusion.
Let the pipeline retry into a wider area
Where a narrow request cannot be satisfied, a controlled fallback to the parent region, recorded as such, is more useful than an unlabelled substitution. The data stays honest about its own precision.
Why placement drifts between one month and the next
A pool that measured well in March can measure differently in June without the provider changing anything you were told about. Households leave the network and new ones join, seasonal supply moves with device usage, and the geolocation database underneath the labels is refreshed on its own cycle. None of that is visible from a dashboard that reports only what the current lookup says.
Two operational habits absorb the drift. The first is a small standing sample, run weekly against a handful of fixed target cities, stored so the trend is visible rather than inferred. The second is to record the verified location on every collected record, so that when a monthly report looks unusual the question of whether placement moved can be answered from the data already held rather than from a new investigation.
Mistakes that quietly corrupt location-sensitive data
Trusting the dashboard label
The console reports the inference, not the outcome. Treating it as ground truth means a database error propagates straight into your analysis with no signal that anything went wrong.
Averaging accuracy across markets
A blended figure of eighty per cent can hide a capital at ninety-eight and the two secondary cities you actually care about at forty. Location accuracy is only meaningful per target.
Mixing verified and unverified records
Once a dataset combines records whose locality was confirmed with records where it was assumed, the whole set inherits the weaker guarantee. Store the verification status as a field and filter on it at analysis time.
Carrier and network targeting is a separate axis
Some networks also allow selection by carrier or autonomous system number, which is occasionally more useful than geography. Mobile network operators serve different content in some markets, and a workload verifying that experience needs carrier selection rather than a tighter postcode. Availability is inconsistent across providers and often tied to higher tiers, so confirm it against the plan you intend to buy rather than the plan on the comparison page.
Where a provider does expose it, autonomous system selection is also the cleanest way to keep a long-running comparison stable. Pinning a study to one network operator removes an entire source of variance between months, which matters more for trend work than for one-off snapshots.
Write the precision into the deliverable
Whatever accuracy you achieve becomes a property of the dataset, and it should travel with it. A localisation report that states which cities were verified, at what hit rate, and on which dates is far more useful to the people acting on it than one that presents every row as equally certain. It also protects the analysis when somebody re-runs it later against a pool that has since drifted.
Location accuracy, condensed
- Pick the narrowest region you truly need
- Verify exits against an outside source
- Sample small markets, not just capitals
- Record the hit rate per target city
- Re-sample after any pool change