A climbing gym was buying clicks.
We rebuilt the account to buy bookings.
An independent climbing and activity centre in South East England came to NCMborz with a Meta Ads account that had never been able to report a single sale. Ten months later it returns £2.95 for every £1 spent, and the current cost per booking is £5.13.
- Sector
- Local ecommerce
- Market
- South East England
- Service
- Meta Ads management
- Period
- November 2025 - September 2026
The account had never been told
what a customer looks like.
The gym sells four things online: family climbing sessions, beginner bouldering sessions, birthday parties and a youth coaching programme. Every one of those is a checkout on their own website. None of it was being measured.
The account had been running on a link click objective. It delivered clicks cheaply, and because there was no purchase event firing, Meta had never been given a single sale to learn from. The algorithm was optimising for the lowest possible cost per click, which is exactly what it delivered and exactly what nobody wanted.
There was no way to answer the only question that matters: did the ads make money? So that was the first thing we fixed.
Same budget.
Six times the bookings.
The account did not turn around on day one. The first three campaigns were the price of teaching the pixel what a customer looks like. Comparing that opening phase with the current phase, on almost identical budget, shows what the account learned.
A 12 percent increase in budget. Six times the bookings. Cost per booking down 82 percent.
Full account performance.
All sales campaigns, November 2025 to 7 September 2026. Attribution: 7 day click, 1 day view. All figures in GBP, taken from Meta Ads Manager.
| Metric | Result |
|---|---|
| Ad spend | £2,864.35 |
| Tracked revenue | £8,447.68 |
| Return on ad spend | 2.95x |
| Bookings | 210 |
| Cost per booking | £13.64 |
| Average order value | £40.23 |
| Adds to cart | 410 |
| People reached | 213,248 |
| Cost per 1,000 impressions | £4.34 |
| Metric | Result |
|---|---|
| Ad spend | £404.91 |
| Tracked revenue | £2,424.33 |
| Return on ad spend | 5.99x |
| Bookings | 83 |
| Cost per booking | £4.88 |
| Adds to cart | 306 |
A separate lead campaign for the youth coaching programme ran alongside these and produced 16 enquiries at £8.30 each on £132.75 of spend. This gym runs on daily budgets between £5 and £15, so every decision on the account had to survive at that scale.
The four things we fixed,
in that order.
Nothing here is exotic, and we find the same four problems in most local ecommerce accounts we audit. What matters is the sequence. Each fix depends on the one before it, and doing them out of order is why most rebuilds fail.
Ecommerce tracking, before anything else
A sales campaign needs completed purchases to optimise against. If the pixel is not firing a purchase event on the booking confirmation, with a value attached, Meta has no examples of a customer and cannot go looking for more of them. This is where most local accounts actually break: the business is selling online perfectly well, money is arriving, and none of it is visible to the ad platform.
The event has to fire on genuine confirmation rather than on the button click, carry a value in the right currency, and be accompanied by add to cart and initiate checkout so the drop off point is visible. Server side events help where the booking system allows them, since browser only tracking loses a meaningful share of conversions. Verify it with test purchases before spending anything. Tracking you have not tested is tracking you do not have.
Then the objective
Meta gets extremely good at whatever you ask it for. Ask for clicks and it will find the people most likely to click and least likely to buy, because those genuinely are different people. A traffic campaign is not a broken sales campaign, it is a working campaign pointed at the wrong target.
Switching to a sales objective before the tracking is in place gives the algorithm a target it cannot see, which is why this is second and not first.
Then campaign structure
Local businesses rarely sell one thing, and bundled into a single campaign the cheap high volume product absorbs the budget while the expensive one never gets enough data to prove itself. Separating products costs some efficiency in the short term, because each campaign has to learn independently, and buys the ability to see which product actually pays.
You cannot split infinitely. Three or four product campaigns is the practical ceiling for a local advertiser, because beyond that none of them get enough weekly conversions to leave the learning phase.
Then creative volume, continuously
Two ads is not a test. Creative is the main lever left once targeting is largely automated, which means the number of genuinely different concepts you put through the account drives the result. Different concepts, not different crops of the same photo. An offer against no offer. A parent as the subject against the product as the subject. Video against a static image with a review on it.
What matters is the discipline after the test. Kill the losers quickly, relaunch the winners into fresh campaigns, and keep a record of which concept won and why, so the next round starts from what you already know.
Expect it to look worse before it looks better
Cost per click rises as soon as the account stops chasing cheap clicks. That is the intended outcome, not a regression. On this account the first three campaigns cost £28.82 per booking before the number came down to £5.13.
What people ask us
about accounts like this.
Should a local business use a sales objective or a leads objective?
If the customer can complete a booking or a purchase online, use sales and optimise for the purchase event. Use leads only when the sale genuinely cannot be completed on the website, for example a high value service that requires a consultation first. Choosing leads for something bookable online adds a manual follow up step and usually costs more per customer.
How long before a rebuilt Meta Ads account can be judged?
Long enough to accumulate a meaningful number of tracked purchases, which on a small local budget is months rather than weeks. On the account above, the first three campaigns ran from November to January before the numbers turned. A fortnight of data on a modest daily budget is noise, and judging too early is the commonest reason these rebuilds fail.
Do small daily budgets make Meta Ads pointless for local businesses?
No, but they change what is possible. Small budgets rule out running many campaigns at once and rule out spending your way through the learning phase quickly. They reward accurate tracking, a small number of well separated product campaigns, and patience. A tightly defined catchment area is an advantage here, since very little budget is wasted on people who could never visit.
Is a cheap cost per click a good sign?
Usually the opposite. Very low cost per click on a local account normally means the campaign is finding people who enjoy clicking rather than people who intend to buy. Cost per booking is the metric worth watching, and it often moves in the opposite direction to cost per click.
This account is not named here at the client's discretion. Every figure on this page is taken directly from Meta Ads Manager, and we are happy to walk through the live account, campaign by campaign, on a strategy call.
Let's build your playbook.
Running ads for a local business and not sure what they return? We audit the account, tell you what we would fix and in what order, and manage it month to month with no lock-in.