Campaigns per the media plan
Meta and Google campaigns launched to the media plan with weekly targets from the Profit Map.
I launch Meta and Google campaigns from the Profit Map: a 90-day P&L forecast, an allowable CAC/CPQL — the target cost per client and per qualified lead — and a media plan with weekly targets, a "red line" set before launch. Then clean tracking: CRM attribution, CAPI, and offline conversions, so ads learn from your sales, not clicks.
Before launch we lock in the numbers from the Profit Map: a 90-day P&L forecast, an allowable CAC/CPQL, and a Meta + Google media plan with weekly targets. Campaigns are built to these numbers, not "we'll see as we go".
I build the structure (campaigns → ad sets → ads) around the action that carries value in the P&L: a lead, a qualified lead, or a sale. Each goal gets its own optimization logic: for leads the algorithm looks for people likely to submit a form; for sales — people likely to buy.
The website form sends each lead through a Cloudflare Worker into the CRM together with its source — gclid, fbclid, and utm tags. For every lead you can see which campaign brought it and what happened next.
Data is hashed (SHA-256) and sent back to Meta CAPI and Google offline conversions. "Qualified" and "Sale" statuses from the CRM feed into the algorithms — ads learn from sales, not clicks.
I guide the campaigns through ad review — no blocks or rejections. In the first hours I watch that the budget spends evenly and events fire correctly; after that I monitor 35 metrics daily.
Meta and Google algorithms optimize for whatever you feed them. Feed them clicks — you get clicks. Feed them sales — you get clients.
For example: two campaigns deliver leads at the same cost, but qualified leads and sales come from only one. Without CRM attribution both look "working" — and half the budget is wasted.
That's why there is a "red line" from the Profit Map before launch — the allowable CAC/CPQL — and after launch the "Qualified" and "Sale" statuses feed back into the algorithms. Decisions are made by margin, not clicks.
Meta and Google campaigns launched to the media plan with weekly targets from the Profit Map.
Every lead lands in the CRM with its source (gclid, fbclid, utm) — you see which campaign brought it.
Events are sent server-side with SHA-256 hashing to Meta CAPI and Google — conversions aren't lost.
"Qualified" and "Sale" statuses feed back into the algorithms — the system looks for people who buy, not people who click.
A report every Monday in money language: CPQL, CAC, and margin for each campaign — in plain numbers, not buried "somewhere in the ad account".
A few days + learning. Technical setup and launch usually take a few business days.
For example: Meta's review usually takes up to 24 hours, sometimes 48–72 hours for new accounts or sensitive niches. The first meaningful conclusions come after 7–14 days, not in the first week.
After the start comes the learning phase: to reach stable performance, an ad set needs around 50 conversions in 7 days. Results jump around during this phase — that's normal, not a malfunction.
The Chatman project (recruiting chat managers in Kyiv): the ads produced a steady flow of leads, but without attribution there was no way to see which combinations carried a person through to an interview and which just chased cheap clicks.
Leads began flowing into the CRM with their source, and candidate statuses fed back into the algorithms via CAPI — so the ads learned to look for people who reach an interview, not just leads. Out of 660 leads the funnel narrowed to 80 candidates in training and 47 who stayed on; the best lead came in at $5.53, and an interview at about $54.
A strategy session: your funnel, numbers, and growth points
Request a strategy sessionThe pixel doesn't catch every conversion — CAPI recovers the rest from the server. For example: on iPhone the browser pixel loses some events to ad blockers and privacy settings, while the server still records them. Together they give Meta a fuller picture: the algorithm finds buyers more accurately, and you see real numbers instead of undercounted ones.
We could launch fast, but without tracking you won't know what's working. For example: the ads run, leads seem to come in, but it's unclear which ad drove a sale and which just drained budget. A few days spent on the pixel, events, and analytics pay for themselves: every budget that follows is spent deliberately, not into a void.
First leads usually come within the first days after launch; a stable cost per lead settles in 2–4 weeks, and meaningful scaling comes around month 2–3. At first the cost per lead jumps — that's the learning phase, a necessary stage, not a malfunction. For example: the algorithm tests audiences, placements, and timing to find your buyers, and until it collects around 50 conversions in 7 days the cost fluctuates; after that it settles. Knowing these timelines, you won't judge on 2–3 days or reset the algorithm's learning with premature edits — so you don't burn budget out of nerves.