Local Facebook ads work best when the money follows the map. Spend most of it within 5 to 10 miles of your door. Run a second, cheaper campaign wider out.
Pick zip codes where your price is normal. Then open each chat with one question: what would you like to change? Ask for a phone number next.
For example, one brow studio ran its first local Facebook ads across a whole metro of millions. The messages poured in.
"We can't afford that." "That's too far to drive." "Do you have a pickup service?"
Then the studio redrew the map around its own door and the neighborhoods where its buyers live. A new kind of reply came in: "My husband can drop me off in 30 minutes."
Same studio. Same ads. Different map.
Local Facebook ads targeting means choosing who sees your ads by where they live and spend time. Most owners draw one big circle and hope.
A national brand has to guess where its buyers are. You already know yours live nearby.
Our take: the platform will happily spend your money on the whole circle. It gets paid either way. Drawing a better map is your job, and it is called geotargeting.
One big circle pays for people who will never drive over
| One big circle | Radius Rings |
|---|---|
| 25 miles in every direction | 5 to 10 miles around your door gets most of the budget |
| Far towns get the same spend as the next street | A separate, cheaper campaign covers the wider area |
| Every zip code treated the same | Only zip codes where your price is normal |
| A form asks for a name and email | A chat opens with one question |
| A quiet lead is dropped after a day | A quiet lead is followed up for months |
Method summary
Put most of your local ad budget on people within 5 to 10 miles of your door. Past that, most people will not drive over for a local service.
The Radius Rings method is a local targeting plan with two rings around your door. The inner ring gets most of the money. The outer ring gets its own, smaller campaign.
Ring one is the core: 5 to 10 miles. These people can reach you on short notice. Show them your ads over and over.
Give the core ring the strongest offer you can honestly keep: same-day service. Who wants to wait until tomorrow? Almost nobody.
Ring two is the outer ring. Build it as a separate campaign, with a larger radius and a lower budget. Two campaigns keep the money where you put it.
Your trade may run wider or tighter. Ask your best customers where they drove in from, and set the core to match.
How much per day? Start from what one customer is worth to you. Our guide to setting a max allowable CPA shows the most you can pay for one customer.
For example, one permanent makeup studio ran this setup on $35 to $50 a day. The owner reported more messages than she could answer and about three appointments a day. About once a week, someone from the ads just walked in.
Small budget. Busy calendar.
Two rings: the closer ring gets most of the money
Build each ring as its own campaign
| Core ring | Outer ring | |
|---|---|---|
| Distance | 5 to 10 miles from your door | A larger radius, set by how far your buyers drive |
| Campaign | Its own campaign | A separate campaign |
| Budget | Most of it | Lower |
| How often people see ads | Over and over | Less often |
| Strongest offer | Same-day service, if you can keep it | Your standard offer |
Method
Example: one studio's numbers on $35 to $50 a day
One permanent makeup studio running the core ring plus chat ads
| What | Number | How sure |
|---|---|---|
| Daily ad spend | $35 to $50 | Owner's report, not verified by us |
| Message leads built up | About 1,700 | Owner's report, not verified by us |
| Appointments | About 3 a day | Owner's report, not verified by us |
| Walk-ins from the ads | About 1 a week | Owner's report, not verified by us |
Example from one local studio, as its owner reported it. Not our results, and not verified by us.
Draw two rings around your door and spend by distance. The core ring, 5 to 10 miles out, gets most of the budget, the most frequent ads and the strongest honest offer, such as same-day service. The outer ring is a separate campaign with a larger radius and a lower budget.
Inside both rings, keep only the zip codes where your price is an ordinary purchase. Aim at what buyers already spend on, never at your exact service. Open the ad with your metro name, phone and address, and send taps into a chat.
Message one asks what they would like to change. Message two asks for a phone number. Follow up for months, not one day.
Housing, jobs, credit and financial ads use none of the zip code steps.
Target the zip codes where your price is an ordinary purchase. Zip codes inside one city can differ a lot in income.
The chart below uses real Census numbers for one city, Charlotte, North Carolina. Median household income ran from about $51,000 in one zip code to about $212,000 in another. That is four times the money, a short drive apart.
Median means the middle household. Half earn more, half earn less.
To build your list, search Google for "zip codes with the highest median income" plus your city and state. Free maps like ZipAtlas show it zip by zip. The numbers come from the Census Bureau's American Community Survey.
Census data uses ZIP Code Tabulation Areas, which match most mail zip codes closely. Small towns may not split into enough of them. Then use the radius alone.
Build each ring from the zip codes that sit inside it and fit your price. Drop the rest.
This step has a hidden payoff. When the zip code already fits the price, you never have to ask a stranger what they can afford. That question can ruin a first chat.
Is this allowed? For a brow studio, a dentist or a mover, yes. For housing, jobs, credit and other financial offers, no: those ads cannot use zip codes at all.
One city, four times the income a short drive apart
Median household income by zip code, Charlotte, North Carolina
U.S. Census Bureau, American Community Survey 2019-2023 5-year estimates, table B19013, pulled 2026-10-17
Find your zip codes in about ten minutes
Method
Do not target people interested in your exact service. Target what your buyers already spend money on.
Why? Interest targeting is based on what people already did. Someone tagged with an interest in microblading may have had it done last month.
For example, the same studio tried interests for the service itself. It flopped. What worked were signs of beauty spending: skincare brands, cosmetics, spas.
One clue came from her own clients. Nearly every client had her nails done every couple of weeks. That is a buyer who pays to look good, on a schedule.
Do not use age to decide who sees the ad. Use it to change what the ad says. A 50-year-old wants to look ten years younger; a 25-year-old wants to look healthy.
Whole-city targeting with no filter failed for this studio's premium service. Broad can win when your price fits everyone, as our guide on how Meta finds buyers explains. Inside the rings, let the zip codes filter by budget first.
Targeting your own service is like advertising umbrellas to people who already own one.
Target the spending, not the service
| Targets the service | Targets the spending |
|---|---|
| Interest: microblading | Interests: skincare brands, cosmetics, spas |
| Reaches people who may have already bought | Reaches people who pay for beauty often |
| One message for every age | The message changes by age: younger-looking at 50, healthy at 25 |
Example from one permanent makeup studio
A local Facebook ad should say your city's name first, then show that you are close. Its only job is to start a conversation.
Open with the metro name, like "Hey Charlotte." Neighborhood names sound sharper, but the metro name tested better. The likely reason: people think of themselves as part of the big city.
Put your phone number and street address right in the ad text. People see them and think: oh, they're local.
Then send the tap into a chat, not a form. Meta's click-to-message ads open a conversation in Messenger, Instagram or WhatsApp.
Why not a form? A form asks a stranger for a name and email before they know you. For example, one studio's name-and-email coupon page flopped completely.
Local buyers want to look around and ask first. A form says "apply." A chat says "ask me."
Testing two openings? Change one thing at a time, as in one-variable ad testing.
A local ad names the city first and opens a chat, not a form

