Meta Ads

Local Facebook Ads: Radius Targeting and Multi-Location Setup

Radius, audience size and conversion definition behave differently at local scale. A workable Meta setup for a single store and for a multi-location chain.

Local Facebook ads differ from national campaigns in three specific ways: the targeting radius, the size of the reachable audience, and the definition of a conversion. In practice the setup that works for most storefronts is a 5-10 km radius, a local audience of roughly 200,000 to 500,000 people, and a near-distance action such as a message, a call, or a directions tap instead of an online purchase. What follows is the same skeleton whether you run one salon or a 40-location chain, with the thresholds worth watching and the point where measurement usually breaks.

Local campaign maturity radarRadiusAudienceCreativeMessagingPer branchMeasurementRadius78 scoreAudience55 scoreCreative42 scoreMessaging61 scorePer branch38 scoreMeasurement47 scoreIllustrative data
In local account audits the weakest areas are almost always branch separation, locally recognisable creative, and measurement. Radius settings are usually fine; the loss sits in the rest of the setup.

Why do local Facebook ads need a separate setup?

Because local demand is both limited and fragile. An e-commerce account can accelerate learning by widening the audience; a local business cannot, because the person 15 km away is not a customer. So the optimisation goal, the creative and the measurement all have to be redesigned around a geographic boundary. For general campaign fundamentals the Ads Sensor Facebook ads guide is the starting point; this article covers only what is specific to local.

  • Inventory ceiling: A tight geography has little impression inventory. Industry benchmarks show it is normal for CPM to run 50-100% higher once a local audience falls below 100,000 people.
  • Learning phase: Platform documentation puts stability at roughly 50 conversions per ad set per week. Locally you reach that threshold with messages or calls, not with purchases.
  • Intent decays with distance: The same offer gets clicked at 3 km and ignored at 25 km. Radius is therefore part of offer design, not just a targeting field.
  • Measurement gap: Most of the conversion happens offline. The pixel alone is not enough; phone, message and directions events each need their own signal.

How wide should the radius be?

For most retail and service locations 5-10 km is a healthy starting point. Meta allows a radius as small as 1 mile (about 1.6 km), but in low-density areas that narrow a zone chokes delivery and pushes cost up. At the other extreme, targeting a whole city spends money on people outside your service area. The right answer is not the smallest radius but the cleanest area you can actually serve. A practical rule: pick the radius by reachable audience, not by kilometres. If 10 km returns 120,000 people, widen it; if it returns 900,000, tighten it. Dense city centres can work at 3-5 km, while towns and rural districts may need 20-30 km to reach the same audience count.

Cost per message index by radius164 index3 km114 index5 km100 index10 km125 index20 km157 index40 km207 indexWhole cityIllustrative data
Relative cost per message in an illustrative scenario: a very narrow radius is expensive because of inventory scarcity, a very wide one because of irrelevant reach. The band in between is usually the efficient one.
  1. Draw the real service area on a map: where does your furthest customer come from, and which river or motorway acts as a natural boundary?
  2. On first setup run separate ad sets for 5, 10 and 20 km, split the budget evenly and leave them untouched for 7-10 days.
  3. Check reachable audience size: 200,000 to 500,000 is a reasonable band for most local accounts, and below 100,000 is risky territory.
  4. Lock the winning radius, switch the others off and consolidate budget into one ad set; split budgets stretch the learning phase.

How should you build the local audience?

Narrowing the audience is usually a mistake at local scale. Geography is already a very strong filter, and stacking interest layers on top shrinks the remaining inventory and raises cost. The order that works in practice is: target the radius alone with a wide age and gender band first, then add retargeting and lookalikes once signal accumulates. You narrow a local audience with the offer, not with interests.

  • Core audience: Radius only, ages 18-65, no interests. This is the most durable local setup.
  • Retargeting: Page and profile engagers, message starters, site visitors. Use a 180-day window because local volume is low.
  • Lookalikes: Meaningful once the customer list passes about 1,000 people. Locally a 3-5% similarity band is safer than 1% so the audience does not collapse.
  • Exclusions: Exclude anyone who bought or booked in the last 30 days. In small audiences repeat exposure pushes frequency to 4-5 quickly.

Pull branch-by-branch data into one screen

Ads Sensor unifies Meta, Google and GA4 data and tells you, with reasoning, which radius and which branch is actually producing cheap conversations.

Join the beta →

Message, call or visit: which objective should you pick?

In a local business the conversion usually happens in a conversation, not on a website. Objective choice tends to split like this: messages or calls for appointment-driven services, store traffic or on-site purchase for retail, reach and local awareness for a newly opened location. Industry benchmarks put local services among the lowest click costs across Meta, and messaging formats convert noticeably better than landing page funnels for this segment. With call objectives, also fire the phone tap as an on-page event; trusting only the in-ad click leaves a large share of local conversions invisible. With messaging, response time drives cost directly: conversations answered within minutes turn into bookings at a noticeably higher rate than those answered hours later.

