Growth Command · Mr. Patio Cover · prepared by MoreJobCalls.com

$4.74M contracted.
Here is which channel actually paid for it.

Window Jan 1 – Aug 19, 2026 Meta with us all year Google + SEO to us May 27, 2026 Gross margin 38% assumed Meta live-checked Aug 19, 2026
Meta return on ad spend (Jan–Aug)
16.2×
$148,685 spent → $2,407,376 contracted
Gross profit per $1 of CAC
6.15:1
Healthy is 3–5:1. Above 5 means underspending.
Net gross profit after all Meta spend
$766,118
179 jobs · $831 CAC · $14,078 avg ticket

Channel board

Revenue is contracted value, attributed by GoHighLevel — not by the sheet's hand-typed channel column.

Meta (Jan–Aug)

Ours all year · 3,895 leads
$2,407,376
Scale it
Spend
$148,685
Cost per lead
$34
Booked
872
Jobs sold
179
Cost per job
$831
GP:CAC
6.15:1
August is running hot. Aug 1–19: $17,637 spent, $49.54 CPL — the year's worst, against a $27.38 floor in February. See "Meta today" below for what changed.

Google PPC

Ours since May 27 · 189 leads since
$168
cost per lead, down from $325
Working, not yet paying
Spend since takeover
$31,735
Cost per lead
$168 ↓48%
Leads per day
2.2 ↑38%
Spend per day
$373 ↓27%
Revenue since takeover
$123,987
GP:CAC since takeover
1.48:1
Most of these leads are phone calls. They tap and dial — no form, no utm_content. Across the year GoHighLevel captured 300 of Google's 419 conversions, so revenue here is a floor. Full-year it is 0.58:1 — the January spend under the previous vendor is still dragging it under.

SEO / GEO / LLMO

Ours since May 27 · $0 media cost
$326,908 contracted
27 jobs, on zero media spend
Inflecting
Jan–Jun monthly average
24 leads
July
52 ×2.2
Leads YTD
226
Booked → closed
24.1%
Average order value
$12,573
Media cost
$0
It closes better than any paid channel you run — 24.1% of booked SEO appointments become jobs, against Meta's 20.5% and Google's 19.3%. July ran 52 leads and August is on the same pace.

Acquisition funnel by channel

Spend → cost per lead → leads → appointments booked → cost per booked appointment → lead-to-book rate. Every figure on this page now closes on Aug 19, 2026.
ChannelAd spendLeadsCost per lead AppointmentsCost per booked apptLead → book
Two lead counts, on purpose. Platform is what Meta and Google report — every form fill and every tap-to-call, duplicates and junk included. CRM is what actually landed in GoHighLevel as a person. Cost per lead is priced on the platform number because that is what the ad account is buying. Lead-to-book is calculated on the CRM number because booking only happens in the CRM. Meta's capture is 89% (3,895 of 4,366). Google's is 72% (300 of 419) — the missing 119 are tap-to-call ads that dial straight from the search result and never create a record.
Google costs 7.5× more per lead and 5.6× more per appointment than Meta. $253.94 vs $34.06 per lead, $958.56 vs $169.73 per booked appointment. Meta has produced 876 of the 987 paid appointments this year on 58% of the paid budget. Google's redeeming number is what happens after the booking — it closes better than Meta once someone is on the calendar — but on the cost of getting them there it is not close.

Paid cost per lead, month by month

Meta priced on Meta-reported leads, Google on Google-reported conversions. August is Aug 1 – 19.
MonthMeta spendMeta CPLMeta leads Google spendGoogle CPLGoogle leads
Meta's cost per lead is climbing and August is the worst month of the year. $27.38 in February, $34.56 in June, $38.70 in July, $49.54 so far in August — a 45% rise off the February floor. Spend is holding at roughly $20K a month, so the volume is coming down with it: 749 leads in March against 307 in the first 19 days of August. The account was restructured the first week of August into a single creative-testing campaign, which is the most likely cause and the thing to watch through month end. Google moved the other way — $755.81 per lead in January under the previous vendor, $195.44 in August.

Meta — where the account stands today

Pulled live from Ads Manager Aug 19, 2026.
The account was restructured the first week of August. The individually-named ads this report's Jan–Jul ranking table further down is built on — PC | 1001-1a, LP_OG-Offer_R2-VID_C001-PT_01, and the rest — have been consolidated into ad sets inside one campaign, SPG | TOF | Phase 2 - Creative Testing. Only 4 of its 87 ad sets are live today. That ranking table is a historical record, not a live guide — none of those line items exist as separate spend today, so it's not something to scale or kill off of anymore.

Current pace · trailing 30 days

