Diagnostics
August 31, 2026
11 min read

Your Facebook ads aren't working

N
Nicolas Bonati
Founder, NeuroRadar
Your Facebook ads aren't working

Your Facebook ads aren't working

In July I spent about 88 dollars in six days. The ads looked healthy: a good share of people were tapping them, the cost per visit was reasonable, the video looked fine.

Zero sales.

My first reaction was everyone's first reaction: change the ad. I sat down to write another script.

The ad wasn't the problem. It took me a month of data to understand that.

When somebody says "my Facebook ads aren't working", the answer they get is almost always the same: try another creative and tighten your audience. Of the seven causes I'm about to list, those two are number six and number seven. And I didn't put them last for effect — I put them last because they're the ones that are least often the problem, and the only ones you can see at a glance.

The causes are ordered by where the failure lives. Starting from the top.


1. You asked it for something else

This is the most common one and the cheapest to fix, and almost nobody checks it because it's buried in the first screen of the campaign setup.

When you create a campaign, you choose what it has to get you. And the platform delivers that with total obedience. If you ask it for visits, it will go find the people in your country most likely to tap on ads, who are not the people most likely to buy from you.

I built my first campaign asking for visits. It brought 189 clicks at about three cents each, one for every 40 people who saw it. Numbers that look good in any report. It didn't bring a single customer, and I had no way of knowing, because on top of that — cause 2 — there was nothing installed to count them.

I asked for clicks. It brought me clicks. Flawlessly.

How it shows up in your account: open the campaign and look at the objective. If it says traffic, reach or engagement, and what you expected was sales, that's it.

The fix: a new campaign asking for sales or messages. Careful here, because this one costs money to learn: you cannot change the objective on a campaign that already exists. You have to create another one from scratch. I tried to change it and lost two days looking for a button that isn't there.

2. The platform can't see your sale

If your customer messages you on Instagram, asks for a price, books, shows up and pays at the counter, none of that touched your website. The platform never saw it. And what it can't see, it can't chase.

Of 23 small-business sites we scanned in July, 12 could not connect a single dollar of Instagram spend to a customer who actually paid. I took that apart in detail in what is a good ROAS in your sector.

Here your ad may be working perfectly and you'd have no way to notice. It's the most uncomfortable cause of all, because the fix isn't in the advertising.

How it shows up in your account: the dashboard reports as a result something that isn't a sale — a click, a message someone started typing, a page view — and you have no way to tie a real customer back to a specific ad.

The fix: start with the simple part. Ask every person who comes in where they came from and write it down, even in a spreadsheet. That alone straightens out your decisions while you sort out the technical half, which is connecting the record the platform installs on your site with the moment somebody opens the chat.

3. Your account looks bad because you never confirmed a sale to it

You'll rarely find this one written down, and it's an expensive vicious circle.

The platform grades every ad. When it sees people arrive and nothing ever happen afterwards — no purchase, no message, no signal — it concludes that the ad delivers a poor experience. And it charges a badly graded ad more to be shown.

So: your ad gets more expensive for not having sold, which makes it sell less, which makes it more expensive.

Both of my July ads were flagged as "below average quality". Both. With cheap clicks and above-standard tap rates. It wasn't for lack of clicks: it was because Meta saw people go in and never saw anything come out.

How it shows up in your account: there are three quality ranking columns on the ad. If they say "below average" and your clicks are fine, this is your cause.

The fix: fixing cause 2 fixes this one. As soon as the platform starts seeing real signals, the grade recovers on its own.

4. The leak is after the click

This is where most of the money goes, and it's the part nobody looks at because it doesn't appear in the ads dashboard.

My numbers over those six days, with the 88 dollars on top:

  • 392 people reached the page
  • 10 did what the page asked
  • 0 made it to the next step

One in 39. And of those, none moved forward.

The hole was in my own page. On mobile, the progress bar sat just below the edge of the screen: you tapped the button and it looked like nothing had happened. Since the process takes 30 to 40 seconds, people assumed it was broken and left. And the button to message me was five screens of scrolling down.

Add the context: 83 out of every 100 visits arrive on a phone, and most open your page inside Instagram's built-in browser, which is slower and keeps the feed one tap away. Any second of doubt costs you the visit.

Scaling a campaign with this open is paying to fill a leaking bucket.

How it shows up in your account: cross the visits the platform reports against what actually reached you. If dozens of people go in and nobody messages you, stop looking further up.

The fix: open your own page on your phone, on mobile data, from the ad's link. Not from your computer. Walk the whole path as if you were a customer. The problem almost always shows up in the first 20 seconds.

5. The ad promises one thing and the page opens with another

Related to the one above, but you fix this by writing, not by coding.

My best-performing ad talked about the feeling of staring at a metrics dashboard and understanding none of it. That was the hook, and it worked. The person tapped, landed on my page, and the first thing they read was that we detect the technical records installed on their site.

Completely disconnected. Somebody who arrived because of a frustration found a product description in a language that wasn't theirs.

When the page headline isn't the continuation of the ad's sentence, people feel they've landed in the wrong place. They don't think it: they feel it, and they go back.

How it shows up in your account: put the ad copy and your page headline side by side. If they don't read like the same conversation, this is your cause.

