Thread Transfer
Meta Ads Location Targeting: Minimum Radius, Geo Hacks, and Local Strategy
Meta's minimum radius is one mile, but the auction punishes you for it. Here's how to win local without ghost delivery.
Thread Transfer
AI Systems for Builders
Meta's minimum location targeting radius is one mile. You can type it in, save the ad set, and the platform will smile and accept it. Then it will quietly cap your delivery, multiply your CPM by 3-5x, and burn your daily budget on the same forty people scrolling Reels in a four-block area. The minimum exists, but the auction punishes you for using it. Most local advertisers learn this only after they've already wasted a month of budget.
This is the part the “hyperlocal targeting” tutorials skip. Geo targeting is not a slider you crank to maximum precision — it's a trade between audience size, auction depth, and creative relevance. Push any of the three too hard and the campaign dies in learning phase. Below is the working playbook for sub-city geo targeting in 2026: actual minimum radius behavior, the delivery cliff, how pin-drop / zip / DMA compare, the creative tricks that lift local CTR, and how to architect a multi-location account without 200 zombie ad sets.
The actual minimum radius (and what changed in 2026)
Meta's documented minimum radius for “People living in or recently in this location” targeting is 1 mile (1.6 km). That number hasn't moved. What has moved in 2026 is how aggressively the delivery system penalizes radii below 5 miles in low-density geography. A change rolled out in February 2026 inside the Advantage+ Audience layer means even when you set a 1-mile radius, the system will silently expand reach when it can't fulfill impressions inside your hard boundary, unless you toggle “Don't expand audience” in the location module. Most advertisers never check this box.
Three behaviors worth tattooing on the inside of your eyelids:
- 1 mile is the floor for pin drops, but the system treats anything under 5 miles as “constrained” and pushes CPMs higher to win every available auction inside that box.
- Address-based pins (the new geocoded pin you can drop directly on a street address) are treated identically to lat/long pins. The interface looks fancy. The auction behavior is the same.
- Location expansion is on by default for Advantage+ campaigns. Your “1-mile” ad set may be serving 8 miles out and you'd only know if you pulled the placement breakdown by region.
Why tight radii starve delivery
Meta's auction needs three things to optimize: impression volume, conversion signal, and creative rotation room. A 1-mile radius around a dental practice in a mid-sized US city might address ~28,000 people, of whom maybe 6,000 are realistically targetable in the 18-65 band with phones that opened Facebook in the last 30 days. That's not an audience — that's a frequency problem waiting to happen.
Here's what the delivery profile typically looks like as you tighten radius around a single brick-and-mortar location, holding budget at $40/day and objective at Leads:
| Radius | Estimated Reach | Typical CPM | Frequency (7 days) | Delivery Health |
|---|---|---|---|---|
| 1 mile | ~6,000 | $32-44 | 4.8-6.1 | Choked |
| 3 miles | ~38,000 | $18-24 | 2.9-3.4 | Tight |
| 5 miles | ~95,000 | $11-15 | 1.8-2.2 | Healthy |
| 10 miles | ~310,000 | $8-11 | 1.2-1.5 | Optimal |
| 25 miles | ~1.4M | $7-9 | <1.1 | Diluted |
The trap is obvious once you stare at the table: a 1-mile radius costs roughly 4x more per thousand impressions than a 10-mile radius, while hitting the same prospect six times a week. By day five your Quality Ranking has tanked because the same humans are seeing the same creative on a loop, and Meta starts throttling delivery further. The death spiral compounds.
If you've battled this pattern before, the same dynamic shows up in our breakdown of audience size optimization — undersized audiences don't just deliver poorly, they actively degrade the algorithm's learning curve.
Pin-drop, zip code, and DMA targeting compared
Meta gives you four geo primitives. They are not interchangeable, and choosing the wrong one is the single biggest unforced error in local accounts.
Pin drop / address radius
Best when the business has strong proximity gravity — restaurants, gyms, dental, salons, auto repair, anyone whose customer base is bounded by “how far am I willing to drive.” Pin drops let you bias around the actual storefront rather than the geographic center of the city. For a gym in a suburb, the zip code centroid might sit two miles away in a park; a pin drop on the actual front door doubles relevance.
Zip / postal code
Best when you care about household demographics or income bands that align with postal boundaries — high-ticket home services, premium retail, financial advisors. Zips aren't drawn around how people commute; they're drawn around how the postal service drives routes. Adding a zip list manually beats radius targeting for any business where ZIP-level income data drives qualification.
City / municipality
Honestly underused. For most local service businesses with a 10-15 mile service area, “Add City + 10 miles” outperforms pin drop because Meta's auction has more inventory to optimize across. The system infers neighborhoods inside a city far better than you can pin them manually.
DMA (Designated Market Area)
Best when you're running broadcast-style creative intended to lift baseline awareness across a media market — think franchise rollouts, regional retailers, multi-location healthcare networks. DMAs are large (often 50+ miles wide). They make sense when your customer journey involves brand recall, not next-day booking.
The picker matrix
| Business Type | Best Primitive | Why |
|---|---|---|
| Single-location restaurant | Pin drop, 3-5 mi | Proximity gravity is strongest signal |
| Premium home renovation | Zip list (income filter) | Postal boundaries match wealth bands |
| Dental practice | City + 7 mi | Auction depth + commute reality |
| Regional retail chain | DMA | Brand reach across stores |
| Med spa, mid-size city | Pin drop, 5-8 mi | Drivable distance + creative resonance |
| Local SaaS / B2B | City + Job Title | Geo alone is too weak a filter |
Localized creative strategy that lifts CTR
Geo targeting fixes who sees the ad. It does not fix whether they care. The biggest CTR unlock in local Meta campaigns is not radius — it's whether the creative reads as actually local or generic-with-a-zip-code. The auction rewards local resonance with lower CPMs because higher CTR compounds into better Quality Ranking.
Five creative levers that consistently lift local CTR by 25-60%:
- Name the neighborhood, not the city. “Best brunch in Capitol Hill” outperforms “Best brunch in Seattle” for the same pin-drop audience. Specificity is signal.
- Use real landmarks in the first frame. A coffee shop's hero image with the actual storefront on a recognizable cross-street outperforms a generic latte photo by ~40% on hold-rate in the first two seconds.
- Local proof in social objects. Reviews with first names + neighborhood (“— Sarah, in Westwood”) carry more weight than star ratings. Star ratings are noise; first names are gravity.
- Vary creative by sub-region. For multi-zip campaigns, build creative blocks where the headline name changes per zip cluster. Dynamic Creative + URL parameters handle this without rebuilding ad sets.
- Local idioms over corporate copy. Northeast US says “take-out.” West Coast says “to-go.” South says “carry-out.” Getting this wrong reads as out-of-town immediately and tanks CTR.
This dovetails with the broader broad-targeting playbook we covered in broad targeting strategy: when geography is your only filter, the creative has to do the demographic and intent qualification the targeting isn't doing.
Multi-location campaign architecture
The instinct for multi-location accounts is to build one ad set per location. For 20 locations that's 20 ad sets, 20 budgets, 20 learning phases, 20 zombies. Don't do this. The pattern that scales:
Tier the locations
Group locations by metro density and budget envelope. A 15-location dental group typically has 3-4 metro clusters (Austin DFW, Houston, San Antonio, etc.) — not 15 isolated points. Each tier gets its own campaign, each metro cluster gets its own ad set with a pin list or zip list, not 1-per-location.
One creative pool, parameterized
Use Dynamic Creative with location tokens. Build a single creative template that swaps location name, address, and phone via URL params, with a small library of 4-6 hero images that rotate. Avoid the temptation to custom-shoot for every location until you have positive ROAS at the tier level.
Budget at the campaign, not the ad set
Advantage Campaign Budget (CBO) at the tier level lets Meta reallocate spend toward whichever metro cluster is actually converting. Setting ad-set-level budgets per location forces the algorithm to spend $10/day in a dying market while a sister market is starving for impressions.
Naming convention that doesn't collapse
Use a strict three-part naming scheme. Example: LOC-AUS_OBJ-LEAD_AUD-GEO5MI. When you have 40 ad sets across 4 campaigns, the only thing keeping you sane is a string parser. Bake it in from day one.
The pacing layer
Multi-location accounts are especially vulnerable to spend pacing problems because some pins sit in earlier timezones than others. The same dynamics we documented in our piece on local business Meta ads apply at scale: front-loaded delivery in your East Coast pins can drain budget before your West Coast pins even wake up. Account-timezone budgets are the silent killer of multi-region accounts.
Measuring local lift without store visits API
Meta's Store Visits objective and the offline conversions API are powerful but limited to brands with 10+ locations and a clean store list. Most local advertisers don't qualify. Here's how to measure local lift without it.
1. Geo-stratified holdout
Pick two comparable regions (same DMA, similar demographics). Run ads in Region A, run nothing in Region B. Compare in-store traffic, calls, bookings, or web sessions from those zip ranges over 30 days. The delta is your incrementality.
2. Call tracking by ad set
Assign unique tracking numbers per ad set via CallRail, Twilio, or whatever your call platform is. Map calls back to ad set IDs. For service businesses, this is the cleanest signal — phone calls are intent-loaded actions that web pixels miss entirely.
3. “Heard about us” intake fields
Low-tech but underrated. Add a one-line field at intake (front desk, online form, point-of-sale). After 60 days, you'll have a self-report attribution sample that tells you how Meta compares to Google, referral, and organic — better than any pixel can.
4. Zip-level web traffic delta
GA4's geo dimension breaks sessions down by city / region. Compare 30-day pre-campaign baseline against in-campaign sessions from the targeted zips. A geo-targeted Meta campaign should lift its own region's web sessions by a measurable percentage — if it doesn't, the campaign isn't working regardless of what the Ads Manager attribution claims.
5. The Brevo-style local audit cadence
Pull location breakdown weekly. Look for ad sets where > 30% of spend leaked outside the intended radius (the Region breakdown in Ads Manager exposes this). For accounts running Advantage+, this leakage is the rule, not the exception, and it's the single most common reason “local” campaigns underperform.
The minimum-radius decision tree
When a client or stakeholder demands a 1-mile radius (and they will), here is the order of operations:
- Ask: does the business have proximity gravity? If no — refuse the tight radius, use city + 7 mi.
- If yes — check estimated reach at 1, 3, and 5 miles. If 5-mile reach is under 50K, refuse 1 mile.
- If 5-mile reach is > 50K — run 3-mile as the floor and reserve 1-mile exclusively for retargeting.
- Turn off “Expand audience” only when you have explicit reason to constrain. Otherwise let Meta breathe.
- Re-evaluate weekly. Frequency above 3.5 with declining CTR is the signal to widen the radius.
The bottom line
Meta's minimum radius is technically 1 mile. The useful minimum is 3-5 miles for most local businesses, and even that requires creative that earns its keep. Geo targeting is a constraint, not a strategy. The campaigns that win locally treat the radius as a guardrail and let the creative do the qualifying work — because the auction will always reward a wider audience with better creative over a tighter audience with generic creative.
If your local account is stuck on the 1-mile floor, the fix isn't more precision. It's more breathing room for the algorithm and more locality in the creative. The radius slider isn't where the money is hiding.
Learn more: How it works · Why bundles beat raw thread history