Short answer
- There's no fixed price. You choose a daily or total budget, and Meta's auction sets what each result costs.
- What you really pay for depends on your audience, area, season, offer and how good the ad is.
- For a local business, judge ads by cost per lead or booking, not cost per click.
- Plan for two separate costs: the ad budget (paid to Meta) and management if someone runs them for you.
Why there's no price list
Every time someone scrolls Facebook or Instagram, Meta decides which ads to show them by running an auction. It isn't just the highest bidder that wins. Meta weighs your bid against how likely that person is to respond and how relevant and well-received your ad is. A good ad shown to the right people can win placements for less than a poor ad with a bigger bid.
That's why two businesses on the same street can pay very different amounts for the "same" ad. It's also why any article quoting an "average Facebook ad cost" should be read as a rough indication, not a price you'll pay.
What makes ads cheaper or dearer
| Factor | Tends to raise costs | Tends to lower costs |
|---|---|---|
| Audience | Small, heavily targeted, or contested by many advertisers | Broad enough for Meta to find responders |
| Season | Busy shopping periods like late November and December | Quieter months |
| Ad quality | Stock photos, vague message, no clear action | Real photos or short video, one clear offer |
| Goal | Asking for a high-commitment action straight away | An easy first step: a quote, a booking, a trial |
| Landing page | Slow, confusing, or your homepage | Fast, one page, one button |
CPM, CPC and cost per lead
You'll see three numbers in Ads Manager. Only one really matters for a local business:
- CPM: cost per 1,000 times your ad is shown. Useful for comparing audiences, not for judging profit.
- CPC: cost per click. A cheap click that never books is still wasted money.
- Cost per lead or result: what you pay for each enquiry, booking or call. This is the number to manage.
Here's a made-up example of why. Ad A gets clicks for $0.80, but only 1 in 40 clickers books: that's $32 per booking. Ad B's clicks cost $1.60, but 1 in 10 books: $16 per booking. Ad B is twice as "expensive" per click and half the price where it counts. More detail in CPC vs CPM.
Setting your first budget
Instead of guessing, work backwards:
- What's a new customer worth? Include repeat visits if customers come back.
- How many leads do you need? If 1 in 4 enquiries becomes a customer and you want 5 new customers, you need about 20 leads.
- Test to find your cost per lead. Run a modest budget for two to three weeks with one offer.
- Do the sum. Leads needed ร real cost per lead = monthly ad budget. My Facebook ads budget calculator does this for you.
The total monthly cost
When someone quotes "Facebook ads from $X a month", check whether that includes the ad budget. Usually it doesn't. Using my own prices as the example:
| Item | Who you pay | Example |
|---|---|---|
| Ad budget | Meta, from your own ads account | $300+/month, your choice |
| Management | Me (if I run them) | $250/month, first month half price on a 3-month start |
| Ads account and pixel setup | Me, once | $199, or free with a $397 website |
| Landing page (optional) | Me, once | $149 |
So a realistic starting month is the ad budget plus management. Running ads yourself saves the fee but costs your time, and mistakes usually show up as wasted budget.
Where small businesses waste money
- Boosting posts with no goal. The "Boost" button is easy but often optimizes for likes, not customers.
- Judging too early. The first week or two is mostly learning. Decide after a few weeks, not a few days.
- Sending traffic to the homepage. One offer deserves one page.
- No tracking. Without the Meta Pixel and conversion events, you can't see which ads actually bring leads.
- Too narrow an audience. Stacking lots of interests on a small area can push costs up for little benefit.
If you'd rather hand it over, see Facebook & Instagram ads. Either way, check your own numbers in Ads Manager, which shows estimated results as you change budget and audience.