The fix: make the page headline repeat, in almost the same words, the ad's promise. It's one of the cheapest changes there is and one of the ones that moves the needle most.

6. There isn't enough volume for it to learn

Meta's automated systems need something in the order of 50 results per week to stabilise. Below that, the cost per result drifts on its own: you'll see day-to-day swings that mean nothing.

I had 10 in six days. That isn't a measurement, it's an anecdote with decimal places. The 7.70 dollars each one was costing me wasn't data: it was noise with two decimals.

And here comes the mistake that multiplies the problem. When the number looks ugly, you go in and correct it: change the copy, raise the budget, adjust the audience. Every edit restarts the learning count. You end up stuck forever in the phase where the numbers mean nothing, editing because the numbers mean nothing.

How it shows up in your account: the ad set says "learning" and has been there for weeks. Or worse, it says "learning limited".

The fix: two rules. You don't judge an ad until it has spent three times what you're willing to pay for a customer. And while it's learning, you don't touch it. If you need to try something different, duplicate instead of editing. The full order for knowing when a number can be trusted is in how to know if your ads are working.

7. Only now: the ad and the audience

After the six above — yes, sometimes the creative is bad.

The way that shows up is almost always the same: nobody gets past the first second. The video opens with a logo, with an introduction, or with a nice but silent shot, and by the time it says something that matters the person has already scrolled on. I took that apart here: the three-second rule on Meta.

And on audiences, the correction that's needed most: closing it down too far is worse than leaving it broad. It's tempting to build an audience out of three overlapping interests, an exact age range and two neighbourhoods, because it feels like sharpening your aim. What it does in practice is leave the platform with nowhere to choose from, and kill the learning before it starts.

My campaign ran on the whole country, ages 25 to 50, with no interests selected at all. On purpose. On small budgets, the broad audience is what gives the machine room to find your people.


The uncomfortable case

I had two ads running in that campaign.

One looked better up top: of every 100 people who saw it, 4.6 tapped it, against 3.6 for the other. If someone had asked me which one to keep, I'd have kept that one.

It spent about 11 dollars, 3,467 people saw it, and it produced zero. The automatic budget split figured it out before I did and put 87% of the money on the other one, the one with fewer taps, which was the one that brought the 10 results. It was right.

That's the summary of all seven causes in a single case: what you see first is what decides least. And if you diagnose from the impression downwards, you will always end up fixing the thing you can see, which is the ad.


What to check this week

In the reverse order to the one everybody uses.

One. Open your campaign and look at what you asked it for. Just that. If it says traffic and you were expecting sales, don't read the rest of the dashboard: that's it.

Two. Open your page from your own ad, on your phone, on mobile data. Walk the whole path through to messaging yourself. Time it.

Three. Take a customer who reached you this month and work backwards: where did they come from? was it recorded anywhere? Wherever the chain breaks, that's your blind spot.

Only after that, if all three come back clean, sit down and write another ad. None of this needs an agency; it needs an afternoon. And if after that afternoon you want to take the wheel completely, the step by step is in how to manage your Google Ads without an agency.

An ad that doesn't sell almost never means Facebook doesn't work for your industry. It means the failure is in a link you weren't looking at.


Frequently asked questions

Why aren't my Facebook ads working?
For seven possible reasons, and five of them aren't in the ad: you asked the platform for the wrong result, the platform can't see your sale because you close in chat, your account carries a bad grade for never having confirmed a sale, people get lost after the click, the ad promises something different from what the page opens with, or you don't have enough volume for the system to learn. Only after ruling those six out does it make sense to look at the creative and the audience.

How much do you have to spend before calling an ad a failure?
Three times what you're willing to pay for a customer. If a new customer can cost you 45 dollars, that ad needs 135 dollars on it before its number means anything. On top of that, the automated systems need something in the order of 50 results per week to stabilise, and editing the ad in the meantime restarts the count.

I'm getting clicks but no sales, what's going on?
Almost always one of two things. Either the sale does happen but the platform can't see it because it closes over WhatsApp or by phone, or people reach your page and get lost there. In my own campaign 392 people arrived and only 10 completed what the page asked: the ad was healthy and the hole was on mobile, with a button buried five screens down.

Does changing the audience help if the ad isn't working?
It's the first thing almost everyone recommends and one of the last things worth touching. On small budgets, narrowing the audience usually makes things worse: you take away the platform's room to choose and kill the learning before it starts. My campaign ran on a broad audience on purpose, whole country and no interests, and it was the automatic split that found the ad that worked.

Is Facebook right for my industry, or should I switch to Google?
Before switching platforms, check whether the one you have was able to measure you. Moving with the sale happening outside the system's reach leaves you just as blind, and with the learning starting over. The real difference between the two is intent: on Google the person is already searching for what you sell, on Facebook you have to interrupt them. That changes the message, not the diagnosis.


If you'd rather skip the afternoon of reviewing, scan your site for free: I'll tell you in plain language what your marketing is measuring today, where people are leaking away after the click, and how your operation looks next to your sector's. No agency, no cockpit dashboards.

Back to all articles

Do you know if your marketing is working?

Scan your site free in 30 seconds: we tell you what you are measuring, how you compare to your industry and where it pays to invest. Nothing to install, no agency needed.