The results
- 3.5xCost per lead went from $95 in October 2025 to $27 in August 2026. July closed at $23 and the best month, March, at $14.
- 3xMonthly leads went from 99 to 372 at the peak, with a budget that stayed between $8,000 and $9,500 most months.
- 2,200+Website leads in eleven months, on $76,000 of ad spend. A blended cost per lead of $34 across the whole period, including the expensive start.
The context
Home improvement in Texas is a crowded auction. Everyone targets homeowners in the same zip codes with the same before-and-after photos, and CPMs sit between $40 and $50 for most of the year. A lead is a quote request that a salesperson calls back, so the business cares about two things: how many, and how much each one costs.
When I joined the account it ran on a new pixel that had only been firing since August, with campaigns split by theme and a cost per lead near $100. The monthly budget was fixed. The only lever was efficiency.
What I did
Stage 1: audience-based structure on the new pixel
October 2025 to January 2026
- Reorganized the account so ad sets are audiences, not creative themes: a broad set, an interest set, and two retargeting sets (site visitors 90 days, social engagers 180 days). Every new creative goes into every set, so the auction decides where it works.
- Optimized everything on the pixel's lead event with lowest-cost bidding, no caps. The old pixel's ad sets were paused, not deleted.
- Launched the December and January test ad sets that would become the account's workhorses. Cost per lead went from $86 in December to $37 in January to $14 in March.
Stage 2: creative rotation with a kill rule
March to September 2026
- Ten new videos went live in June into all four active ad sets, forty ads, inside the existing budgets. No new money, just new creative.
- Every batch gets its own ad set with a budget, so it can be judged on its own cost per lead against the incumbents, not blended away.
- The August batch is the example I show agencies. It had the best click-through rate in the account, rising week over week, and the cheapest CPM. Its cost per lead went from $28 to $190 in three weeks. Cheap clicks without intent. It was paused on September 1 and its budget moved to the next batch.
Stage 3: catching a billing outage in three days
August 29 to September 1, 2026
The account stopped delivering on a Friday. Meta reported it as a permissions error. It was an unsettled balance on the payment method. Because I check account status before I check anything else, the client had the exact cause the same day and the account was back on Tuesday. Three days lost, not three weeks.
What did not work
- February. Spend dropped to under $2,000 for the month and the lead count with it. The account lost most of a month of learning and took March to recover.
- May and June. Cost per lead climbed back to $42 and $46 as the winning creatives aged past three months. The July batch brought it back to $23. Rotation has to start before the winner fatigues, not after.
- The account under-spends its approved budget by about 30%. There is room to scale, but only when a batch proves itself. Scaling on top of a fatigued creative would buy more of the same expensive leads.
What this looks like for an agency partner
This account gets a weekly look at cost per lead by ad set, one creative batch per month briefed from what won last month, and a monthly report the account manager forwards as-is. The client never sees a creative pausing decision. They see the cost per lead going down.
$350 per account, per month, fixed. No minimums.