Meta's location tools are more granular than most marketers use them. If you're running Facebook Ads local audience targeting for a client, you have options well beyond dropping a pin and hoping for the best — you can define audiences by city, zip code, a custom radius, or even a specific neighborhood. Here's how to actually use those options to drive foot traffic, calls, and local conversions.
Understanding Meta's Location Targeting Options
Before building any campaign, you need to know what the platform actually gives you.
| Option | Best For | |---|---| | Country / State / Region | Brand awareness, multi-location businesses | | City | Single-market businesses, urban campaigns | | Zip/Postal Code | Hyperlocal targeting, affluent neighborhoods | | Radius (1–50 miles) | Service-area businesses, contractors, delivery | | Address Pin | Businesses targeting a specific block or venue |
When you're working with local clients — a plumber, a restaurant, a dental practice — you'll almost always be working with radius or zip code targeting, sometimes combined.
One thing that trips people up: Meta defaults to "People living in or recently in this location." That sounds fine, but it includes tourists and short-term visitors. For most local service businesses, switch this to "People who live in this location" to cut out transient traffic that will never convert.
Setting Up Radius Targeting the Right Way
Go to Ads Manager, open your ad set, and scroll to the Locations section. Drop in the client's address, then drag the radius slider. You can go as tight as 1 mile in the US.
A few practical rules:
- Service area businesses (HVAC, landscaping, pest control): 10–20 mile radius usually makes sense. Match it to the actual territory the business serves — ask your client directly where they'll actually drive.
- Retail and restaurants: 3–7 miles in a dense urban area. In a suburb, you might push to 10–12 miles.
- High-ticket or specialized services (cosmetic dentistry, custom home builders): Radius matters less — go wider because people travel for the right provider.
Don't stack too many pins or radii in one ad set. If a client has three locations, build three separate ad sets so you can control budget, creative, and performance per location.
Combining Location with Demographic and Interest Layers
Location alone isn't a strategy. You're narrowing the where — now narrow the who.
For a local roofing contractor:
- Radius: 15 miles from office
- Age: 35–65 (homeowners skew older)
- Homeowner behavior (under "Detailed Targeting > Behaviors > Residential Profiles")
- Exclude renters if the option is available
For a boutique fitness studio:
- Zip codes: Only the wealthiest 3–4 zip codes near the studio
- Age: 25–50
- Interests: Health & wellness, boutique fitness brands, athleisure
- Income behavior targeting if available in your market
The tighter your radius, the more you need demographic layering — because a 2-mile radius in a dense city still contains tens of thousands of people with very different needs and budgets.
Watch audience size. Meta will show you the estimated audience size as you build. For a local campaign, you generally want somewhere between 50,000 and 500,000 people. Below 50K and you'll have delivery problems. Above 500K and you're probably too broad for a local intent campaign.
Using Custom Audiences and Lookalikes Locally
This is where good local campaigns separate from average ones.
Custom Audiences with location filtering
Upload your client's customer list (emails, phone numbers) and create a Custom Audience. Then, when you build a Lookalike Audience from that list, set the source country and then apply your location targeting on top of it at the ad set level. You can't restrict a Lookalike to a radius during creation, but applying location at the ad set level accomplishes the same thing.
This works especially well for:
- Local med spas or clinics with a solid existing patient list
- Home services businesses that have been running for several years
- Any business with 1,000+ customer records
Retargeting locally
Build a Website Custom Audience (via Meta Pixel) and layer location targeting on top of it. This retargets only local visitors — people within your client's service area who already showed intent. Combine this with a specific offer or urgency-based creative and conversion rates climb fast.
Common Mistakes That Kill Local Campaign Performance
Using "Everyone in this location" without checking the sub-option. As mentioned — default includes travelers. For any campaign tied to physical service delivery, flip to residents only.
Ignoring exclusions. If your client doesn't serve certain areas (maybe across a major highway or into an adjacent city that's a competitor's market), exclude those zip codes. Meta won't do this automatically.
Setting and forgetting the radius. After two or three weeks, pull a breakdown by region or city to see where your conversions are actually coming from. You might find that 80% of leads come from two zip codes — time to tighten up and reallocate budget.
Mixing local and national creative. Local audiences respond to local signals — mentioning the city name, referencing local landmarks, featuring real staff or a recognizable storefront. Generic stock-photo creative loses the local advantage you built through targeting.
Overlooking the "Exclude" function. If you're running a prospecting campaign, exclude your existing customer list so you're not wasting budget on people who already converted. Upload the list as a Custom Audience and exclude it at the ad set level.
If you're managing multiple local clients, keeping track of which locations, radii, and audience combinations are performing across accounts gets complicated fast. Campaignly's reporting tools let you view campaign performance across all your local Meta campaigns in one dashboard — so you can spot which geographic segments are delivering and which need adjustment, without jumping between a dozen ad accounts.