You don't pay until it's already working.
Your ads currently learn from people who filled out a form. FormLock feeds them who actually paid you instead — with one line of code, without touching anything that already works.
What closing the loop typically moves
Installed and running on
The platform matters less than the form. If the code can read your submission, it installs — and we check that before you pay anything. On something else? Send us the page.
The data leak
iOS updates. Ad blockers. Cookieless browsers. Your spend is bidding against an incomplete picture — and the half that survives only tells Meta someone filled a form, never whether they paid you. Your cost per acquisition climbs, and nothing on the dashboard tells you why.
Your data is used to deliver personalized ads to you.
Ask App Not to Track AllowIllustrative — not customer data.
Meta and Google only ever see the form submission. They never learn which of those people wrote you a cheque — so they keep buying you more of the cheapest ones.
The mechanism
Your ads learn from paid customers, not form submissions.
Every lead scored as it lands, before you spend time on it.
The system sharpens on your closes, week over week.
Revenue traced back to the campaign that produced it.
Lower cost per acquisition — Google and Meta's own documented range for closed-loop conversion data. Not our number. Theirs.
Four things fire the second a deal closes — watch all of them.
No pixel, no browser — sent server-side the moment a lead becomes a paying customer.
The platforms now know this person was worth $4,200 — not "a form fill." That's the signal they've been missing.
The revenue event teaches the optimiser who's worth chasing — so it bids for buyers, not form-fills.
re-weighted on 47 closed-revenue events · trailing 30 days
Same budget. The algorithm now spends it finding people who look like the ones who actually paid you.
Each lead gets an intent score — and your measured close rates roll up into a live revenue model.
17.4 closes from 36 leads · modeled
measured over 60 days — not guessed.
spend is the only input you type.
Close rates and deal sizes are measured, not assumed — so the model tells you what another dollar of spend is actually worth.
Same ad spend — now aimed at profiles that look like your paying customers, each scored on arrival.
The loop is closed: revenue out, better leads back — from the budget you were already spending.
What you actually get
Not features. The things that are different about running your business a month after this is installed.
Right now your reporting tells you cost per lead. That number has never been the one that matters — two ads at the same cost per lead can be worth wildly different amounts depending on who they bring.
After this, every closed deal traces back to the ad and campaign that produced it. Not estimated. Matched to the click.
This is the part that happens without you doing anything. Once Meta and Google can see who actually paid, they stop optimizing toward people who fill in forms and start finding people who look like your buyers.
Same budget, same targeting, better-fit leads arriving — because the algorithm finally knows what a good one looks like.
This is the real reason to do it.
Every budget increase you've made so far has been a bet. You raise spend, wait, and hope the extra money lands somewhere useful — because you can't see which ads were producing customers at the old number, let alone the new one.
When you know your cost per actual customer, scaling stops being a gamble and becomes arithmetic. If a customer costs you $180 and they're worth $2,400, the decision to spend more isn't a decision. It's a calculation.
That's the difference between an ad budget you're nervous about and one you're comfortable growing.
Inside the dashboard
Mark a deal closed. That's the whole habit — one tap. The pattern sharpens from there.
Every close above fired to Meta and Google automatically. No manual uploads.
| Lead | Stage | Priority | Source | Outcome |
|---|---|---|---|---|
Marcus Bell Full roof replacement | Complete | High · 92 | Meta / paid | Closed $8,400 |
Dana Whitfield 12-mo membership | Complete | High · 90 | Meta / paid | Closed $2,160 |
Ruiz HVAC Service System install | Complete | Medium · 78 | Google / paid | Closed $6,900 |
Priya Raman Unlimited class pack | Complete | High · 91 | Meta / paid | Closed $1,740 |
Illustrative dashboard — sample data, not a customer account.
Same spend, different signal
Is this you?
A quote request isn't a customer. Your ads are buying you tire-kickers because that's all they can see. FormLock sends the signed jobs back instead — so the algorithm learns what a real estimate request looks like.
Before you go further
Trust is earned, not assumed — so here's the plain category, no hand-waving.
One line of code above your closing body tag. No plugin installs, no developer tickets, no integration project. Paste, save, you're live.
Keep your existing form, your CRM, your booking flow. FormLock observes from the side — never blocks your submission, never modifies your data flow.
Server-side closed-loop fires Purchase events to Meta and Google when leads close. Your ad platforms optimise toward real customers instead of form fills.
What people tell us before they start
Four things come up in nearly every conversation. Worth answering them here rather than on a call.
"I've already burned enough money on ads."
Then don't spend another dollar. This doesn't ask you to increase your budget — it changes what your existing budget is aimed at. Same spend, different signal going back to Meta and Google. If anything you'll spend less on the traffic that was never going to convert.
"My targeting is the problem."
Targeting is downstream of data. The platform decides who to show your ads to based on who it believes converts — and right now you're telling it a form-filler converts. Fix the definition of a conversion and the targeting corrects itself. You don't touch an audience setting.
"The leads I get are garbage."
They're exactly what you've been asking for. Optimize for form fills and you get people who fill forms — that's the algorithm doing its job on the wrong instruction. Send back the ones who actually paid and it starts hunting for people who look like them instead.
Fair. Most of them do — because a strategy is a set of plays, and plays get copied until everyone's running them at once. This isn't a strategy. There's no creative rewrite, no funnel rebuild, no audience overhaul, no ninety-day plan. We don't take over your ad account or touch your targeting. One line of code changes what data your ad account receives when someone pays you — that's the entire mechanism.
We'd rather tell you now than take $47 and have you find out in a month. If any of these is you, close the tab.
Still here? Then you're spending real money, closing offline, and closing enough of them. That's the whole list — everything else we handle.
Claim my founding rateThe guarantee
Billing starts on the later of two milestones — whichever takes longer. If neither happens, you never pay.
Full access, no card charged. The window holds even if events fire sooner.
Track must upload 15 conversion events before billing can begin.
Once billing starts, full refund if your numbers don't improve.
Your $47/mo founding rate is locked for life — it never rises, even after the first 100.
Questions we get
No. The code observes your form — it doesn't replace, restyle, or intercept it. Nothing about your current setup changes.
No. We install it with you on the setup call — a screen share, about fifteen minutes. You paste one line where we tell you, and we connect Meta and Google together.
You do. It's your customer data in your ad accounts. Export or delete it any time.
Then nothing improves — the loop needs your closes. It's one tap per deal, and the dashboard queues them for you.
Those are built for high-spend advertisers with multi-channel funnels and priced accordingly. FormLock does the one thing that matters for a single form and a sales process: close the loop between the lead and the sale.
Claim your founding rate
Enter your details, book your setup call, and we connect Meta and Google together — no credentials over email.
No card required · your founding rate is held for you
Setup call confirmed — check your email for the calendar invite. We'll connect your Meta & Google accounts with you on the call. Everything you need is below, and it's been emailed to you too.
Your 14-day free trial starts the moment your first lead is captured.
From the field
Copy angles, funnel structure, offer positioning, attribution — breakdowns of what's actually moving numbers right now.