Prepared for
Right now you're buying leads. You should be buying jobs.
Meta Ads Manager · Jul 13 – Aug 11, 2026
Over the last 30 days the account produced 73 form leads on roughly $2,388 in spend — a blended cost per lead of about $33. July came in at 99 leads.
Lead volume isn't the problem. Lead quality, and knowing which leads turn into money, is.
Using your team's own July numbers:
That works out to somewhere around 4 to 7 jobs a month out of 99 leads — and nobody can point to which ads produced them. Not the campaign, not the audience, not the creative.
Meta is optimizing for form fills. It has no idea which of those form fills turned into money — so it keeps buying more of what looks cheap instead of more of what actually pays.
Half the leads never turned into a conversation. This is a known weakness of Meta's native lead forms — they're pre-filled, they take two taps to submit, and that low friction generates a steady stream of spam, misclicks, and people who were never really in the market. You're paying full price for all of them.
23 of 99 leads couldn't be served. Your geo targeting is already built correctly — specific inclusions with exclusions layered on top — and this still happens. It's a well-documented behavior of Meta's delivery system, which treats location as a soft signal rather than a hard rule. Settings alone won't solve it. What moves the needle is teaching the algorithm, through conversion data, that out-of-area leads are worthless to you.
Your CRM knows which leads became jobs. Meta doesn't. Until those two systems talk to each other, the algorithm is flying blind and you're guessing about what's working. This is the one underneath the other two.
We build the Zapier-to-Meta connection that closes the loop — server-side conversion events fired from your existing CRM data, properly deduplicated against the pixel. Your CRM and Zapier are already in place, so this is the missing link rather than a ground-up build.
The piece that changes everything. Instead of optimizing toward whoever fills out a form, Meta starts learning what a real customer looks like — reachable, in your service area, ready to buy — and goes hunting for more of them. It's the direct fix for both the lead quality problem and the out-of-area problem, because both come down to the algorithm not knowing what a good lead looks like for your business.
Qualifying questions, manual field entry in place of pre-fill, and higher-intent settings. Deliberate friction that filters out the tire-kickers before they reach your team's call list.
Your setup is already sound, so this is about making sure every available lever is pulled — radius versus region logic, exclusion hygiene, placement-level controls, and ongoing monitoring of where delivery is actually landing versus where it's supposed to.
A single view showing cost per qualified lead and cost per closed job — by campaign, by audience, by creative.
Lead statuses and dispositions get used consistently, because the feedback loop is only as good as the data your team puts into it.
We are not flipping a switch and hoping.
Your current campaigns keep running exactly as they are. Alongside them, once the conversion feedback loop is live and accumulating data, we introduce campaigns optimized toward qualified leads rather than raw form fills — and we run the two side by side.
That parallel period is deliberate. Qualified-lead optimization needs volume before it becomes reliable, and we're not going to starve your pipeline while it learns. As the qualified campaigns prove they can produce reachable, in-area, closeable leads at a sustainable cost, we shift budget toward them progressively.
The endpoint is leaning fully into qualified-lead optimization — but only once the data supports it and the system is stable enough to scale. Momentum never stops in the meantime.
Right now, an ad looks successful if it produces a lot of leads. That's the only scoreboard available.
Once closed revenue flows back into Meta, that ranking can change completely — and it usually does. The ad generating the most form fills is frequently the one attracting the wrong crowd: broad appeal, low intent, cheap submissions, and a call list full of dead ends. It looks like the winner because volume is the only thing being measured.
Meanwhile there's almost always a quieter ad sitting on a thin slice of budget, producing a fraction of the leads, and quietly responsible for a disproportionate share of signed jobs. Today that ad is invisible. Worse, by the current scoreboard it looks like an underperformer — so it gets starved or shut off.
With closed-won data attached to every creative, we stop measuring leads per ad and start measuring revenue per ad. Then we find the money-makers, move budget into them, and build every new round of creative as iterations on what's already proven to close.
That's how scaling stops being a gamble. You're not just spending more on ads — you're spending more on the specific ads that already made you money.
We'll run it — and we should. One note on how it fits.
High-ticket specialty work doesn't carry a paid social account on its own. The volume isn't there, the buying cycle is long, and the audience is small enough that the algorithm can't find efficiency in it. What it does do well is establish that you're a serious operation with real range.
So the structure is: concrete polishing and coatings stay the engine driving consistent lead flow and momentum. Specialty services run alongside as brand-level reinforcement, so the market sees the full capability set — and when someone does need a sport court, you're the name they already know.
| Foundation build One-time |
Custom CAPI integration, conversion feedback loop, lead form rebuild, geo reinforcement, reporting build, CRM training | $1,500 |
| Monthly management | Flat — does not change with your media budget | $2,000/mo |
| Growth participation | Net new channel revenue above the established baseline only | 4% |
| Media budget | Paid directly to Meta, never through us | ~$2,500/mo |
Most agencies bill a percentage of your media budget. We don't, and we won't.
That model pays an agency more for spending more of your money, whether or not it works. It means every recommendation to increase budget arrives with a built-in conflict of interest, and you're left trying to figure out whether the advice is for your benefit or theirs. Business owners are right to be skeptical of it.
So the base management fee stays flat at $2,000 regardless of what you spend. Whether the budget is $2,500 a month or $10,000, our fee doesn't move. Instead, we participate in growth.
Once we've established a revenue baseline for the channel, we earn 4% of net new revenue above that baseline — and nothing on the baseline itself. Baseline is the average monthly closed revenue from Meta-sourced leads over the 12 months prior to our engagement, pulled from your CRM's existing lead source history. That's revenue the channel was already producing before we touched it. We don't get paid on it. Ever.
This is only possible because of the attribution work in Phase 1. Without closed revenue mapped back to specific ads, "net new channel revenue" would be a number nobody could verify. With it, we're both looking at the same report.
Some owners would rather have one predictable number every month and skip the revenue conversation entirely. That's a completely reasonable preference — so pick whichever of these you'll be happy looking at twelve months from now.
We share the risk and the upside. If the channel doesn't grow, we make our flat fee and nothing more.
$1,000 cheaper every month, starting today.
One predictable number. No baseline, no revenue reporting required on your end. Same build, same management, same creative volume, same reporting.
Certainty, at a premium.
For Option A to become the more expensive of the two, we'd have to be generating over $25,000 a month in net new revenue above where the channel sits right now. If we get there, the difference in fee is coming out of money that didn't exist until we made it — and you'd be looking at a very different business than the one we're starting with.
Whichever option you choose, we sit down at the twelve-month mark and look at the arrangement honestly.
The purpose is to confirm the structure still makes sense for both of us — that the fee is proportionate to the work and the results, that the reporting is telling you what you need to know, and that nothing has drifted out of alignment as the account has grown or changed shape.
If something isn't sensible anymore, we fix it. We'd rather have that conversation on a schedule, with a year of clean data in front of us, than have either side quietly stewing about it. Good partnerships survive because the awkward conversation happens early and on purpose.
Once the tracking work is in place, this stops being a matter of guesswork and becomes simple arithmetic.
At current performance the account is producing roughly 5 jobs a month. Here's what that's worth at different average project values, against the $4,500 total monthly investment:
| Average project value | Revenue at 5 jobs | Return | Revenue at 7 jobs | Return |
|---|---|---|---|---|
| $2,500 | $12,500 | 2.8× | $17,500 | 3.9× |
| $3,500 | $17,500 | 3.9× | $24,500 | 5.4× |
| $4,500 | $22,500 | 5.0× | $31,500 | 7.0× |
Find your average in the left column. The first return figure is roughly where you are today. The second is where the work above is aimed — same budget, better leads, fewer wasted conversations.
The goal of the first 90 days is to make your actual number visible, verified, and trending up. Once you can see it clearly, scaling spend stops being a leap of faith and becomes a straightforward business decision: you put another dollar in because you know what comes back out.