What Facebook and Instagram ads cost, by placement.
By Conner Crowe · Q3 2026, to , 92 days · Published , wording updated · Download the data · Next edition January 2027
These are 18 Meta ad accounts I manage: 15 local advertisers in home services, healthcare, and local businesses and events, plus 3 online stores. It shows what they paid on Facebook and Instagram from 1 July to 30 September 2026, not what Meta costs everyone. N next to a figure is how many accounts it comes from.
The short version
- I looked at 18 Facebook and Instagram ad accounts I manage, from July to September 2026: 15 local businesses and 3 online stores.
- Showing an ad 1,000 times cost the typical account $6.56 (N = 18).
- In my sample, the price lined up with what the ad set asked Meta for more closely than with the kind of business. Ad sets set to reach people or to maximise views paid $2.88 per 1,000 views across all their spend, and 0.06% of views became a link click (N = 6). Ad sets set to get a conversion, such as a lead, an add-to-cart or a sale, paid $20.35 and 2.84% clicked (N = 9).
- Marketplace was cheap to show on, but few people clicked. A click there cost $1.04, against $0.61 in the Facebook feed (N = 12 and N = 18).
- For the 6 accounts after website leads, a lead cost the typical one $89.33 (N = 6). The two cheapest came from accounts with 40% or more of spend on Audience Network, where the click numbers look wrong, so I trust them least.
- $6.03 per 1,000 views, across all the money spent (N = 18)
- 0.27% of Marketplace views became a link click (N = 12), against 1.26% in the Facebook feed (N = 18)
- 9 of 18 accounts never asked Meta for a lead or sale, 42% of spend (N = 18)
- $89.33 typical website cost per lead (N = 6)
All four figures cover 1 July to 30 September 2026, in Meta ad accounts I manage. The cost-per-lead tile counts only the 6 accounts that optimized for a website lead event. Three of those 6 are flagged as unverified further down.
Feed took a third of the money.
Stories cost the most of the big eight.
The Facebook feed took 31.7% of all spend, at $7.74 per 1,000 views, and every account bought it (N = 18). Of the eight placements that each took more than 3% of spend, Facebook Stories cost the most: $34.68 per 1,000 views across all spend, and $27.30 for the typical account (N = 17 with spend, N = 10 for the typical figure).
There are two ways to read a price here. The figure across all spend weights each account by how much it spent, so it shows where the money went. The typical account’s figure weights every account the same, so one big spender can’t drag it. Where they disagree, read the typical figure as the typical account and the figure across all spend as where the money went.
Cost per 1,000 views by placement, typical account
Each account weighted equally, counting accounts with 1,000+ impressions in that placement. The dot is the typical account, the bar the middle half. Sorted by the typical figure.
The full placement table: share of spend, CPM, link clicks and cost per click
| Placement | N accounts with spend | Share of spend | Pooled CPM | Pooled link CTR | Cost per link click | Typical account CPM (N) | Middle half of accounts |
|---|---|---|---|---|---|---|---|
| Facebook Feed | 18 | 31.7% | $7.74 | 1.26% | $0.61 | $9.50 (N = 18) | $4.75 to $21.13 |
| Audience Network, classic | 8 | 15.5% | $3.75 | 0.84% | $0.44 | $12.39 (N = 7) | $4.54 to $23.54 |
| Facebook Reels | 18 | 13.0% | $8.19 | 2.13% | $0.38 | $8.85 (N = 18) | $4.96 to $17.24 |
| Facebook Marketplace | 12 | 10.8% | $2.80 | 0.27% | $1.04 | $4.20 (N = 8) | $3.16 to $6.13 |
| Instagram Reels | 18 | 7.6% | $8.98 | 1.95% | $0.46 | $10.92 (N = 17) | $6.73 to $21.37 |
| Facebook Stories | 17 | 5.6% | $34.68 | 4.19% | $0.83 | $27.30 (N = 10) | $15.17 to $44.95 |
| Instagram Feed | 18 | 5.4% | $12.18 | 1.57% | $0.78 | $15.72 (N = 14) | $4.71 to $26.51 |
| Instagram Stories | 18 | 3.2% | $13.82 | 1.73% | $0.80 | $16.27 (N = 14) | $10.21 to $30.55 |
| Audience Network, rewarded video | 6 | 3.0% | $39.07 | 13.85% | $0.28 | $38.77 (N = 5) | $29.38 to $40.52 |
| Facebook Reels overlay ads | 13 | 1.6% | $3.66 | 1.11% | $0.33 | $3.92 (N = 10) | $3.03 to $4.62 |
| Facebook In-stream video | 14 | 1.0% | $19.10 | 3.51% | $0.54 | $11.59 (N = 10) | $6.00 to $25.84 |
| Facebook Search results | 14 | 0.7% | $1.59 | 1.51% | $0.11 | $2.38 (N = 8) | $1.84 to $3.32 |
| Threads feed | 11 | 0.4% | $4.11 | 0.44% | $0.94 | $3.22 (N = 6) | $2.89 to $9.60 |
| All other placements | 18 | 0.5% | $4.33 | 0.60% | $0.73 | Not computed | Mixed placements |
Window 1 July to 30 September 2026. Typical figures count only accounts with 1,000 or more impressions in that placement, which is why their N can sit below the spend N. "All other placements" pools profile feed, notifications, the right column, business discovery, Messenger stories, Instagram explore and search, and impressions Meta left unattributed.
Reels and Reels overlay are two products
Meta’s breakdown reports a facebook_reels position and a separate facebook_reels_overlay position. I kept them apart. Full-screen Reels ads cost $8.19 per thousand pooled at a 2.13% link CTR (N = 18). Overlay ads, which sit on top of other people’s reels, cost $3.66 at 1.11% (N = 13). Merged, they read as one $7.20 placement (N = 18), which describes neither.
Stories also had the highest link click-through rate of the eight big placements, 4.19% across all spend (N = 17). The data doesn’t show whether those clicks became leads or sales. Facebook Feed was the only placement carrying more than 30% of spend.
Cheap views,
almost no clicks.
Every ad set tells Meta what to get: as many people reached as possible, clicks, page views, or a lead or sale. In this sample the price lined up with that goal more closely than with the kind of business. Ad sets set to reach people or to maximise views bought views at $2.88 per thousand, and 0.06% of views became a link click (N = 6). Ad sets set to get a conversion paid $20.35, and 2.84% clicked (N = 9). That’s about 46 times the click rate for about 7 times the price.
Cost per 1,000 views by what the ad set asked for
Each account weighted equally, by the goal its ad sets optimized for.
The full goal table: share of spend, CPM, link clicks and cost per click
| Optimization goal | N accounts | Share of spend | Pooled CPM | Pooled link CTR | Cost per link click | Typical account CPM | Middle half of accounts |
|---|---|---|---|---|---|---|---|
| Conversion event, all | 9 | 51.4% | $20.35 | 2.84% | $0.72 | $22.15 | $17.02 to $23.48 |
| Landing page views | 5 | 12.5% | $8.37 | 2.36% | $0.36 | $8.71 | $7.26 to $11.15 |
| Link clicks | 5 | 14.7% | $2.80 | 1.50% | $0.19 | $4.97 | Withheld at N = 5 |
| Reach | 5 | 14.6% | $3.11 | 0.06% | $5.13 | $2.99 | $2.86 to $3.28 |
| Impressions | 1 | 5.0% | $2.38 | 0.06% | $3.85 | N = 1 | One account |
| Reach and impressions combined | 6 | 19.6% | $2.88 | 0.06% | $4.73 | $2.93 | $2.50 to $3.21 |
Window 1 July to 30 September 2026. An account appears in every goal row it spent on, so the N column sums past 18. Indented rows are subsets or combinations of the rows above them. One ecommerce account also ran a small video-view ad set. At N = 1 on an ecommerce account it would publish a per-account figure, so it’s withheld. The link-click quartiles are withheld too, because at N = 5 they fall on single ecommerce accounts.
9 of 18 accounts never asked for a lead
Nine accounts, carrying 42.2% of Q3 spend, optimized only for reach, impressions, link clicks or landing page views (N = 18). None of their ad sets told Meta what a customer looks like. That list covers one home-services account, three healthcare accounts and five local businesses or events.
The sharpest case is one account, N = 1. A healthcare account whose campaign asked people to book an appointment was set to optimize for reach. It reached a lot of people at a $3.58 CPM and produced a 0.04% link CTR. Per link click that came to $9.45.
Reach has a job. An event that sells out on awareness, or a restaurant that wants the neighborhood to see the new menu, can live on it. A business that needs a booked call can’t, and the table shows why: reach and impression ad sets bought link clicks at $4.73 pooled, against $0.72 on conversion ad sets (N = 6 and N = 9).
Marketplace is cheap
to show on, and few click.
12 of 18 accounts spent on Facebook Marketplace, and it took 10.8% of all spend. 1,000 views there cost $2.80 across all spend, but only 0.27% of views became a link click, against 1.26% in the Facebook feed (N = 12 and N = 18). Account by account the gap holds: 0.31% for the typical account on Marketplace (N = 8 with 1,000+ impressions) against 0.80% in Feed (N = 18).
92.8% of all Marketplace spend came from the 9 accounts with no conversion goal (N = 9). It took 87.6%, 48.0% and 31.2% of the spend of three local business accounts (N = 1 each). When an ad set asks for the cheapest reach, Meta finds it here, and the account pays for it in clicks.
If you’re asking whether Marketplace ads are worth it: for a reach goal it’s the cheapest placement in the table after Search results. For anything that needs a person to tap through to your site, a Marketplace click cost $1.04 in Q3 against $0.61 in Feed (N = 12 and N = 18).
A 13.85% click rate
is a warning.
Audience Network is where Meta places ads inside other companies’ apps and games. Its rewarded video ads, the kind people watch to earn something in a game, posted a 13.85% link click-through rate at $39.07 per 1,000 views across 6 accounts, about 11 times Facebook Feed’s 1.26% (N = 6 and N = 18). Per account it ran from 7.51% to 26.19%, and 11.39% for the typical account among the 5 with 1,000 or more rewarded-video impressions (N = 5). A rate that high is a reason to check the clicks, not proof of interest.
-
8 of 18
accounts had Audience Network delivery in Q3 2026, one of them only a trace. It took 18.5% of all spend across the sample (N = 18).
-
3
accounts ran about 91% of their spend there: one healthcare account and two home-services accounts. Together they took 79.3% of all Audience Network spend (N = 3).
-
3 of 3
of those accounts were the only ones where Meta reported more link clicks than total clicks. A subset can’t be larger than the whole it belongs to (N = 18).
The person watching a rewarded video wants the extra life or the coins, and the ad stands between them and it. A tap meant to close or skip can land on the ad. That traffic shows up as a strong click rate and a cheap click: $0.28 per link click on rewarded video, the second cheapest in the table (N = 6). A roofing homeowner comparing quotes behaves nothing like that.
Some of those clicks may be real people. The click rate still can’t be read as interest. For lead generation I exclude Audience Network unless the leads it sends get checked against booked work. The ad fraud explainer covers how invalid traffic shows up in a bill.
The cheapest leads are
the least verified.
Six accounts asked Meta for a website lead: a contact, a scheduled appointment or a pixel Lead. None used Meta’s instant forms. The typical account paid $89.33 a lead, and the range ran from $22.85 to $422.71 (N = 6). The two cheapest put 91.5% and 43.9% of their spend on Audience Network (N = 1 each), so they’re the numbers I trust least.
Website cost per lead by account, Q3 2026
| Account | Business | N | Lead it asked for | Audience Network share of spend | Cost per lead | Read |
|---|---|---|---|---|---|---|
| M14 | Home services | 1 | Website contact | 91.5% | $22.85 | Unverified |
| M12 | Home services | 1 | Website schedule | 43.9% | $29.73 | Unverified |
| M4 | Home services | 1 | Website contact | 0% | $89.02 | Under 10% Audience Network |
| M9 | Home services | 1 | Website contact | 91.0% | $89.64 | Unverified |
| M8 | Healthcare | 1 | Website schedule | 0% | $187.65 | Under 10% Audience Network |
| M10 | Home services | 1 | Website pixel Lead | 7.5% | $422.71 | Under 10% Audience Network |
| Typical | All six | 6 | $89.33 | Range $22.85 to $422.71 |
Window 1 July to 30 September 2026. Cost per lead is the cost of the conversion-optimized ad sets divided by the event they optimized for, as Meta’s API reported it. On one account that excludes a small landing-page-view ad set. "Unverified" marks accounts with 40% or more of spend on Audience Network.
Split by Audience Network share
$29.73 vs $187.65
Typical cost per lead, 40%+ Audience Network against under 10% (N = 3 each)
The two cheapest accounts, at $22.85 and $29.73, put 91.5% and 43.9% of spend on Audience Network (N = 1 each). A third, at $89.64, put 91.0% there (N = 1). The three accounts with less than 10% on Audience Network posted $89.02, $187.65 and $422.71 (N = 1 each). Split that way, the typical figures are $29.73 and $187.65 (N = 3 each).
The ad platform can’t show which group’s leads turned into paying jobs. That lives in the CRM. The cheap end of this range sits on the same inventory that produced a 13.85% click rate (N = 6), so I audit it before I trust it. The Lead Quality library walks through how I check a lead count against booked work.
The gap inside one account
can beat the whole sample.
Frequency is how many times each person reached saw an ad. Over the 92 days it was 3.2 for the typical account (N = 18). The middle half of accounts sat between 2.70 and 4.40, and the highest was 16.92. The 16.92 is the healthcare awareness account with 91.1% of spend on Audience Network (N = 1).
Across all six lead accounts, the most expensive lead cost 18.5 times the cheapest (N = 6). Inside one account alone, one ad set’s contacts cost 20.2 times another’s: $18.54 against $373.95 (N = 1). Another account split 9.3 times: $45.66 against $425.04 (N = 1). The expensive side of both splits is a thin read, and most of the first account’s delivery ran on Audience Network, so treat both as a direction, not a precise figure.
An industry benchmark tells you whether your account sits in a normal band. The split inside your own account tells you where the next dollar goes.
The 3 online stores are inside every pooled row and every 18-account typical figure above. None of them gets a row or a range of its own.
If you run Meta ads,
here’s what I’d check.
- Check what each ad set asks Meta for. If you need calls or bookings, a reach goal buys views, not clicks: $4.73 per link click on reach and impression ad sets against $0.72 on conversion ad sets (N = 6 and N = 9).
- Judge your CPM against accounts chasing the same goal. Conversion ad sets paid $20.35 per 1,000 views and reach and impression ad sets $2.88 (N = 9 and N = 6), and both can be normal for what they asked for.
- Look at how much goes to Audience Network and Marketplace. For lead generation I exclude Audience Network unless its leads are checked against booked work.
- Check leads against booked work. The ad platform can’t tell you which leads paid. The Lead Quality library covers how I do it, and the Meta Conversions API setup covers the tracking a conversion goal needs.
How I measured, and
how sure to be.
Source and window
Every figure comes from Meta Marketing API reads on ad accounts I have managed, never named, pulled read-only. Nothing was written to any account. The window is fixed at 1 July to 30 September 2026, 92 days, and the next edition covers Q4 2026. Placement figures use Meta’s publisher platform and platform position breakdown. Goal figures use each ad set’s optimization goal. These are accounts I manage, so how I run them is part of every number. Read them as what these businesses paid, not as a measure of all of Meta.
Inclusion and exclusion
- Spend floor. An account needed at least $300 of spend inside the window. All 18 cleared it, so none was dropped on volume.
- Tracking. Accounts with broken tracking get flagged and left out of cost-per-lead figures, but still count in the tracking findings. In this edition no lead account had a dead event. Three lead accounts had 40% or more of spend on Audience Network, so their cost per lead is published with an "unverified" flag rather than dropped, and the split above shows both groups.
- Cost per lead covers only the 6 accounts whose ad sets optimized for a website lead event. The 9 accounts with no conversion goal have no cost per lead, because there’s no optimized lead to divide by.
- Ecommerce. The 3 DTC accounts count in every pooled row and every 18-account median. Nothing is published per account, not even a range.
- Accounts without a row. Some accounts belong to clients I name elsewhere on this site. They count in every median and total here, but I don’t show them as their own row, because a row would publish a named client’s numbers. On this page that’s the 3 DTC brands.
- Descriptors. One awareness account’s vertical couldn’t be confirmed from its own data, so it’s labelled a local awareness advertiser and nothing more.
- Small numbers. Several figures rest on 3 to 6 accounts. Read them as a direction, and a different handful of accounts could land somewhere else.
Words used here
- Impression, or view
- One showing of an ad on someone’s screen.
- CPM
- Cost per thousand impressions: what 1,000 showings of an ad cost.
- Placement
- Where the ad showed: the Facebook feed, Instagram Reels, Marketplace and so on.
- Link CTR
- Link clicks divided by impressions. Meta’s link click count, not its all-clicks count, which includes likes and profile taps.
- Cost per link click
- Spend divided by link clicks for that row.
- Optimization goal
- What an ad set asks Meta to get: as many people reached as possible, link clicks, page views, or a lead or sale.
- Conversion-optimized
- An ad set whose goal was an offsite conversion event. On the ecommerce side that includes add-to-cart and purchase events.
- Lead
- The website event the ad set optimized for: a contact, a scheduled appointment or a pixel Lead, as Meta’s API reported it. It counts a tracked event. Booked jobs live in the CRM.
- Audience Network
- Meta’s network of other companies’ apps and games where it also places ads. Rewarded video is the kind people watch to earn something in the app.
- Frequency
- How many times, on average, each person reached saw an ad over the quarter.
- Pooled
- Sum of spend over sum of impressions or clicks across every account in the row. Spend-weighted, so it shows where the money went.
- Typical (median)
- The middle account, each account weighted equally. With an even number, it’s the average of the two in the middle. Placement medians count only accounts with 1,000 or more impressions in that placement.
- Middle half
- Line the accounts up and drop the bottom quarter and the top quarter: the first to third quartile, by linear interpolation, published where N is 4 or more. Quartiles are withheld where they would fall on a single ecommerce account.
- N
- How many accounts a number is based on.
The sample, account by account
N = 1 on every row. That’s 15 rows for 18 accounts: the three ecommerce accounts count in every figure above but don’t get a row. An asterisk marks an account where Meta reported more link clicks than all clicks.
| Account | Descriptor | N | Main optimization goal | CPM | Link CTR | Frequency | Audience Network share | Marketplace share |
|---|---|---|---|---|---|---|---|---|
| M1 | Home services | 1 | Landing page views | $6.40 | 1.76% | 2.64 | 0% | 9.6% |
| M2 | Healthcare | 1 | Link clicks | $1.74 | 0.58%* | 16.92 | 91.1% | 0% |
| M3 | Local business or event | 1 | Landing page views and impressions | $3.77 | 0.64% | 6.94 | 11.9% | 48.0% |
| M4 | Home services | 1 | Website conversion | $17.02 | 0.62% | 4.22 | 0% | 0% |
| M5 | Local business or event | 1 | Reach | $2.86 | 0.05% | 4.81 | 0% | 87.6% |
| M6 | Local business or event | 1 | Reach | $3.28 | 0.03% | 3.25 | 0% | 31.2% |
| M7 | Healthcare | 1 | Landing page views | $12.50 | 1.50% | 3.83 | 3.3% | 0.3% |
| M8 | Healthcare | 1 | Website conversion | $22.15 | 1.18% | 2.75 | 0% | 0% |
| M9 | Home services | 1 | Website conversion | $33.83 | 6.44%* | 3.28 | 91.0% | 0.1% |
| M10 | Home services | 1 | Website conversion | $21.92 | 1.88% | 3.14 | 7.5% | 1.8% |
| M11 | Healthcare | 1 | Reach | $3.58 | 0.04% | 1.85 | 0% | 0% |
| M12 | Home services | 1 | Website conversion | $23.48 | 2.77% | 3.07 | 43.9% | 0.5% |
| M13 | Local business or event | 1 | Reach | $2.99 | 0.12% | 2.87 | 0% | 0% |
| M14 | Home services | 1 | Website conversion | $12.95 | 1.98%* | 5.57 | 91.5% | 0.1% |
| M15 | Local business or event | 1 | Link clicks | $4.97 | 1.49% | 4.46 | 0% | 0.8% |
The same rows, plus the placement and goal tables, are in the CSV. Spend, impressions and conversion counts are left out of both, because any one of them next to a unit price gives back an account’s spend.
Figures you can quote.
Each line carries its scope, so it stays accurate when it’s copied on its own. Please link back to this page when you use one.
- Across 18 local and DTC Meta ad accounts managed by Conner Crowe, the pooled CPM was $6.03 in Q3 2026, 1 July to 30 September, and the median account paid $6.56. Managed accounts, not a market measure (N = 18).
- In Meta ad accounts managed by Conner Crowe, Facebook Marketplace returned a 0.27% link CTR in Q3 2026 against 1.26% in Facebook Feed, so its $2.80 CPM bought link clicks at $1.04 each against $0.61 in Feed (N = 12 and N = 18).
- In Meta ad accounts managed by Conner Crowe in Q3 2026, ad sets optimized for reach or impressions bought impressions at a $2.88 pooled CPM and returned a 0.06% link CTR, while conversion-optimized ad sets paid $20.35 and drew 2.84%, about 46 times the click rate (N = 6 and N = 9).
- 9 of 18 Meta ad accounts managed by Conner Crowe, carrying 42% of spend, optimized for no conversion event at all in Q3 2026 (N = 18).
- In Meta ad accounts managed by Conner Crowe, Audience Network rewarded video posted a 13.85% link CTR at a $39.07 CPM in Q3 2026, about 11 times Facebook Feed’s 1.26% (N = 6 and N = 18).
- The median website cost per lead on Meta across 6 local lead-gen accounts managed by Conner Crowe was $89.33 in Q3 2026, ranging from $22.85 to $422.71, and none of the 6 used instant forms (N = 6).
- In Q3 2026, Meta lead accounts managed by Conner Crowe with 40% or more of spend on Audience Network posted a median $29.73 website cost per lead against $187.65 for accounts under 10%, and the cheaper group is the unverified one (N = 3 each).
- Median Meta frequency over the 92 days of Q3 2026 was 3.2 impressions per person reached, across 18 ad accounts managed by Conner Crowe (N = 18).
How to cite
Crowe, Conner. "Meta Ads CPM by Placement: 18 Local and DTC Accounts (Q3 2026)." Q3 2026 edition, published 3 October 2026, updated 30 October 2026. https://connercrowe.com/benchmarks/meta-ads-cpm-by-placement/
If you quote a figure, please link to this page rather than to the CSV, so readers land on the method and the N. Data licensed CC BY 4.0, attribution to Conner Crowe with a link. The next edition covers Q4 2026 and lands in January 2027. When it does, these Q3 figures stay on the page, marked superseded.
Common questions.
What is a good CPM for Meta ads in 2026?
Which Facebook ad placement has the cheapest CPM?
Are Facebook Marketplace ads worth it?
Should I turn off Audience Network on Meta ads?
How much does a Facebook ads lead cost for a local business?
Why is my Meta CPM low but my ads get no clicks?
Related reading
- All first-party benchmarks The publishing rules every report on this site is held to.
- AI answers field report How often AI assistants name a business, and get its facts right.
- Google Ads account benchmarks The search side of the same quarter.
- Ecommerce tracking accuracy benchmark How far purchase tags on the same store disagree.
- Healthcare Google Ads benchmarks Clinic and practice accounts, same window.
- Home services cost per lead by trade Google Ads cost per lead across home-services trades, same quarter.
- Meta Conversions API setup that reconciles The tracking you need before a conversion goal means anything.
- Why GA4 and Meta conversion numbers don't match Where the two counts part ways.
- Signs your ads are reaching the wrong audience The account-side symptoms of the reach problem above.
I'll tell you which
of your numbers are real.
Add me as a read-only user and I'll write the audit myself: your placement breakdown, the goal on every ad set and how much spend sits on Audience Network and Marketplace, 5 to 7 pages, back within 24 hours of access. No call needed. If you'd rather talk first, a call is open too.