Jul 21 – Aug 19, 2026 · single active campaign
$26,924
spent — the heaviest 30 days of the year, at the year's worst cost per lead
Leads
548
Cost per lead
$49.13 vs $34.06 YTD avg
Active ad sets
4 of 87
Active ad setStatusLeads (30d)CPLSpend (30d)Daily budget
MPC | PC | 1002-1a_6 - Copy 2Active80$55.66$4,453.14$300
MPC | PC | 1002-1a_6 - Copy 3Active61$55.81$3,404.23$360
MPC | PC | 1002-1a_6 - CopyActive42$46.54$1,954.59$145
MPC | SURE-03 | STA - CopyActive32$50.66$1,620.97$75
These 4 live ad sets total $11,433 of the $26,924 last-30-day figure — the rest went to ad sets that were turned off during the restructure. Every one of the four is running between $46 and $56 a lead against a $34 year-to-date average, and none is old enough yet to have job or revenue data. That is the single number to watch over the next fortnight.

The takeover

Lead counts are Google's own conversions on both sides, so the comparison is apples to apples. Deals cohorted by lead date, not close date — no credit for the old vendor's pipeline, no blame for yours not having closed yet.
Google PPC · before · Jan 1 – May 26
Spend$74,671 Conversions230 Cost per lead$325 Leads / day1.6 Spend / day$511 Attributed jobs1
→
CPL cut 48%
38% more leads
on 27% less/day
Google PPC · after · May 27 – Aug 19
Spend$31,735 Conversions189 Cost per lead$168 Leads / day2.2 Spend / day$373 Attributed jobs17
SEO / GEO / LLMO · baseline · Jan – Jun
Monthly leads18 · 29 · 29 · 22 · 25 · 18 Six-month average24 / mo Media cost$0
→
×2.2 in July
held through August
SEO / GEO / LLMO · Jul – Aug
July leads52 Aug 1–19 leads33 Jobs YTD · revenue27 · $326,908

Contracted revenue by month

Hover any bar. August is Aug 1–19 only. Amber month marks the takeover.
Meta Google PPC SEO / organic Direct, referral & unattributed

Conversion rates by channel

Deduped to unique people — 5,136 humans created year to date, not opportunity records.
ChannelLeadsBookedLead → bookJobs Book → closeLead → jobRevenueAOV
Read the two columns differently. Book → close is comparable across every channel — the booking is the shared entry point, so those numbers are real. Lead → book is only trustworthy for Meta. Meta leads all enter the CRM as raw form fills, junk included, so its 22.4% is a true rate. Google, SEO and direct leads largely only create a record once they book — the ones that never booked were never written down. That is why they read 36–80% and Meta reads 22%. Those are not comparable and the gap is a measurement artifact, not performance.

Meta ads — Jan 1 – Aug 19 ranking

Ranked on gross profit per dollar of ad cost. CPL is a decoy — the cheapest lead on this table is not the ad that made the most money. Ads carrying the same name across multiple ad sets are combined.
AdSpendCPLJobsRevenueCost / jobGP:CACCall
The cheapest lead is not the best ad. PC | 1001-1a_2 buys leads at $23 — the cheapest on the board — and returns 2.7:1. LP_OG-Offer_R2-VID_C001-PT_01 pays $38 a lead and returns 10.5:1. That is the whole argument for judging creative on sold jobs rather than on cost per lead. The three ads marked "too new" launched in the August restructure and have not had time to produce a close yet — do not read their zeros as failure.

125 of the 179 Meta jobs carry an ad name. The other 54 closed without one recorded, so every revenue figure in this table is a floor.

Sales reps

Avg ticket compared on Meta leads only, so nobody is rewarded for lead quality they didn't earn.
Hayden stopped closing on June 1. He wrote $1,066,125 — 28.5% of the year's revenue — then went to zero. That, not marketing, is what the June–July revenue dip was. Leads and appointments held flat through it. Eric stopped the same week. Between them that is 34% of the year's written revenue that walked out over one weekend, and Eddie and John have rebuilt roughly half of it in two months.
RepJan–Aug trendAppts runJobs soldClose rate RevenueAOVMedianMeta-only AOVGP writtenShare
Closers are the one gap left. GoHighLevel has a Sales Person field — it is filled in on a fraction of contacts. assignedUserId on appointments is the calendar owner (1,033 Seth Engle / 79 Eric Engle / 533 nobody), not who ran the call. And the Weekly Numbers ledger stamps a rep only on jobs that sold — and leaves it blank on 83 of them. So you can see who writes bigger tickets; you cannot see who converts better. Fill in Sales Person at appointment time — the field already exists, and the setter board below proves the join works the moment it's populated.

Appointment setters

From contact.appointment_set_by — 1,637 appointments with a setter stamped on them.
SetterAppts setShare of allSoldClose rate RevenueAOVRevenue per appt set
The team is tighter than it looks — one person is not. Six of the seven setters land between 16.7% and 20.4%, which is close enough that the differences are mostly noise at these volumes. Arlene is the exception: 82 appointments, 5 sold, 6.1%. Every other setter is at least 2.7× that. Where the real spread shows up is revenue per appointment set — Laura and Noah return $3,150 and $3,020, against Denise's $2,101 on 342 appointments. They are booking the same volume of people into bigger jobs. Bring Denise's revenue per appointment to Noah's and that is roughly $314,000 of contracted revenue a year, with no extra ad spend and no extra appointments.
Strategic brief · 6M constraint diagnostic

