Grow · Marketing · Paid ads

Clicks but no sales: what is actually broken in your Meta ads

Healthy CTR, reasonable CPC, and almost no orders at the end of the week. The leak is rarely the creative, and there are only six places it hides.

·7 min read

The click-through rate looks fine. Cost per click is reasonable. People are arriving on the site. Then Friday comes, you open Shopify or your CRM, and there are three orders against $1,800 of spend. Clicks are not your problem. Something between the click and the confirmation page is, and in the accounts we audit it is almost always one of six things.

Start with the objective you actually selected

Meta delivers your ad to the people most likely to do the thing you asked for. Ask for link clicks and you will get link clicks, from people who click a lot of ads and buy very little. This is the most common cause we find and it takes two minutes to rule out.

Open Ads Manager, select the campaign, press Edit, and read the performance goal. For a store it should be “Maximise number of conversions” with Purchase as the conversion event. For lead generation it should be leads, with the event that represents a real enquiry. Then check the ad set level, because the campaign and the ad set can disagree. Plenty of accounts run a sales campaign whose ad sets optimise for Add to cart or View content, because someone set it that way when purchase volume was low and never changed it back.

Optimising for an upper-funnel event on purpose is a decision, not a fault. But you cannot then judge the campaign on sales. Pick the event that matches the number you will be held to.

Does the audience match the offer, or only the interest?

An interest audience built on “yoga” finds people who engage with yoga content. That is not the same as people who buy $120 leggings. The interest matches the category; the offer still has to match what that person is willing to pay.

Use breakdowns to find where the gap opens. Add Breakdown then Delivery then Age, then run it again by Platform and by Country, and compare two columns side by side: link clicks and purchases. You are looking for a segment that supplies a large share of the clicks and almost none of the sales. On e-commerce accounts the usual suspects are Audience Network, the 18-24 band, and a low-cost country left switched on inside a worldwide ad set.

The fix is exclusion, not bid tinkering. If a placement buys cheap clicks that never convert, remove the placement. If a country converts at a quarter of the rate of your home market, give it its own ad set with its own budget so it stops subsidising itself out of your main campaign.

Where the ad stops matching the page

Most of the leak we find sits in the four seconds after the click. The ad showed one product, one price and one promise; the page is a homepage carousel, or a collection page, or the same product at a different price because the discount code is not applied automatically.

Run the click yourself, on a phone, on mobile data. Three questions: does the first screen show the same product and the same offer as the ad, is the price the one the ad implied, and is the call to action visible without scrolling? If the answer to any of those is no, you have found something more valuable than a new audience. Campaign landing pages exist for exactly this reason, and a page built for one ad will usually beat a homepage on the same traffic.

There is a diagnostic hiding in Ads Manager too. Compare Link Clicks with Landing Page Views. Landing page views are always lower, but if they are dramatically lower, people are leaving before the page loads. That is a speed problem, and it is the same root cause behind traffic that arrives at a Shopify store and does not buy.

Is your pixel feeding Meta bad data?

This is the cause that does the most damage because it gets worse quietly. If the Purchase event is missing, duplicated, firing on the thank-you page for every refresh, or passing no value, Meta is optimising towards a signal that does not describe your buyers. Delivery drifts, cost per purchase climbs, and every change you make is judged on numbers that were never right.

Four checks, all in Events Manager:

  1. Test Events: complete a real purchase and confirm one Purchase event arrives, once, with a currency and a value.
  2. Event match quality on your Purchase event: if it is low, you are not sending email, phone or external ID, and matching suffers.
  3. Deduplication: if you run the Pixel and the Conversions API, both must send the same event ID or every sale is counted twice.
  4. Aggregated Event Measurement: your priority events need to include Purchase, or iOS traffic reports almost nothing.

If any of that is unfamiliar, start with the difference between the Meta Pixel and the Conversions API and then get tracking rebuilt properly. It is the one fix that makes every later decision trustworthy.

Symptom, cause, fix: run this table top to bottom

