The results
- 10,793Website leads from April to August 2026, on $90,000 of ad spend. A blended cost per lead of $8.35.
- $7.21Cost per lead in the launch month, April, on $16,600. August closed at $7.72 on $18,900, with the most leads of any month.
- 7,973Zip codes, every franchise territory, loaded into a single ad set. Meta's limit was assumed to be 2,500. It is not.
The context
Franchise lead generation has one hard problem: every location wants leads from its own territory and nowhere else. Territories are lists of zip codes, thousands of them, with overlaps and gaps, and Meta's interface was not built to hold them. The other problem is scale. A national campaign spends in a month what a small agency's whole portfolio spends, so a structural mistake costs real money fast.
Before March 2026 the brand's Meta presence was boosted posts from the organic calendar, about a thousand dollars a month, and no lead campaign at all.
What I did
Stage 1: three campaigns, one job each
March 31 to April 2026
- A prospecting campaign for the core service, CBO, with one ad set per monthly creative batch. A retargeting campaign, ABO, for site visitors and social engagers. A small profile-visits campaign running UGC that feeds the retargeting pool.
- Every ad set optimizes on the pixel's lead event with lowest-cost bidding. The form and the landing page are the franchisor's, one standard for every location, so a lead means the same thing in every territory.
- Launch month: 2,306 leads at $7.21.
Stage 2: a creative batch a month, retargeting funded first
May to August 2026
- Monthly creative batches from the brand's organic calendar, rewritten as ads with a booking call to action. Each batch gets its own ad set so it is judged against the previous month's on cost per lead.
- Retargeting became the cheapest source in the account, $7.63 a lead against $11.50 for prospecting in September, so its budget goes up first whenever there is room.
- Volume held between 1,700 and 2,450 leads a month with the budget flat at $17,000 to $19,000.
Stage 3: the territory list, loaded once and verified
September 2026
- Rebuilt the geography from the franchisor's own territory list: 8,524 rows, 7,994 unique zip codes, 7,973 that Meta accepts as targetable. Loaded into the live ad sets in one pass through the API.
- Verified the count with the API's targeting readout rather than the interface, which shows the cluster and not what is inside it.
What did not work
- May. Cost per lead rose from $7.21 to $10.60 as the launch creative aged and the second batch arrived late. A month of learning lost to a content calendar.
- A second prospecting campaign for the brand's other service never matched the core campaign's cost per lead and was paused after $10,000. Same audience, weaker offer.
- 21 of the franchisor's zip codes do not exist as targetable areas in Meta. They came back as errors twenty at a time and had to be removed round by round before the list would validate.
What this looks like for an agency partner
This account gets a monthly build from the brand's content calendar published within a day of delivery, territory targeting maintained from the franchisor's own list, and a weekly note on cost per lead by campaign. The agency's account manager runs the client meeting with numbers that are already in the report.
$350 per account, per month, fixed. No minimums.