Facebook ads usually get more expensive for one of three reasons: you are paying more to be shown (CPM went up), fewer people who see the ad click it (CTR went down), or fewer people who click go on to buy (conversion rate went down). Your cost per purchase is those three numbers multiplied together, so a small slip in each one adds up to a big jump. Before you blame Meta, rising competition or the season, split the increase into those three parts. The part that moved most tells you what to fix, and most of the causes behind it are ones a small store can control.
There is a fourth possibility worth ruling out first: nothing got more expensive, but Meta is seeing fewer of your sales. A tracking problem makes cost per purchase look higher even when real orders have not changed.
Step one: check whether the cost rise is real
Compare the orders in Shopify with the purchases Ads Manager reports for the same two periods, before and after the jump. If Shopify orders held steady while Meta’s reported purchases fell, you are looking at a measurement problem.
On Shopify, open Sales channels > Facebook & Instagram > Settings > Data sharing settings. Shopify’s Help Center explains that the Standard level relies on the Meta pixel in the browser, and that “a browser-based ad blocker can prevent the Meta pixel from sharing data.” The Enhanced and Maximum levels add Meta’s Conversions API, and Shopify says data sent from server to server “can’t be blocked by browser-based ad blockers.” If you are still on Standard, that is the first thing to change.
Reporting rules can also shift. Meta’s developer blog announced that from January 12, 2026, the Ads Insights API would stop returning the 7-day view and 28-day view attribution windows. If a report or dashboard you rely on used one of those windows, the same ads can now be credited with fewer purchases, and cost per purchase rises on paper. Our guide to Facebook ads spending money without sales walks through a full tracking check, including a test order.
The formula that splits the problem in three
Every cost per purchase can be rebuilt from three numbers you can see in Ads Manager. Meta’s Ads Insights reference defines CPM as “the average cost for 1,000 impressions” and link CTR as the percentage of times people saw your ads and performed a link click. Add your own conversion rate from click to purchase and you get:
Cost per purchase = CPM / (1,000 x link CTR x conversion rate)
Because the three parts multiply, a 20% rise in CPM alone raises cost per purchase by 20%. A drop in CTR from 1.2% to 1.0% also raises it by 20%, because you now need 20% more impressions for the same clicks. Put several small changes together and the total jump looks dramatic, even though no single number moved very far.
Worked example: a 57% jump that is mostly not CPM
Here is a hypothetical ad set, measured over two comparable weeks. These are modelled numbers chosen to show the method, not typical results.
CPM $14.00 $16.80 +20%
Link CTR 1.2% 1.0% down 0.2 points
Cost per link click $1.17 $1.68 +44%
Conversion rate (click to purchase) 2.5% 2.3% down 0.2 points
Purchases per $1,000 spent 21.4 13.7 down 36%
Cost per purchase $46.67 $73.04 +57%
Hypothetical ad set. Our arithmetic using the formula above.The owner of this store would likely say Facebook got 20% more expensive. That is true, but it explains only part of the $26.38 increase. To share out a change in a product fairly, you can compare the logarithm of each ratio. Done that way, the higher CPM accounts for about 41% of the rise, the weaker CTR for another 41%, and the lower conversion rate for about 19%.
In this modelled case, almost 60% of the cost jump came from the ad and the store, not from the price of impressions.
As a cross-check, change one number at a time from Week A. CPM alone takes cost per purchase from $46.67 to $56.00. CTR alone also gives $56.00. Conversion rate alone gives $50.72. Multiply the three effects (1.20 x 1.20 x 1.087) and you land on the same 57% total.
The practical point: almost 60% of this store’s cost rise came from things the auction price does not explain. A tired ad and a slightly weaker product page did as much damage as the higher CPM.
If CPM went up: what drives the price of impressions
Meta describes its ad auction in a 2023 Meta AI blog post about fairness in ad delivery. Each eligible ad gets a total value, and the post names three key components: “the advertiser bid,” “the estimated action rate,” and “ad quality.” Meta uses AI models to predict the estimated action rate, which it describes as a person’s likelihood of taking the advertiser’s desired action. Total value affects the probability that an ad wins the auction and is shown.
That gives you four practical reasons CPM rises:
- More competition for the same people. When other advertisers bid more to reach your audience, you need a higher total value to win the same impressions. You cannot control their budgets. You can control the other two parts of total value.
- Lower predicted response. If Meta predicts that fewer people will take your desired action, your ad is worth less in the auction and you pay more to win. This is where creative and offer quality feed straight into price.
- Lower ad quality. Meta’s Ads Insights reference says its quality ranking is “measured using feedback on your ads and the post-click experience.” Negative feedback and a poor landing page can both raise what you pay.
- You raised the budget. Meta’s bid strategy documentation is direct about this. For the highest volume strategy it says costs “can rise as you exhaust least expensive opportunities or as you increase budget.” If cost per purchase jumped the week you doubled spend, that is the most likely reason.
Check the three ranking columns
Ads Manager can show three ad relevance diagnostics for each ad. Meta’s reference defines them as follows: quality ranking, “a ranking of your ad’s perceived quality”; engagement rate ranking, “a ranking of your ad’s expected engagement rate”; and conversion rate ranking, “a ranking of your ad’s expected conversion rate.” If CPM rose while one of these slipped, the ad itself is part of the problem. Meta notes these rankings are not available with Dynamic Creative Optimization.
If CTR went down: the ad is wearing out
A falling link CTR on an unchanged ad usually means the people seeing it have seen it before. Meta defines frequency as “the average number of times each person saw your ad,” and labels it an estimated metric. Watch frequency alongside CTR, week by week, for the same ad set.
- Frequency rising, CTR falling: the audience is saturating. Add new creative or widen the audience.
- Frequency flat, CTR falling: the message has lost its pull. A competitor may be running a similar offer, or the product has become less timely.
- CTR falling right after an edit: the ad set may be relearning. Meta’s ad set reference says that while an ad set is still in learning, delivery performance can be unstable.
Meta does not publish a frequency number at which ads stop working, and it varies by product and audience. Our rule of thumb, not Meta’s: when frequency climbs week after week and CTR falls in step, it is time for new creative, whatever the absolute number.
If conversion rate went down: look at the store, not the ad
If CPM and CTR held steady but cost per purchase still rose, people are clicking as often as before and buying less often. That points at the landing page, price, stock or checkout. Common causes are a price increase, a sold-out best seller, slower pages, a new shipping charge or a discount code that expired while the ad still promised it.
Use Shopify’s conversion funnel to find the step where ad visitors now leave. Our guide on why a Shopify store gets traffic but no sales covers that report and a full checkout test.
Diagnostic table: which number moved, and what to check
Reported purchases fell, Shopify orders did not Tracking gap, ad blockers, attribution window changes Yes Data sharing level; test order in Events Manager
CPM up, rankings stable More competition, higher budget Partly Did you raise the budget? Compare CPM by week
CPM up, a ranking fell Lower predicted response or ad quality Yes Quality, engagement and conversion rate rankings
CTR down, frequency up Audience seeing the same ad too often Yes Frequency trend; add new creative
CTR down after an edit Ad set relearning Yes Date of last significant edit
Conversion rate down Price, stock, page speed, shipping, expired offer Yes Shopify conversion funnel for ad traffic
Our decision checklist, built from Meta’s metric definitions and bid strategy documentation.What not to do when costs jump
- Do not change five things at once. You will not know which change helped, and heavy edits can restart learning.
- Do not raise the budget to “push through”. Meta’s documentation says higher budgets can raise costs as cheaper opportunities run out.
- Do not judge by CPM alone. A higher CPM with a better CTR and conversion rate can still mean a lower cost per purchase.
- Do not set a cost cap and assume it holds. Meta says adherence to cost cap limits “is not guaranteed,” and that capped campaigns may not spend the full budget.
Know the cost per purchase you can afford
A rise only matters relative to what each order can pay for. Work out your break-even cost per purchase from product cost, shipping, payment fees and returns, then compare. In our break-even ROAS guide, a $60 order leaves $26.96 to spend on acquiring the customer. A store in that position cannot fix a $73 cost per purchase with small tweaks. It needs a bigger order, a better margin or a different product to advertise.
What you should check next
- Compare Shopify orders with Meta-reported purchases for the weeks before and after the jump.
- Export CPM, link CTR, frequency and purchases by week for the affected ad set.
- Rebuild cost per purchase with the formula and see which of the three parts moved most.
- Check the date of your last budget increase and last significant edit.
- Review the three ranking columns for each ad in the ad set.
- Fix the biggest driver first, then wait a full week before judging the result.
Frequently asked questions
Is it normal for Facebook ad costs to rise without any change on my side?
It can happen, because you compete in an auction with other advertisers and their bids change. But a cost rise with no change on your side is often an ad that has slowly worn out. Check whether CTR and frequency moved before you put it down to competition.
Does a higher CPM always mean a higher cost per purchase?
No. CPM is one of three parts. If a new ad costs more per thousand impressions but gets clicked and converts more often, cost per purchase can fall. Judge ads on cost per purchase and on orders in Shopify.
Will switching to a cost cap stop costs rising?
Not reliably. Meta’s documentation says it strives to meet the cost per action you set, but adherence is not guaranteed, and the campaign may not spend its full budget once it hits the cap. You may get fewer sales rather than cheaper ones.
Why did costs jump after I increased my budget?
Meta says costs can rise as you exhaust the least expensive opportunities or increase budget. More money buys impressions that were too expensive to win before. Raise budgets in steps and watch cost per purchase after each one.
Can Meta’s attribution changes make ads look more expensive?
Yes. If fewer purchases are credited to your ads, reported cost per purchase rises even when real sales are flat. That is why Shopify’s order data should be your record of truth.
The takeaway
“Facebook got more expensive” is rarely the whole story. Split cost per purchase into CPM, CTR and conversion rate, find the part that moved most, and fix that first. Rising competition is the one cause you cannot control, so make sure it is really the culprit before you accept it.
Sources
- Meta AI blog, “A new system to help ensure ads are delivered fairly to different demographic groups”, January 9, 2023 (ad auction and total value). ai.meta.com
- Meta for Developers, Marketing API, “Bid Strategy” (cost behavior by strategy, cost cap limits). developers.facebook.com
- Meta for Developers, Marketing API, “Bidding overview” (effective bid). developers.facebook.com
- Meta for Developers, Ads Insights reference (CPM, CTR, frequency, quality, engagement rate and conversion rate rankings). developers.facebook.com
- Meta for Developers, Ad set reference (learning stage info). developers.facebook.com
- Meta for Developers blog, “Ads Insights API metric availability updates”, October 16, 2025. developers.facebook.com
- Shopify Help Center, “Meta data sharing”. help.shopify.com
Last reviewed: October 17, 2026. Meta’s documentation and Shopify’s menu path were checked on that date.
How this article was made: researched and drafted with AI assistance, with every factual claim checked against the sources above. The two-week ad set, its cost breakdown and the diagnostic table are our own modelled example and analysis, not Meta data or typical results.
Related guides
- Why is my Facebook ad spending money without sales?
- What ROAS do you need to break even?
- Why is my Shopify store getting traffic but no sales?
- How to sell on social media
