The campaign is steady and profitable at the top of the funnel. Two months in a row at roughly 50 leads for roughly $1,750, with cost per lead holding right around $34.
Nothing is broken. Nothing is growing much either. The opportunity right now is not fixing a problem, it is opening up the two videos that have not had a fair shot at the budget.
Every time someone on Long Island could see one of your ads, Meta runs a split second auction between your three videos and decides which one to show. The $1K Off Roof video kept winning that auction. Strong watch time, strong click rate, strong form completions. So the system kept shifting money toward it, and over 30 days it absorbed 88 cents of every dollar.
That is the platform doing exactly what it is built to do. It found the ad getting the best response and put your money behind it.
The Exterior Transformation video is the clearest example. On the small slice of budget it did get, it produced leads at $29.55 versus $35.09 for the winner, and it turned a higher share of its clicks into actual form submissions. It costs Meta a little more to put in front of people, so it loses the internal auction, even though the leads it does bring in are cheaper.
This is the healthiest signal in the account. We put 15% more money behind it and the cost per lead went down, not up. That means it is not tired out yet. The average person on Long Island has seen it about twice in 30 days, which is well inside the comfortable range.
At a glance this looks like a drop. It is not. Its budget was cut by roughly the same percentage its leads fell, so it stayed just as efficient on a smaller pot. It still produced the cheapest leads in the campaign. It simply was not given room to run.
This one has been seen 137 times and cost you $14. That is not a real test, it is a rounding error. Because it launched into the same pool as an already proven winner, it never got the chance to gather enough data to be judged either way.
We move it into a separate ad set with a protected daily budget so it is no longer competing head to head with the roof video for the same dollars. Roughly $25 to $35 a day for three weeks.
It is already producing your cheapest leads on scraps. This tells us whether that holds up at real volume. If it does, your blended cost per lead comes down across the whole campaign.
We move it into that same protected budget alongside the Exterior video, so for the first time it gets seen by enough people to tell us something. If it still does not convert after a fair run, we retire it and put that money back into what works.
Leaving it where it is now is the worst of both worlds. It quietly sits there producing no leads and no useful information.
We increase spend on it by about 20%. Last month it absorbed a 15% increase and got cheaper per lead, which is the clearest sign there is that an ad still has room to grow.
We watch how often the same people are seeing it. As long as that number stays under about 2.8 times a month, we keep pushing. When it climbs past that, we know it is time for fresh creative and we plan the next shoot.
Cost per lead is the number Meta hands us. Cost per signed job is the number that actually runs your business, and we cannot see it from this side. Your forms are already set to the higher intent setting, which filters out most accidental submissions, so these should be real people. We need to know how they are behaving once they hit your phone.
For the 52 leads from the last 30 days:
Give us those four numbers and we can tell you what it costs you to sell a roof through Facebook, and exactly how far we can push spend before it stops making sense. That is the point where we stop guessing and start scaling on math.