The diagnosis

Ran all six. Five are fine.

Model is fine — $13,690 average ticket on a product people finance. Market is fine — Southern California, and you're at 5,136 leads without touching the ceiling. Manpower got hit when Hayden and Eric both walked on June 1, but the bench rebuilt in 60 days and Eddie and John have already replaced about half of what left. Manager has real gaps — nobody dispositions appointments, so show rate does not exist as a number, and the close ledger is missing a rep on 83 jobs and a channel on 86. Fix it, but it is not what's costing you the most today.

The constraint is Money. Specifically: capital allocation.

Why that's the one

A dollar into Meta returns $6.15 of gross profit. Healthy is 3:1. You are at 6.15:1. That is not a trophy — that is a channel screaming that it is starved. When the ratio is that far above the line, the market is telling you it will absorb more money than you are giving it.

Meanwhile $31,735 has gone into Google since May 27. We cut CPL from $325 to $168 while pulling more leads per day on 27% less daily spend. That part is working — since the takeover Google has written 17 jobs and $123,987, which is 1.48:1. Across the full year, including the January spend under the previous vendor, it is 0.58:1 and losing money. Even the good half is under 3:1, and most of the spend still sits in a campaign we inherited and did not build.

That doesn't change the call. Google is better than it looks on paper and still not the place to put the next dollar. Meta is.

Meta July spend$21,671
Raise 50% → new monthly$32,507
Added spend per month$10,836
÷ proven CAC of $831+13.0 jobs / mo
× $14,078 average Meta ticket+$183,014 / mo
Added gross profit per month+$58,709

You get that by moving money you are already spending. No new offer. No new ad. No new rep. Ride the ratio down to 3:1 and stop. That is where the money stops being free.

The moves

  1. Raise Meta budget toward the winners. Nothing else.

    LP_OG-Offer_R2-VID_C001-PT_01 at 10.5:1, …PT_01 | OT1 at 5.8:1, LP_OG-Offer_R3-VID | DT1 at 5.1:1. Those three carry $888,830 of the year's Meta revenue between them on $46,369 of spend. PC | 1001-1a is the volume workhorse — 35 jobs and $432,146 — but at 4.2:1 it earns its budget rather than deserving more of it.

    The three ads launched in the August restructure have no closes yet. Give them another two weeks before judging them, then cut on cost per job, not cost per lead.

    The 4 live ad sets are all running $46–$56 a lead against a $34 year-to-date average — re-read cost per job once they clear learning.

  2. Plug the two holes you're flying blind through.

    Calls. Most Google leads tap-to-dial. No form, no utm_content, so GoHighLevel captured 300 of Google's 419 conversions this year. That is why 687 leads sit in "direct / no marker" and why 142 closed jobs worth $1.77M — 37% of the year's revenue — carry no usable source at all. Put dynamic number insertion on the landing pages so a call creates an attributed contact. That is on us, and it is in motion. Until it is live, every Google and SEO number on this page is a floor.

    Appointments. 1,787 this year: 93% "confirmed," 7% "cancelled," zero showed or no-showed. Your 22.6% appointment-to-sale is show rate and close rate fused into one useless number. If they show at 60%, reps close at 38%. At 90%, reps close at 25%. Opposite problems, opposite fixes — you're guessing which business you own.

    Call tracking live this week · appointments dispositioned within 24h of the slot · re-diagnose in 3 weeks

  3. Put Sam's pitch in the other reps' mouths.

    Same channel, same offer, same city: Sam writes $16,116 per Meta job. Seth writes $14,771. Eddie writes $11,114. John writes $10,631. That is a $1,300–$5,500 gap per job on identical leads, and it is widest against the two newest reps.

    He isn't winning on product mix — he's winning on how he sells. Record him. Three ride-alongs. Steal the language, and point it at Eddie and John first.

    Closing half that gap across the other reps' Meta jobs is roughly $120,000 a year with zero added ad spend.

    This week · record 3 of Sam's appointments · build the objection library from the tape

Straight talk

Since May 27 we took the Google account from $325 a lead to $168 and pulled more leads per day while spending 27% less per day doing it. Organic doubled off its six-month baseline on zero media spend, and SEO now closes at 24.1% once booked, the best of any channel you run. That progress is real. It is also young — 27 jobs against Meta's 179.

You have three channels running and only one of them is making money today. Google is break-even and young. SEO is free and young. Meta is proven, mature, and hungry, and it is the only one we can move this month. Feed the winner. Let the other two mature on their own clock.

The reason this is hard is that scaling the thing already working feels less impressive than fixing the thing that's broken. Do it anyway. $58,709 a month is sitting in a budget line, not in a new idea.