Symptom Likely cause What to do
Strong CTR, plenty of landing page views, almost no add to carts The page does not deliver what the ad promised Rewrite the first screen to repeat the ad’s product, image, price and offer
Link clicks far higher than landing page views Slow page, redirect, or a consent banner blocking the pixel Test on mobile data, check the ratio per placement, fix load time before anything else
Add to carts healthy, purchases near zero Delivery cost or checkout friction revealed late Show delivery cost on the product page, test a free-delivery threshold
Orders in Shopify, nothing in Ads Manager Purchase event missing, duplicated or firing on the wrong page Verify in Test Events, add the Conversions API and de-duplicate by event ID
Sales only ever come from retargeting ad sets The cold offer is too weak for a first touch Change the offer for cold traffic rather than the targeting
Results swing wildly day to day Ad set is too small to leave the learning phase Consolidate ad sets until each can reach roughly 50 conversions a week
Excellent CPC, terrible CPA, mostly 18-24 and Audience Network Cheap placements buying cheap clicks Exclude the placement; a bid cap will not rescue it

When the ads are not the problem

Three faults sit outside the ad account, and we would rather tell you than sell you a campaign rebuild.

The offer or the price. If people reach the cart in reasonable numbers and abandon at checkout, the ads did their job. Shipping cost, a clumsy payment step, no returns policy and no reviews all show up at exactly that point. Fix the page, not the targeting.

The attribution window. Check what window Ads Manager is set to, because 7-day click and 1-day view report very different totals, and compare it against your store’s own numbers. Long consideration cycles and high-value products often sell outside the window you are looking at. The sales exist; the report does not see them.

Budget per ad set. Meta’s own guidance is that an ad set leaves the learning phase at around 50 optimisation events in a rolling week. Four ad sets at $20 a day, each producing six purchases a week, will all sit in learning permanently and all look like failures. One ad set at $80 a day may not. Before you accept that your ads do not work, do the budget arithmetic and see whether the account was ever funded to produce a stable result.

What this looks like when we do it

A Shopify women’s apparel brand came to us with a cost per conversion 42% above target and campaigns that would not scale. We fixed tracking first with UTMs, GA4 and server-side events, rebuilt the account into clear top, middle and bottom-of-funnel campaigns, then produced new creatives weekly and raised budgets in 20% steps. Six months later the account was spending $26,849 a day at a 389% blended ROAS. The full detail is in the women’s apparel Meta ads case study, and the order of operations in it is the point: tracking, then structure, then creative, then scale.

Where that leaves you

You now have a sequence rather than a hunch. Confirm the objective and the conversion event, verify the Purchase event in Test Events, click your own ad on a phone, then look at clicks against purchases by placement and country. One of those four will show you the leak, and you can do all of it yourself in an afternoon.

If you would rather have someone else find it, our free growth audit includes a strategist reviewing the account before the call, and you keep the one-page action plan whether you work with us or not.

Common questions

Why do my Facebook ads get clicks but no sales?

Usually because the campaign is optimised for clicks or an upper-funnel event rather than purchases, so Meta finds people who click rather than people who buy. The other common causes are a landing page that does not match the ad, and a broken purchase event that stops Meta learning who your buyers are.

How many clicks should it take to get a sale?

Work it out from your own numbers rather than a benchmark. Divide one by your landing page conversion rate: a 2% rate means roughly 50 clicks per sale, so at a $1 cost per click you need $50 of spend per order. If your spend per order is far above that, the gap is the problem you are solving.

Can broken tracking be the reason my Meta ads make no sales?

It can cause both the appearance and the reality of it. If the Purchase event is missing or fires on the wrong page, Ads Manager under-reports sales you did make, and Meta also optimises against bad data, so delivery drifts towards the wrong audience week after week.

Should I pause ads that get clicks but no conversions?

Not before you know why. Pausing an ad set that was never funded well enough to learn, or that is pointed at a broken page, simply hides the fault. Fix the objective, the event and the page first, then judge the ads against at least a week of clean data.

Proof from our work

Free · 30 minutes · No obligation

Get your free growth audit.

In 30 minutes we'll show you where your ads, store and follow-up are leaking money, and what we'd fix first. You keep the action plan either way.

  • Ads & tracking review
  • Store or funnel teardown
  • Automation opportunities