Cheeky Denver — Monthly Performance Review (Enhanced)
May 2026 · 6-month trend window: 2025-12 to 2026-05
Generated 2026-06-01 · Day 17 of 90 (Phase 2) · Enhanced with skill-driven analysis
Executive Summary
Performance Diagnosis — May 2026
Expert-level diagnostic powered by the meta-ads-analyst and ghl-funnel-optimizer skills.
Anchored to Cheeky brand thesis (less-is-more, consultation-deliverable forward) and the primary KPI of wons (status=Won).
Meta Ads Health
68/100
Grade C · Conf MED
Funnel Health
59/100
Conf HIGH
Headline Leverage Point
Unlock $1.2K unspent floor + fix CS→Deposit anchor
Combined +6 wons/mo at current quality
What's working
Meta: Account is mechanically healthy at the platform layer — CPL improved 20% MoM ($38.65 → $31.08), CTR jumped 31% (2.04% → 2.68%), and frequency held under 3.5 despite spend concentration. Lead quality is materially better than April: May Day-1 close rate of 10.8% on 65 leads (7 wons) is ahead of April's Day-30 Meta Paid rate of 6.5%, suggesting either creative is selecting higher-intent traffic or GHL nurture handoff improved. CD_GIF_WhatsInside is doing 90% of the lift.
Funnel: The TOP of the funnel and the MIDDLE-CLINICAL step. New Lead → Engaged is at target (69.1% vs 70%), Meta Paid first-touch is converting 80% to Engaged, and provider turnaround on the intake review is overperforming the target by +20.8pp (95.8% Intake → Consult Sent). The clinical workflow Zach has built is the strongest part of the funnel — protect it.
What's failing
Meta: Spend discipline and creative concentration. We left $1,177 of the $5K floor unspent — that's roughly 38 leads and 4 wons of unrealized capacity at May's run-rate. Simultaneously the account is running 14 ad variants on $3.8K, meaning 10 ads got <$300 of trial — statistically meaningless trials that fragment Andromeda's retrieval ticket. CPM at $22.04 is at the watch/fail boundary (industry median $12-15) and frequency 3.32 is signalling early audience saturation. One ad (CD_VIDEO_BA-INTAKE_V2) burned $268 for one lead and another (CD_VIDEO_TRANSFORM_V1) is anti-brand at $43 CPL.
Funnel: The two MIDDLE-MARKETING transitions. Engaged → Intake at 51.1% (target 75%, gap -23.9pp) means roughly half of leads who reply never start the $25 intake. Consult Sent → Deposit at 36.2% (target 62.7%, gap -26.5pp) is the same structural leak we saw in April — unchanged after 30+ days, so it's not noise, it's a system problem. Headline cause: no upstream price anchor and thin post-plan personal follow-up. Secondary cause: intake friction. Both gaps are bigger than 20pp each — the funnel is bleeding in the middle.
Biggest leverage
Meta: Consolidate spend behind CD_GIF_WhatsInside while it's printing money (43% of spend → 54% of leads → 79% above-account CTR) and brief 2-3 net-new concepts in distinct visual/hook fingerprints — not minor variants of the GIF. Andromeda is concentrating delivery on the winner anyway; force-spreading $300 across 8 marginal statics is fighting the auction. Unlocking the unspent $1,200/month should be the operational priority for June since lead quality finally justifies scale.
Funnel: Stacking R1 (upstream price anchor) + R4 (24h/72h personal post-plan follow-up) attacks the headline Consult Sent → Deposit leak from two angles at once — expected combined impact +13 to +25pp on that stage. R2 (intake friction audit) is the next-biggest win on Engaged → Intake. All three are LOW or MED implementation effort by Zach in GHL, brand-aligned, and require no discount, scarcity, or pushy cadence. If executed in the next 2 weeks of Phase 2 (we're on Day 17 of 90), we should see the leak narrow by the next bi-weekly report.
Meta Ads Efficiency (MoM)
Meta Lead Acquisition (last 6 months)
Cohort Efficiency — CPA & ROAS by acquisition month
Uses cohort method: of leads acquired in month X, count those that have reached Scheduled. Assumed deal value: $2,000.
Meta Performance Summary by Month
| Month | Spend | Leads | CPL | CTR | CPA (cohort) | ROAS (cohort) |
|---|
| Dec 2025 | $3,129 | 51 | $61.36 | 1.81% | $3,129 | 0.64x |
| Jan 2026 | $3,485 | 86 | $40.52 | 1.82% | $1,162 | 1.72x |
| Feb 2026 | $3,287 | 63 | $52.18 | 2.40% | $548 | 3.65x |
| Mar 2026 | $4,782 | 72 | $66.41 | 1.74% | $956 | 2.09x |
| Apr 2026 | $5,102 | 132 | $38.65 | 2.04% | $638 | 3.14x |
| May 2026 | $3,823 | 123 | $31.08 | 2.68% | $546 | 3.66x |
Meta Ads — Diagnostic Detail
Dimension Scores (weighted to 68/100)
| Dimension | Weight | Score | Verdict |
| Creative diversity & clustering | 25% | 70 | watch |
| Fatigue diagnostics | 20% | 70 | watch |
| Account structure | 15% | 80 | ✓ strong |
| Audience & placement | 10% | 85 | ✓ strong |
| Downstream conversion | 25% | 75 | watch |
| Tracking / signal quality | 5% | 100 | ✓ strong |
Fatigue & Diagnostic Alerts
CD_VIDEO_BA-INTAKE_V2
$268 CPL on $268 spend, CTR 1.48%, only 1 lead — concept is broken or audience match poor →
Cut immediately. Do not refresh — concept itself is not pulling. ·
HIGHCD_STATIC_WHTSINSD
CTR 0.78% (fail band <1%) at $239 spend, 7 leads at $34 CPL — CTR/CPL disconnect = thumb-stop weak but form converts →
Rebuild creative; concept is viable, execution is not. ·
MEDCD_VIDEO_PLAN-WALK
$112 spend, 0 leads, CTR 1.60% — soft hook, no conversion →
Cut or rebuild opener. Currently a budget sink. ·
MEDCD_VIDEO_BA-INTAKE_V1
CTR 0.75% + $97 spend + 0 leads — fail band CTR →
Cut. V2 of this concept also failed — kill the BA-INTAKE family. ·
HIGHAccount-level frequency
Prospecting 3.32 (warning), CPM $22 (watch/fail boundary) →
Hook-rate breakdown by ad; refresh top 2 ads in next 14 days before frequency crosses 4.0 ·
MEDEntity-ID Clustering Risk Map (Andromeda)
Meta's 2026 retrieval ranking clusters near-duplicate creatives and silently throttles all but one per cluster. Tighten the roster to reduce internal suppression.
| Cluster | Ads | Keep | Cut | Why |
|---|
| A_WhatsInside | CD_GIF_WhatsInside, CD_STATIC_WHTSINSD | CD_GIF_WhatsInside | CD_STATIC_WHTSINSD | Same concept (what's inside the consultation) — animated wins on format diversity, static is competing for same retrieval ticket and losing on CTR (0.78% vs 3.89%). Cutting frees auction signal for the GIF. |
| B_25Plan_Markup | CD_STATIC_25PLAN_V1_0426, CD_STATIC_MRKUP, CD_STATIC_PRICE | CD_STATIC_25PLAN_V1_0426 | CD_STATIC_MRKUP | All three lead with consultation-deliverable framing (plan + marked photos + price transparency). MRKUP has 0 leads at $31 — likely clustered against 25PLAN which is doing the work. Keep PRICE — lowest CPL among the three at $20.79. |
| C_BAIntake_Video | CD_VIDEO_BA-INTAKE_V2, CD_VIDEO_BA-INTAKE_V1 | neither | BOTH | Same hook family, two iterations, both failing CTR + lead band. The concept did not survive iteration — kill the family rather than V3. |
| D_Subtle_Facemap | CD_STATIC_SUBTLE, CD_STATIC_FACEMAP | CD_STATIC_FACEMAP | keep both, monitor | Both lead with educational/facial-balancing framing and have the two highest CTRs in the account (4.91%, 3.23%) — strong brand-thesis fit but small samples ($52, $68 spend). Promote with budget rather than cut. |
| E_BA_Front_Stale | CD_STATIC_BA-FRONT_V1_0326-Copy | n/a | CD_STATIC_BA-FRONT_V1_0326-Copy | $3 spend, CTR 0.69%, March-dated copy still active — zombie ad. Pause to clean retrieval pool. |
Creative Ranking by Downstream Quality
Ranked by approximate CPA (won), not CPL. Day-1 cohort — directional only.
Winners (concentrate spend)
| Ad | Spend | Leads | CPL |
|---|
| CD_GIF_WhatsInside | $0 | 66 | $24.65 |
| CD_STATIC_25PLAN_V1_0426 | $0 | 20 | $28.37 |
| CD_STATIC_PRICE | $0 | 7 | $20.79 |
Losers / Trap (cut or de-budget)
| Ad | Spend | Leads | Note |
|---|
| CD_VIDEO_BA-INTAKE_V2 | $0 | 1 | Worst CPL in the account by 6x. Cut, do not iterate. V1 also failed — kill the family. |
| CD_VIDEO_TRANSFORM_V1 | $0 | 7 | ANTI-BRAND. 'Transform' violates the 'less is more, harmony over volume' thesis. Even at $43 CPL, this is pulling lower-intent transformation-seekers, not the facial-balancing audience we want compounding into the wons cohort. Cut on brand grounds regardless of CPL. |
| CD_VIDEO_PLAN-WALK | $0 | 0 | $112 spent, zero conversion. Concept fine, execution failing. |
| CD_STATIC_FACEMAP | $0 | 5 | TRAP: Best CPL in the account but only $68 spent. Could be a hidden winner OR low-intent click pattern. LOW confidence either way. Scale to $300 trial before treating as winner. |
Funnel Analysis (MoM)
Stage Progression by Month — % of New Lead reaching each stage
Step-by-step Conversion · vs Phase 1 Targets
Bottleneck: Consult Sent → Deposit
May: 36.2% vs 62.7% Phase 1 target (26.4pp gap). This step is the largest drop in the funnel and the furthest from target.
Funnel — Diagnostic Detail
Dimension Scores (weighted to 59/100)
| Dimension | Weight | Score | Notes |
| Stage health | 30% | 81 | Avg of 4 transition scores: NL→E 99, E→I 68, I→CS 100 (capped, overperforming), CS→D 58. Provider workflow (I→CS) is a bright spot pulling the average up; both 'middle' transitions are leaking. |
| Speed to lead | 20% | 50 | NEUTRAL DEFAULT — first-touch timestamps not instrumented. Cannot score. Treat as data gap; recommendation R1 closes it. |
| Nurture engagement | 15% | 50 | NEUTRAL DEFAULT — SMS reply rate, email opens, and sequence-completion telemetry not yet wired into the GHL pull. Recommendation R5 closes it. |
| Show / deposit | 15% | 35 | Consult Sent → Deposit at 36.2% lands in the 30–40% scoring band (=35). The 26.5pp gap vs the 62.7% Phase-2 target is the headline leak. |
| Source quality mix | 20% | 60 | Meta Paid is 32% of leads (single-source risk not yet acute, but trending). Google Paid (23.1% close) and Meta Organic (25.0% close) materially outperform Meta Paid (10.8%) and 'Other' (5.3%). Mid-band score reflects diversification room + a clear quality signal to lean into. |
Headline Bottleneck: Consult Sent → Deposit
36.2% vs 62.7% target (+26.5pp). Likely cause: Price reveal sticker shock at plan delivery (no upstream price anchor) + thin/absent post-plan personal follow-up. The gap is the same shape as April (-26.5pp May vs -26.2pp April) — not closing, persistent for 2+ months. ·
HIGHSecondary Bottleneck: Engaged → Intake
51.1% vs 75.0% target (+23.9pp). Likely cause: Intake form friction or unclear deliverable framing — ~49% of engaged leads never start the $25 intake. Form length, mobile UX, or value-of-submission framing are the suspects. This gap is LARGER than legacy docs implied and warrants a friction audit. ·
MEDData gaps (instrument these to raise confidence)
- First-touch timestamps (speed-to-lead) — not in current GHL pull. Closes via R3.
- SMS reply rate, email open/click, sequence completion — nurture engagement dimension is scored at neutral default until instrumented.
- Show / no-show rate on Scheduled appointments — not in pull. Important once volume scales.
- Cost-per-Won by source — requires joining Meta/Google spend to GHL closes (Phase-2 sprint task).
Source Quality Breakdown (May cohort, Day 1)
| Source | Leads | Won | Close % | Engaged % | Deposits |
|---|
| Meta Paid | 65 | - | 10.8% | 80% | 23 |
| Other | 57 | - | 5.3% | 51% | 8 |
| Google Organic | 44 | - | 11.4% | 66% | 20 |
| Google Paid | 26 | - | 23.1% | 81% | 11 |
| Meta Organic | 12 | - | 25.0% | 83% | 7 |
Lead Quality & Source Mix
Source Mix — Lead Volume by Source over Time
Pre-2026-04-01 data has 30% Meta Organic→Paid attribution correction applied.
Cohort Close-Rate by Acquisition Month
Of leads acquired in [Month], how many have reached the close stage as of today.
| Cohort | All Leads | Closes | Close % | Meta Paid Leads | Meta Closes | Meta Close % |
|---|
| Dec 2025 | 141 | 28 | 19.9% | 22 | 1 | 4.5% |
| Jan 2026 | 161 | 28 | 17.4% | 52 | 3 | 5.8% |
| Feb 2026 | 205 | 34 | 16.6% | 67 | 6 | 9.0% |
| Mar 2026 | 186 | 40 | 21.5% | 43 | 5 | 11.6% |
| Apr 2026 | 233 | 31 | 13.3% | 108 | 8 | 7.4% |
| May 2026 | 204 | 24 | 11.8% | 65 | 7 | 10.8% |
Prescriptive Recommendations — June Action Plan
Ranked by expected impact × ease of implementation. All confidence-flagged. All brand-thesis compatible. No discount-driven scarcity, no hard-sell. ✓ = on-brand.
#1 · Meta Ads
Unlock the unspent $1,177 of media floor for June. Reset CBO daily budget so the campaign actually pulls $5K — currently pacing at $123/day implies a ~$3.7K cap. Push to $167/day floor.
Why: May proved Cheeky finally has scalable creative (CD_GIF_WhatsInside) and improving cohort quality (10.8% Day-1 vs April's 6.5% Day-30). Underspend at this moment costs ~4 wons/month at current run-rate, or roughly $8K of deal value left on the table. The first lever is not creative — it's pacing.
Expected impact: +30-40 incremental leads/month, +3-4 wons/month at sustained quality.
HIGH
EFFORT: MED
✓ on-brand
#2 · Meta Ads
Cut 5 ads immediately: CD_VIDEO_TRANSFORM_V1 (brand), CD_VIDEO_BA-INTAKE_V1, CD_VIDEO_BA-INTAKE_V2, CD_VIDEO_PLAN-WALK, CD_STATIC_BA-FRONT_V1_0326-Copy. Pause CD_STATIC_WHTSINSD (clusters against the GIF winner) and CD_STATIC_MRKUP.
Why: Andromeda concentrates retrieval on winners regardless, but 10 marginal ads burning <$300 each fragment the relevance signal and starve the winner of learning. Cutting the BA-INTAKE family ends the second failed iteration. TRANSFORM is an anti-brand attractor — wrong patients enter the funnel.
Expected impact: Tighter delivery on CD_GIF_WhatsInside + CD_STATIC_25PLAN; expected CPL drift -$2 to -$4; cleaner cohort entering nurture.
HIGH
EFFORT: MED
✓ on-brand
#3 · Funnel / GHL
Anchor pricing UPSTREAM in the Engaged → Intake nurture
Why: Consult Sent → Deposit leak (-26.5pp) has been flat for 2+ months. Per playbook, the dominant cause is sticker shock at plan delivery. Inserting a 'treatments typically range $X–$Y' line into the Engaged → Intake SMS/email pre-frames the price so the plan reveal is confirmation, not surprise. Brand-aligned (transparent, anti-salesy) and explicitly NOT a discount play.
Expected impact: +8 to +15pp on Consult Sent → Deposit (closes the gap by ~30–50%)
HIGH
EFFORT: LOW (Zach: 1 GHL workflow message edit + 1 email template edit, ~30 min)
✓ on-brand
#4 · Funnel / GHL
Audit the intake form for friction and ship a <2-min version
Why: Engaged → Intake is a 23.9pp gap — nearly half of engaged leads never start intake. Per playbook, the top causes are form length, mobile UX, and unclear value framing. Reframe the CTA to lead with the deliverable: 'Upload your selfie + 3 goals — Dr. [X] will mark up your photo and send a treatment plan within 48 hours.' Time the form ourselves; if >2 min, cut fields ruthlessly.
Expected impact: +10 to +20pp on Engaged → Intake (recovers ~14–28 additional intakes/mo at May volume)
HIGH
EFFORT: MED (Zach + form audit + 1 round of GHL form edits, ~2–3 hrs)
✓ on-brand
#5 · Funnel / GHL
Instrument speed-to-lead tracking in the GHL pull and set a <5-min auto-reply SMS for 'Other' source
Why: We can't score speed-to-lead because first-outbound-activity timestamps aren't in the data feed — closing this is the single highest-ROI instrumentation we can do. The 'Other' source Engaged rate of 51% (vs 80% on Meta Paid) is a near-certain auto-responder gap on organic web inquiries. Per the 5-minute rule, lifting first-touch under 5 min projects a 21x qualification multiplier on that segment. Brand-aligned T1 copy already exists in messaging-bank.md.
Expected impact: +15 to +25pp on 'Other' Engaged %; +data-quality unlock for all future analysis
HIGH
EFFORT: LOW (Zach: add 1 GHL workflow trigger on 'Other' source forms; Jake: extend Scripts/data_fetcher.py to capture first-touch ts)
✓ on-brand
#6 · Funnel / GHL
Install the 2-touch post-plan personal follow-up (24h + 72h) on all Consult Sent leads
Why: Consult Sent → Deposit recovery requires a personal-feel ping from the provider, not a bot. Per cheeky-nurture-cadence.md, the proven sequence is 24h ('Took another look at your plan — happy to talk through anything unclear. No rush.') and 72h ('Following up gently — your plan stays valid for [X] days.'). Both are anti-salesy, invite a question, and have ZERO discount pressure. Pairs with R1 for compounded impact.
Expected impact: +5 to +10pp on Consult Sent → Deposit (stacks with R1)
HIGH
EFFORT: LOW (Zach: 2 GHL workflow messages on a Consult Sent stage trigger, ~45 min)
✓ on-brand
#7 · Meta Ads
Brief 2 net-new concepts for June launch, in genuinely distinct fingerprints from the existing roster. Concept A: educational hook video ('What facial balancing actually means in 60 seconds' — provider on-cam, no B&A). Concept B: consult-deliverable carousel walking through what arrives in the $25 plan (marked photo, plan PDF, transparent pricing). Do NOT re-skin CD_GIF_WhatsInside.
Why: Andromeda + GEM reward concept-level diversity, not variant-level. The roster is currently 9 statics that paraphrase price/plan + 4 videos. Educational + deliverable-carousel widen the embedding space and protect against fatigue as frequency creeps toward 4.0.
Expected impact: Refreshed retrieval pool by mid-June; protects CTR against the CPM $22 / Freq 3.32 saturation signals already visible.
MED
EFFORT: MED
✓ on-brand
#8 · Meta Ads
Re-activate retargeting (currently paused at $184 spend) with a single ABO ad set, $30-50/day, targeting 7-30d Pixel+IG/FB engagement, leadform-openers-no-submit. Creative: consult-deliverable static + objection-handling video ('Why we charge $25').
Why: Retargeting has been off for the period — 123 leads of warm signal accumulated with no downstream creative pull. Even at $40 CPL on warm, that's another 25-35 leads/month at higher intent. Cohort close rate on retargeted warm typically 2-3x prospecting.
Expected impact: +15-25 incremental wons-qualified leads/month, expected close rate 12-18%.
MED
EFFORT: MED
✓ on-brand
#9 · Meta Ads
Scale CD_STATIC_FACEMAP and CD_STATIC_SUBTLE budget to $150-200 each in June as controlled spend-up. Both have top-3 CTRs (3.23%, 4.91%) and both lead with brand-thesis framing (mapping / subtlety) — but $52-68 trial is statistically meaningless.
Why: These two ads are the cleanest brand-aligned creatives in the roster and the highest-CTR statics. Don't treat as winners yet — but $300 trial gets to enough leads (~15) to make a real call. If CTR holds, promote into rotation alongside the GIF.
Expected impact: Either confirms a second on-brand winner (compounding the diversity bench) or rules them out with confidence.
MED
EFFORT: MED
✓ on-brand
#10 · Funnel / GHL
Investigate why Google Paid closes at 23.1% and run a controlled +30% budget test
Why: Google Paid is the best-performing source in the cohort by 2x relative to Meta Paid and shows the highest Engaged rate (81%) in tandem with the highest close rate. Likely driver: high-intent search keywords (e.g., 'Denver lip filler consultation') that pre-qualify leads. n=26 keeps significance LOW, so the play is INVESTIGATE FIRST: pull keyword-level data, identify the winning intents, then run a 30-day +30% budget test with the same keyword mix. Also reduces single-source risk (Meta Paid is 32% of leads and trending up).
Expected impact: Higher-quality lead mix; +2 to +5 incremental wons/mo if expansion holds at current close %
MED
EFFORT: MED (Jake: 2–3 hr Google Ads audit + budget proposal for Tuesday call)
✓ on-brand
Engagement & Renewal Context
Engagement-to-Date Snapshot
| Days in | 104/90 |
| Days to contract end (May 19, 2026) | -13 |
| Total leads (engagement-to-date) | 828 |
| Total Meta spend | $16,994 |
| Total Meta leads | 390 |
| Engagement-to-date Meta CPL | $43.57 |