Hi there,
Thanks for reaching out!
Happy to give you some initial thoughts on your ad campaigns. It's a really common situation to be in, seeing clicks but no actual results, and it's usually down to a few crossed wires between what you're telling the ad platform to do and what a potential customer actually needs to see to take action. It's almost never about one single button or setting, but more about the whole strategy from the ad itself to the final click on your booking form.
I've taken a look at what you've described and I'm going to walk you through what I think is going on, and more importantly, what you can do about it. We'll need to fundamentally rethink the offer, who you're talking to, and how you measure success. Let's get this sorted.
TLDR;
- Stop running "Traffic" campaigns immediately. You were paying Meta to find the worst possible audience for your business – people who click but never convert.
- Your real problem isn't your campaign objective; it's your offer. "Free appointment booking" is not a compelling reason for someone to act. You need to sell the solution to their problem, not the process.
- Defining your customer as "everyone within 10km" is a recipe for wasted ad spend. You must define them by their specific, urgent problem or 'nightmare' to create ads that resonate.
- The most important piece of advice is to calculate what you can actually afford to pay for a lead. Below, you'll find an interactive calculator to help you figure out your maximum affordable Cost Per Lead (CPL).
- You'll also find a detailed flowchart below to help you diagnose exactly where users are dropping off between clicking your ad and filling out your form.
First off, let's talk about why your Traffic campaign was a complete waste of money...
I know this sounds blunt, but it's the most important myth we need to bust right away. You mentioned your Traffic campaign gave you a high CTR of 4.5% and a low CPC. On the surface, those numbers look great, don't they? It feels like you're getting lots of cheap attention. But you also said the average time on site was less than 10 seconds, with zero form fills. This isn't a coincidence; it's the system working exactly as you told it to.
Here's the uncomfortable truth about awareness and traffic campaigns on platforms like Meta. When you set your campaign objective to "Traffic" or "Link Clicks," you give the algorithm a very specific, very literal command: "Find me the largest number of people, for the lowest possible price, who are most likely to click a link."
The algorithm, being the ruthlessly efficient machine it is, does exactly what you asked. It scours your 10km radius and seeks out the users who have a demonstrated history of clicking on ads. These are often called 'accidental clickers', 'bored scrollers', or people who just click on anything that looks remotely interesting without any intention of ever doing anything else. They are not in demand by advertisers who want conversions, so their attention is incredibly cheap. You were actively paying the world's most powerful advertising machine to find you the absolute worst, least-qualified audience for your physical store.
The low time on site is your proof. They clicked, the page loaded, they realised it required them to read or think or book something, and they left instantly. They fulfilled their 'clicking' duty as far as the algorithm was concerned. This is why your Leads campaign, while seeming more expensive with a higher CPC and lower CTR, is actually the correct first step. At least with a "Leads" objective, you're telling Meta, "Find me people who have a history of actually filling out forms and converting." The pool of these people is smaller and more valuable, hence the higher cost. So, rule number one: never, ever run a Traffic campaign again if your goal is any kind of offline action. It's like fishing with a net full of massive holes; you'll feel some wiggles but you'll never land a fish.
We need to fix your offer before you spend another pound...
Okay, so we've established that the "Leads" objective is the right direction. But an objective is just an instruction to the algorithm; it can't fix a weak message. The reason you're still not getting form fills is almost certainly down to your offer. The number one reason paid ad campaigns fail is a disconnect between what the business is offering and what the audience actually values.
Right now, your offer is a "free appointment booking." Let me be brutally honest: nobody wakes up in the morning excited to book an appointment. An appointment is a process, a means to an end. It's friction. People don't want the drill; they want the hole. You're selling the drill.
Your offer’s only job is to deliver a moment of undeniable value, or at least the promise of one. It has to solve a problem. Think about the most common failure point in B2B advertising: the "Request a Demo" button. It's arrogant. It presumes a busy prospect wants to sit through a sales pitch. Your "Book an Appointment" call to action is the local business equivalent. It's high-friction and low-value.
You need to reframe the entire proposition. You don't sell appointments; you sell a transformation. You sell relief from a pain point. You sell a good night's sleep. You need to use a simple copywriting framework like Problem-Agitate-Solve (PAS).
Let's imagine you run a bespoke tailor shop. Here's the difference:
- Bad Offer (what you're doing now): "Book a free appointment at our tailor shop!" - This is about your process.
- Good Offer (using PAS): "Tired of off-the-rack suits that never fit right? Do you feel unprofessional when your jacket bunches up or your trousers are too baggy? (Problem) It undermines your confidence in that crucial meeting or at that important event. (Agitate) Book a free, no-obligation fitting and discover how a perfectly tailored suit can transform your presence. (Solve)" - This is about their problem and your solution.
Or maybe you're a physiotherapist:
- Bad Offer: "Book a free physio consultation."
- Good Offer: "Is that nagging back pain stopping you from playing with your kids? Are you worried it's getting worse and you'll have to give up your weekend golf game? (Problem) Every day you wait, the problem could become more chronic. (Agitate) Book a free 15-minute diagnostic session and we'll pinpoint the issue and give you one simple exercise you can do at home for immediate relief. (Solve)"
See the difference? The second version in both examples speaks directly to a frustration. It makes the appointment feel like a tangible step towards solving a real, urgent problem. Your ads and your website need to be screaming the solution, not the process. The "free appointment" is just the mechanism to get that solution.
I'd say you need to forget demographics for a moment...
Your current targeting is "10km radius around the store" with Broad Advantage+. This is a classic local business mistake. You've confused a geographic boundary with an audience. This approach assumes that everyone living within a certain distance is a potential customer, which is simply not true. You're showing ads to people who have no need, no interest, and no ability to buy what you sell. It's like shouting into a crowded room hoping the one person who needs you will hear.
To stop burning cash, you must define your customer by their pain. Forget the sterile, demographic-based profile. "Women aged 25-45" tells you nothing of value. Your Ideal Customer Profile (ICP) isn't a person; it's a problem state. You need to become an expert in their specific, urgent, expensive nightmare.
What is the deep frustration that would cause someone to actively seek out a business like yours and book an appointment? What keeps them up at night? What's the problem they complain about to their friends?
Once you've isolated that nightmare, you can use Meta's detailed targeting to find them, even within your 10km radius. Let's go back to the tailor example. Their ICP's nightmare isn't 'needing a suit'. It's 'the terror of looking cheap and unprofessional at a career-defining event'. So, who feels that pain?
- People with job titles like 'Director', 'Sales Manager', 'Lawyer'.
- People with interests in 'luxury goods', 'business travel', 'financial publications like The Economist'.
- People who follow high-end suit brands like 'Savile Row' or 'Hugo Boss'.
Now you have something to work with. You can layer these interests on top of your location targeting. This way, you're not just reaching people who happen to live nearby; you're reaching people nearby who are actually pre-disposed to needing your solution.
To help you with this, I've created a simple flowchart to guide your thinking process. Work through it for your own business.
Step 1: The Surface Problem
What service do people book? (e.g., "A haircut")
Step 2: The "Why Now?" Trigger
What event makes them book it now? (e.g., "Big job interview next week")
Step 3: The Deeper "Nightmare"
What are they truly afraid of? (e.g., "Looking scruffy and not being taken seriously")
Step 4: The Targeting Clues
What interests does this person have? (e.g., Follows career coaches, member of LinkedIn groups, reads industry publications)
You probably should rebuild your campaign structure...
Armed with a better offer and a clearer picture of your ICP, it's time to structure your campaigns properly. A $15/day budget is tight, so we have to be incredibly efficient. Running a single broad audience campaign is risky because you're giving Meta full control without feeding it any intelligence first.
I would start with a single CBO (Campaign Budget Optimisation) campaign with the "Leads" objective, but with multiple ad sets inside it. Each ad set will target a different hypothesis about your ICP. This lets you test different audiences against each other and forces Meta to spend the budget on the one that shows the most promise.
Here’s a simple structure I’d recommend starting with:
Campaign: LEADS - CBO - £15/day
Ad Set 1: Interest Stack A - [Your 'Nightmare' ICP]
- Targeting: 10km radius + Age/Gender + Detailed Targeting (e.g., Interests in competitor brands, related publications, specific hobbies that correlate with your customer). Group 3-5 related interests here.
- Purpose: Test your primary hypothesis about who your ideal customer is. This is your main prospecting audience.
Ad Set 2: Interest Stack B - [Alternative ICP]
- Targeting: 10km radius + Age/Gender + A different set of detailed targeting interests. Maybe this group is defined by life events (e.g., 'Newly Engaged') or behaviours ('Frequent Travellers').
- Purpose: Test a secondary hypothesis. If your first idea about your ICP is wrong, this gives you another shot.
Ad Set 3: Retargeting - Website Visitors (MoFu/BoFu)
- Targeting: People who have visited your website in the last 30 days (but have NOT filled in the contact form).
- Purpose: To capture the people who clicked from Ad Set 1 or 2, showed interest, but got distracted. The ad copy here should be different, maybe overcoming a common objection or adding a sense of urgency. Your audience size here will be tiny to start, so don't expect much spend, but it's crucial to have it in place.
Within each ad set, you should test 2-3 different ads (creatives). They should all be based on your new, problem-focused offer. After a few days (maybe 4-5 days on a £15 budget), you should have some early data. You'll likely see the CBO budget shift towards one of the interest stacks. That's your signal. Pause the underperforming ad set and either let the winner run, or introduce a new test audience to compete against it. This is the process of iterative testing that finds you profitable pockets of customers.
You'll need to understand your numbers to scale...
This is probably the most overlooked part of local business advertising. The real question isn't "How low can my Cost Per Lead go?" but "How high a CPL can I afford to acquire a valuable customer?" Without knowing this, you're flying blind. You might turn off a campaign that's actually profitable because the CPL 'feels' high.
The maths is quite simple, but it's powerful. You need to work backwards from your final sale.
- Average Customer Value (ACV): What is the average amount a new customer, who came from an appointment, spends with you in their first transaction or over a year? Be realistic here. Let's say it's £300.
- Appointment-to-Sale Conversion Rate: Of all the people who book and show up for an appointment, what percentage actually become a paying customer? Let's say you're good at what you do and you convert 1 in 4, so 25%.
- Value Per Appointment (VPA): Now you can calculate what each appointment is actually worth to your business. It's ACV * Conversion Rate. In our example, £300 * 25% = £75.
So, in this scenario, every completed appointment generates, on average, £75 in revenue for your business. This means you can afford to spend up to £75 to acquire that appointment and still break even. To be profitable, you want your Cost Per Lead (CPL) to be significantly lower than your VPA. A common goal is a 3:1 ratio, meaning you'd aim for a CPL of £25 (£75 / 3).
This might sound abstract, but we see it work for local service businesses all the time. For instance, I remember one campaign we worked on for a home cleaning company. By implementing a similar strategic approach—focusing on the right offer, audience, and campaign objective—we were able to get their cost per lead down to just £5. For a business where each new customer is worth hundreds of pounds, that number made their ad spend incredibly profitable.
Suddenly, a £20 CPL from your Meta ads doesn't look expensive anymore, does it? It looks like a profitable investment. This is the maths that unlocks confident scaling. To make this easier for you, I've built a simple interactive calculator. Play around with your own numbers to find your target CPL.
So, what's the plan going forward?...
I know this is a lot of information to take in, and it represents a significant shift from what you've been doing. But the "spray and pray" approach with broad targeting and a weak offer rarely works, especially on a small budget. You have to be smarter and more strategic. Your goal is not to get the most clicks for your £15, but to get the most qualified potential customers onto your website and to convince them to book.
This involves a bit of detective work on your part to truly understand your customer's pain, some creative work to craft a compelling offer, and some analytical work to set up your campaigns for testing and to understand your numbers. It's a process, but it's a process that leads to predictable, profitable growth instead of frustratingly empty contact forms.
To make it all a bit clearer, I've broken down the main advice into an actionable plan for you.
| Problem | Recommended Action | Why it Matters |
|---|---|---|
| Weak Offer | Stop selling "appointments". Reframe your offer to solve a specific, urgent 'nightmare' your customer is facing. Use the Problem-Agitate-Solve framework. | A strong offer creates desire and urgency. It pre-qualifies your audience and makes the ad feel like a solution, not an interruption. |
| Ineffective Targeting | Define your Ideal Customer Profile by their pain points, not just their location. Use this to build 2-3 detailed interest ad sets to test. | This ensures your compelling offer is shown to people who are most likely to have the problem you solve, drastically reducing wasted ad spend. |
| Wrong Campaign Objective | Permanently delete your "Traffic" campaigns. Allocate 100% of your budget to a "Leads" objective campaign. | This instructs the algorithm to find users who are likely to convert (fill a form), not just users who are likely to click aimlessly. |
| Flying Blind on Metrics | Use the calculator to work out your Average Customer Value and Appointment-to-Sale rate. This will give you your max affordable Cost Per Lead (CPL). | Knowing your target CPL allows you to make data-driven decisions about which ad sets are profitable and which should be turned off. |
| Inefficient Structure | Set up a single CBO campaign with multiple test ad sets inside (2 prospecting, 1 retargeting). Let the algorithm find the winner. | This structure is the most efficient way to test audiences on a small budget, forcing your spend towards what's actually working. |
Implementing all of this correctly requires a careful hand and ongoing monitoring. It’s not a 'set it and forget it' solution. You need to watch the performance, understand the data, and make intelligent decisions about what to test next. This is often where having an expert pair of eyes can make all the difference, helping you avoid common pitfalls and accelerate the process of finding what works.
If you'd like to go through your specific setup and build a more detailed, tailored plan, we offer a completely free, no-obligation initial consultation. We can review your website, your current campaigns, and help you map out the exact first steps to take to start getting those appointment bookings you're looking for.
Regards,
Team @ Lukas Holschuh