When I took over the Main Squeeze Meta Ads account, the cost per result was £243. The brand was a UK-based DTC compression sock company with a solid product and a real customer base. The ads weren't the problem — or so it appeared. The real problem was that nobody could tell what was actually working, because the data feeding the optimisation algorithm was fundamentally broken.

This is the full breakdown of what I found, what I changed, and what the numbers looked like after.

What the account looked like at the start

On the surface, the account structure wasn't disastrous. There were active campaigns, reasonable audience sizes, and a consistent creative rotation. But a few things stood out immediately:

The core problem: When cookie consent blocks your Pixel events, Meta's algorithm is optimising against an incomplete signal. It doesn't know who's actually converting — so it guesses. Expensively.

Step 1: Fix the data first

Before touching a single creative or audience, I needed to fix what the algorithm was learning from. I implemented a dual-trigger Pixel setup — client-side Pixel firing for users who consented, with server-side events as a backup for those who didn't. This meant Meta's algorithm was receiving a much more complete signal of who was actually purchasing.

I also activated Meta's Automatic Advanced Matching, which passes hashed customer data (email, phone) from the checkout flow back to Meta. This matched more conversions to ad exposures that the standard Pixel had missed.

Within two weeks of fixing tracking, the data picture changed materially. The algorithm now had something real to optimise toward.

Step 2: Rebuild the creative testing framework

The previous creative approach was impressionistic — ads were made, launched, and judged by whoever was looking at the dashboard that day. I replaced this with a structured AIDA-based framework:

Each test was isolated properly — one variable at a time, with enough budget to reach statistical significance before declaring a winner.

Step 3: Expand to TikTok Shop

While Meta was being stabilised, I identified TikTok Shop as an untapped channel for a product with strong visual demonstration potential. Compression socks — particularly for people with medical conditions — have a clear before/after story that performs well in short-form video. We built a TikTok Shop presence and ran a small test budget to gauge response. The cost per acquisition on TikTok Shop came in below Meta's optimised rate, validating the channel for further scaling.

The results

£243CPR at start
£62CPR after
74%↓Reduction
Attribution restored

What this means

The lesson from this account is one I've seen play out repeatedly: bad data defeats good creative every time. There is no amount of creative testing that compensates for an algorithm that doesn't know who's converting. The most important thing you can do before optimising anything else is verify your tracking.

The second lesson is about the testing framework. Random creative refreshes are not a testing strategy. When you test one variable at a time with proper budget allocation, you build a body of knowledge that compounds — each winning angle becomes the control for the next test, and the account gets smarter over time rather than just louder.

The order of operations: Fix tracking → stabilise the signal → build a creative framework → scale what's working. Doing these in the wrong order is how you waste budget on the wrong problems.

Does your account have the same problem?

The fastest way to find out is a proper audit. I'll go through your account and tell you exactly where the data gaps are.

See the audit service →