How a B2B Agency Cut Meta Ads CPA from $215 to $30 in 14 Days
A walk-through of the 4 moves that dropped a B2B agency's Meta Ads CPA from $215 to $30 in 14 days - Buyer Intent Ad creative refresh, 3x3 audience layer, bid logic respecting funnel stage, and the Post-Booking Drip - without changing the offer.

- 4 moves cut Brandon’s CPA from $215 to $30 in 14 days. Buyer Intent Ad creative refresh on a weekly cadence, a 3x3 audience layer underneath the ads, bid logic that pays up for booked calls but not raw leads, and a Post-Booking Drip that lifts show-up.
- The biggest single unlock was creative. 2 of 9 angles produced 71% of conversions at a $22 CPA. The other 7 got killed by day 7 and the budget rolled into the winners.
- Show-up rate moved from 49% to 78% in the same window. SMS, email, and a manual reminder touch combined to recover held-call economics on ad spend already paid for.
Brandon’s agency had been running their own Meta ads for 3 years. Best month they ever had was 4 booked calls at a $215 CPA. The pipeline was real but the math was upside down. At that CPA every closed deal was already underwater after fulfillment costs. He was paying to grow backwards basically hahaha.
Two weeks after we took over the account his rolling 3-day CPA was sitting at $30. Same lead magnet, same audience targeting, same $8.4K/month budget. By day 30 the agency had generated $50K in closed-won pipelinefrom calls booked through the new funnel. And Brandon hadn’t touched Ads Manager once.
Below is what actually changed. Not the surface tweaks like lookalike % or bid caps bc those don’t move the needle past 10%. The structural changes that took us from $215 to $30.
The starting state - what was actually broken
When we got into the account Brandon was running 4 ad sets w/ 2 creatives each. All targeting the same 1% lookalike. The campaign had been live for 11 months straight. Meta’s algorithm had over-optimized into a tiny audience pocket - the cheapest 12% of the lookalike that converts at the lowest intent. Cheap clicks all day. Zero closes.
Three problems were stacked on top of each other.
- CREATIVE FATIGUE AT SCALE. 8 creatives running for 11 months means every audience pocket has seen them 12 to 30 times. CTR was crashing, frequency was 4.7+, and CPM had crept up 38% from launch. The audience was numb to the ads.
- AUDIENCE OVER-NARROWED. One single 1% lookalike, no exclusions, no testing matrix. The algorithm had nowhere to go to find new buyers. It was just digging deeper into a pool that was already exhausted.
- NO SHOW-UP LOOP. Calls were getting booked but only 38% showed up. So the real CPA was $215 / 0.38 = $566 per actual conversation. The booking-to-show gap was the real leak the whole time.
Move 1: Buyer Intent Ad creative refresh
Brandon’s old account ran the same 3 creatives for 6 weeks. The algorithm had nothing to pick from, the audience was tired, and the CPA reflected it. The fix was a weekly creative refresh on the Buyer Intent Ad layer: 9 fresh angles every week across 3 message themes and 4 formats. Inside 14 days the data was clear. 2 of the 9 angles produced 71% of conversions at a $22 CPA. The other 7 got killed by day 7 and the budget rolled into the winners. The creative supply was bigger and ran on a weekly clock that matched how fast Meta’s algorithm consumes variance.
Move 2: 3x3 audience layer under the Buyer Intent Ad
Underneath the creative refresh sat a 3x3 audience matrix. 3 interest stacks (agency owners, ecom founders, SaaS marketers) crossed with 3 intent levels (broad cold, engaged, lookalike of past bookers). 9 audience cells total, each running its own version of the Buyer Intent Ad. The point was not coverage. The point was identifying which cell plus creative combination produced qualified bookings, not just clicks. By day 10 only 4 of the 9 cells were still funded. The other 5 spent through their floor and got cut.
Move 3: Bid logic that respects the funnel stages
Default bid setups treat every event the same. Brandon’s account did not. Cold traffic optimizing toward the Dynamic Booking Page got a $4 cost cap, because a cheap pageview from the wrong agency owner is still cheap waste. Booked-call events deeper in the funnel got a manual bid up to $35, because that event is where the buying decision actually lives. The bid told Meta what we were willing to pay for, which is qualified prospects on the Priority Calendar and not clicks at the top.
Move 4: Post-Booking Drip in action
Even with the right prospect booked, show-up was the next leak. Brandon’s old show-up rate was 49%. The Post-Booking Drip turned 3 small mechanics into a 29-point lift.
An SMS reminder 24 hours before the call added 11 points on its own. Short message, prospect’s first name, the call time in their local zone, one tap to confirm. Open rate on SMS still sits above 90%, which is where the lift comes from.
The 1-hour email carried a short personal video from Offek and added 14 points. The video was not a hard sell. It set up what the prospect would walk out of the call with and asked them to come prepared. It read as a human, not a calendar bot.
A manual touch from the Offek side 15 minutes before the call closed the remaining gap. Most of the lift was already done by then. The touch was insurance on the highest-value cold leads.
Final show-up landed at 78%, up from 49%. Every point above 49 is held-call economics recovered on ad spend that had already been paid for.
What didn’t move the needle
For honesty’s sake here’s what we tried that didn’t matter.
- UGC CREATORS.We tested 4 paid UGC angles. They underperformed the in-house static variants by 22%. Brandon’s audience is B2B agency owners. They trust data, not testimonial-style UGC.
- ADVANTAGE+ SHOPPING.Meta pushes it hard rn. For a high-AOV B2B offer w/ a 30-90 day consideration window Advantage+ produced cheaper leads but they converted to calls at half the rate. Cheap leads that don’t convert is just expensive lol.
- RETARGETING BID INCREASES.We tried 2x bids on warm retargeting. CPA went up, conversion didn’t. Warm audiences don’t need more spend, they need more angles. Different problem, different fix.
The 14-day timeline
Days 1-3: Killed the old creative set. Built the first cohort of 9 Buyer Intent Ad angles across 3 themes and 4 formats. Set up the 3x3 audience layer underneath.
Days 4-7: First batch live across all 9 audience cells. Bid logic deployed at $4 cost cap on Dynamic Booking Page traffic and $35 manual bid on booked-call events. By day 7 the 2 winning angles were obvious and the other 7 got cut.
Days 8-10: Post-Booking Drip turned on. SMS 24 hours out, 1-hour video email, manual touch 15 minutes before. Show-up climbed past 60% inside the first cohort of held calls.
Days 11-14: Budget consolidated into the 2 winning angles plus 4 surviving audience cells. CPA settled at $30. Show-up hit 78%. The next 9-angle cohort shipped on day 14 as the first Monday refresh.
That’s the structural play that took Brandon from $215 to $30. Nothing changed about the offer or the budget or the ad account. The ARCHITECTURE changed. That’s what actually wins ads, not the surface tweaks people obsess over lol.
Frequently asked questions
How long until you saw the CPA drop?
First reading came in at day 6. By day 14 the rolling 3-day CPA was sitting at $30 and stayed there. The first 5-6 days are calibration time. You're still feeding the algorithm w/ the new creative rotation and it needs that runway to figure out which angle each audience pocket likes.
Did the offer change at all?
No. Same lead magnet, same booking flow, same audience targeting at the campaign level. The wins came from creative variance, the audience matrix structure, and the way bids were sequenced across the account. The offer was already fine. The architecture wasn't.
What was the budget during the drop?
$8.4K/month at the start. We didn't increase spend during the first 2 weeks bc the goal was to prove the new structure before scaling. Spend went up after day 21 once the CPA was stable. Always prove the structure first then add fuel.
Could this work for a smaller budget?
The same structural changes apply. The constraint at sub-$3K/month is creative volume. Meta needs roughly 9 fresh angles a week to learn fast and at low spend the optimization phase takes longer per asset. So the same play works but the timeline stretches out 2-3x.