Example page built for this article with a made-up brand
Open every chat with one question about the change they want: "What would you like to change about your brows?" Swap in your own noun: yard, kitchen, roof, smile.
Weak openers ask about your calendar. "When do you want to come in?" and "Do you have any questions?" both did worse.
The change question gets people talking. They describe the problem in their own words: too sparse, too light, gaps at the ends. Now every reply you send can be about that.
Until they answer, everything you say is a guess.
Message two asks for a phone number. Why so soon?
A chat lives inside one app, and Meta limits how long a business can keep replying there, under its messaging window rules. A text thread does not depend on that.
Meta's own tips for chat ads also say to greet people in a way that shows you are ready to talk. A real question does that.
Never ask how much they can spend. The zip code already answered that. Asking makes you sound like a car salesman checking your credit score.
Then call them. Many local competitors avoid the phone. A few minutes of real talk is your edge.
If you must screen buyers, do it later, as in qualify before the call.
Ask what they want to change, echo their words, then ask for a phone number

Example page built for this article with a made-up brand
Ask about the change they want, not about your calendar
| Weak opener | Strong opener |
|---|---|
| When do you want to come in? | What would you like to change about your brows? |
| Asks for a commitment first | Asks about their problem first |
| Did worse in testing | People describe the problem in their own words |
Example from one permanent makeup studio's chat ads
Two messages, then the phone
Method
A lead who goes quiet for a day is not gone. Keep following up, by hand, for months.
For example, one studio had built up about 1,700 message leads. Ten people had asked for a callback and never got one. The owner believed a day of silence meant no interest.
It did not. One lead who first wrote in August was still talking about booking the next July.
So run a short automated series for the first five days. Then reply by hand, with something new each time: a fresh photo, how the process works, open times.
Answer fast, too. Speed wins the first reply. Not giving up wins the booking.
Our piece on speed to lead covers the first minutes, and lead-first nurture covers the months after.
How to waste a local ad budget in four easy steps. Step one: draw 25 miles around the shop. Step two: target people who already bought the service.
Step three: open the chat with "When do you want to come in?" Step four: give up after one quiet day. Congratulations, you bought a damn inbox full of maybes and walked away.