5-10 km
starting radius for most locations
200-500K
target reachable local audience
+50-100%
typical CPM lift below 100K audience
50
weekly conversions per ad set for stability

How do you structure campaigns for multiple locations?

The rule is simple: splitting budget splits learning. Up to three locations, one campaign with an ad set per branch works fine. Beyond that, cluster branches by volume and market similarity and give each cluster its own campaign. Where radii overlap, exclude each branch from the other's zone; otherwise two ad sets bid against each other for the same person and inflate their own CPM. Standardise naming from day one: put branch code, radius and offer type in the same order in every campaign, ad set and ad name. That single habit removes the manual report clean-up that appears once you pass twenty locations.

Multi-location setup flow1Branch mapOne ad set perlocation2Radius test5-10-20 km inparallel3Local messageDistrict name anddirections4MeasurementMessages callsvisits
The four steps of a multi-location setup. Each step leaves a measurable output; a radius test without a branch map produces no usable answer.
  1. Add and verify every location in Meta Business Manager's business locations; map cards, distance callouts and opening hours come from there.
  2. Put the branch name, the district and the nearest landmark in the first second of the creative and the first line of the copy. Local recognition is the single biggest lever on click-through rate.
  3. Define reciprocal location exclusions for overlapping radii, and only enable campaign budget optimisation once branch volumes are comparable.
  4. Compare branch performance weekly; when a branch stops delivering, fix the offer before you widen the radius.

How do you measure local results?

Locally most of the outcome happens where the platform cannot see it: a phone rings, someone walks in, a message turns into a booking. Measurement therefore sits in three layers: in-platform events, events carried to the site, and the business's own record. When those three do not corroborate each other you are producing estimates, not reports. Add the branch code as a campaign parameter on every site link; without it GA4 collapses all locations into one row and you lose sight of which point actually produces traffic. For the messaging flow in detail, the WhatsApp ads guide covers the mechanics.

  • In-platform: Conversations started, click-to-call events, directions taps. This is the fastest feedback loop you have.
  • Site side: Booking forms, phone-number taps and reservation events should also be sent server-side; a browser pixel alone loses a lot of local signal.
  • Business record: Add a "how did you hear about us" question at the till or in the booking sheet. Even 20-30 answers a week confirm direction.
  • Comparison: Track cost per conversation and conversation-to-booking rate side by side per branch; a cheap conversation is not always a good one.
The expensive mistake in local campaigns is rarely the wrong radius. It is making the wrong offer inside the right radius. Narrowing geography does not create relevance; the offer does.Ads Sensor Team, recurring pattern from local account audits

For the fundamentals see the Facebook ads guide, and for the search-side equivalent of local demand the Google Maps ads guide. If you want branch performance side by side on one screen, a clear read on which radius actually produces cheap conversations, and automatic before/after tracking once you apply a recommendation, you can try the Ads Sensor cross-platform panel and AI analysis by joining the early beta.

Frequently asked questions

What is a realistic minimum budget for local Facebook ads?
Meta's technical floor is a few currency units per ad set per day, but meaningful learning for a single location usually starts higher. Work backwards from the 50 conversions per week threshold and set budget accordingly. Consolidating into one ad set beats splitting across three when volume is low.
Will dropping the radius to 3 km lower my costs?
Usually the opposite. Impression inventory shrinks, the auction tightens and CPM rises; in illustrative scenarios a 3 km setup runs noticeably more expensive than a 10 km one. Dense city centres can support 3 km, low-density areas almost never can.
Should each branch get its own campaign?
Up to three branches, one campaign with an ad set per branch is enough. Beyond that, cluster branches by volume and market similarity and give each cluster a campaign. More campaigns means more budget fragments and a longer learning phase for each.
Are local Instagram ads set up differently from Facebook?
Targeting and radius live in the same ad set, so the difference is placement and creative. Vertical video and stories perform noticeably better on the Instagram side. Start with automatic placements and let the placement report guide any manual restriction.
Can I actually measure store visits?
Meta's store visit reporting is modelled and needs both volume and verified location records, so small accounts rarely get a usable number. A more reliable path is to treat message and call events as your primary metric and cross-check them against your own booking or till record.
What frequency is acceptable in a local campaign?
Frequency climbs fast in small audiences; 2-3 over a 7-day window is healthy and 4 or above signals fatigue. Refresh creative first, and only widen the radius one step if that does not help. Widening before refreshing usually just raises cost.

Read your local campaigns with Ads Sensor

Unify branch and radius breakdowns in one panel, approve and apply prioritised recommendations with their reasoning, and track the before/after automatically.

Join the beta →