Follow up for months, not for one day
Method; the August-to-July lead is an example from one studio, not verified by us
Most local campaigns stall in one of three places. Each has a clear symptom and a plain fix.
Leads from an hour away. Meta's location selection counts people who live in your area, recently spent time there, or often visit. A box to reach more people can also push ads past your area.
Uncheck that box, as Meta's location steps show, and put your city name at the very top of the ad. Some will still slip through, because Meta says location is never fully exact. Call it the cost of doing business, or pass those leads to a trusted business near them, with their OK.
More messages than you can answer. For example, one clinic owner spending $100 to $150 a day on chat ads got more messages than his team could sort.
More budget is not the fix. In a small area, a bigger budget mostly shows the same people your ad more often. Work the messages you already have, then add help: a part-time assistant, or the five-day automated series.
Ads running at 2 in the morning. The platform will gladly spend all night, when nobody is awake to reply. Schedule your ads for the hours someone can answer; on Meta that needs a lifetime budget.
Near a mall or a busy street? Google's popular times chart for that place shows when foot traffic peaks. Turn your ads up then.
Marketers call this dayparting.
Selling housing, jobs, credit or other financial offers? Then the zip code steps do not apply. Those ads fall under Meta's special ad categories, and the audience limits for them are in the box below.
Three places local ads stall, and the fix for each
| Symptom | Cause | Fix |
|---|---|---|
| Leads from an hour away | Location counts visitors, and the reach-more box can widen it | Uncheck the box, city name first in the ad, pass the rest along with their OK |
| More messages than you can answer | In a small area, more budget mostly means more repeats | Work the backlog, then add help or a five-day automated series |
| Spend at 2 in the morning | Ads run all day and night unless scheduled | Schedule ads for hours someone can reply |
Method; Meta location help pages listed in Sources
The prompt below runs this whole method for your business. Paste it into your preferred AI and answer seven questions.
It never invents an income figure. It looks one up from the Census, or it asks you.
This week: first, run the prompt and draw your two rings. Second, swap your chat opener for the change question. Third, open your old messages and follow up on every quiet lead.
Want a second pair of eyes on your plan? Send it to us; you are not signing up for anything.
Remember the studio's first map, the one that got "too far to drive." The ads were never the problem. The circle was.
Spend where people can walk in. Ask what they want changed. Then keep asking.
Paste into your preferred AI. It asks seven questions, then gives you two rings, a zip code list, interests, the ad opening, two chat messages and a follow-up plan.
Act as a careful local ads planner. Build my Radius Rings plan for Meta ads using only these rules and my answers. Never invent a number; if one is missing, ask me. If you can browse, first check Meta's current help pages for location targeting, special ad categories and the messaging window, and tell me if anything below has changed. Ask one at a time, with the example, and wait: 1. What do you sell, and at what price? (Example: brow tattooing, $299 to $600) 2. Your street address, city and state. (Example: 120 Main St, Springfield, IL) 3. How far do your best customers drive to you? (Example: about 8 miles) 4. Is the ad about housing, jobs, loans, credit, insurance or other financial products? (Example: no) 5. Your daily ad budget. (Example: $40) 6. The thing customers want changed. (Example: brows, yard, roof) 7. Who answers messages, and during which hours? (Example: me, 9 am to 7 pm) Rules: - If answer 4 is yes: skip zip codes and income. Tell me to use Meta's special ad category, with no zip codes, no excluded areas, and the minimum radius Meta's page lists. Then go to the chat rules. - Core ring: 5 to 10 miles from my address, or answer 3 if smaller. Most of the budget. Same-day service in the ad only if I confirm I can deliver it. - Outer ring: a separate campaign, larger radius, lower budget. Ask me how much to put there. - Zip codes: list the ones inside each ring where my price is an ordinary purchase. Use median household income from the Census American Community Survey (table B19013) if you can look it up; if not, ask me. Name the source and data year. - Interests: never my exact service. Use what my buyers already spend on. - Ad: metro name first, then my phone number and street address. Send taps to a chat, not a form. - Chat message 1: 'What would you like to change about your [answer 6]?' Message 2, after they reply: ask for a phone number. Never ask what they can afford. - Follow-up: automated for 5 days, then by hand with something new each time. Never drop a lead after one quiet day. - Schedule ads only for the hours in answer 7. Show your math, then use exactly this format: CORE RING: OUTER RING: ZIP CODES (with income, source, year): INTERESTS: AD OPENING: CHAT MESSAGES 1 AND 2: FOLLOW-UP PLAN: AD HOURS: NEXT THREE ACTIONS:
Run the loop again when your area or offer changes
Method
Bring one question from this article. We will tell you what we would do, whether or not you hire us.
Book a 15-Min Chat →