Impulsion.io · Client Intelligence

Inspiration Riding Academy — Growth Cockpit

Stefanie Hoffman · Pierce, CO  ·  Constraint-first: spend flexes to fill eval slots at or below the historic cost-per-intro.
GHL · loc 8qFSbcwYP0b0ggZAiuRE Meta · act_1413105262253583 Stripe · PENDING (no Stef key) Data window Apr–Jun 2026 · pulled 2026-06-27
Headline — last 3 months (real)
The intro engine is running; the unit economics broke.
Numbers below are from Stef's attribution sheet (the GHL-ad-tagged conversion window) cross-checked against the GHL Intro Lesson calendar and Meta act_1413105262253583.
Cost / Intro
$337
▲ 7.4× vs Apr ($46)
Apr $46 → May $108 → Jun $337
Intros booked
5
▼ from 19 in May
GHL Intro Lesson cal · Apr 9 · May 19 · Jun 5
New subscriptions
1
▼ from 6 in Apr
Attribution sheet · Apr 6 · May 3 · Jun 1
Cost / Subscription
$1,687
▲ 25× vs Apr ($69)
Spend ÷ subs · the real payback metric
The Diagnosis
The Apr → Jun regression — it was the ads, not the humans.
Speed-to-lead stayed healthy and the team kept working leads fast. What changed is what the ads were buying: a switch to off-platform conversions started purchasing cheap, low-intent clicks — so the same follow-up converted far fewer of them into evals.
MetricAprMayJun
Cost / intro$46$108$337
Intro-conversion39%16%6%
Intros booked9195
New subscriptions631
Cost / subscription$69$681$1,687

What broke

On 2026-04-26 the ad account switched its objective to off-platform / pixel conversions. That buys the cheapest clicks Meta can find — not the highest-intent ones. Volume of "leads" can even rise, but their intent falls off a cliff.

Result: lead → intro conversion fell from 39% to 6%, so cost-per-intro ran from $46 to $337 on roughly the same spend.

Ruled out — these were healthy: median speed-to-lead 6–46 min most weeks; the team sent thousands of outbound SMS and ran 56 reactivation blasts. The follow-up worked; the raw material got worse.

Why "ads, not humans" — the evidence
Speed-to-lead held. Weekly median first-reply ran 6–46 min across the window — fast. A conversion collapse this size is not a follow-up-speed problem.
The team out-worked the leads. 56 bulk-SMS reactivation blasts Apr–Jun (one week alone: 18 blasts / 334 messages). Effort went up while conversion went down — a quality problem, not an effort problem.
The objective change lines up with the date. The intro-conversion break starts the same month as the 04-26 off-platform switch — not a staffing change.
Geography drifted. Off-platform forms stopped reliably capturing a ZIP, and Wyoming (Cheyenne, 82001) leads appeared — outside Stef's Colorado catchment. Of 94 ad-tagged leads only 5 carried a usable state; even those split CO 3 / WY 2.
SMS-dominant funnel is intact. Inbound mix stayed SMS-led (163 SMS vs 16 Messenger / 14 calls / 10 IG) — the channel works when the lead is real.
The Ad Engine — the revert plan
Go back to the configuration that produced $12 leads.
Stef already has a proven winner in the account: "Mega Campaign September '25 — Zip Codes" spent $11.2k at a $12.29 blended lead cost on an on-platform lead form, tightly geo-targeted to Colorado ZIPs. The fix is to revert to that pattern — not to invent a new one.
What's running now
  • ObjectiveOff-platform conversions — buys cheap low-intent clicks
  • Lead capturePixel / off-site — often no ZIP captured
  • GeoLeaking to WY / Fort Collins outside catchment
  • Live spend"Mega Campaign May 2026" · $19.08 CPL (≈55% above the ZIP winner)
  • ResultIntro-conv 6% · $337 / intro
Revert to this
  • ObjectiveOn-platform Instant Form lead-gen (Leads / QUALITY_LEAD optimisation)
  • Lead captureInstant Form with a required ZIP question — quality + geo in one
  • GeoRe-tighten to proven CO ZIPs — Greeley / Eaton / Ault
  • TemplateThe Sep '25 ZIP-codes campaign · proven $12.29 CPL
  • TargetRestore ~35–40% intro-conv · ≈$46 / intro
1
Revert the objective off off-platform conversions back to on-platform Instant-Form lead-gen (the Sep '25 $12.29-CPL config). This is the primary cause of the collapse.
2
Plug the Wyoming geo leak — re-tighten to the proven Colorado ZIPs and add a required ZIP field to the form so every lead is geo-qualified at capture.
3
Keep the OFFSITE sentinel on — never let a lesson campaign run website/pixel conversions again; it silently re-buys the junk. North star stays cost-per-subscription, not CPL.
MRR Bridge
Three of four growth levers are dark until Stripe connects.
GHL gives us the eval → enrolled side of the funnel (above). Stripe gives us the dollar movement — MRR, churn, failed-payment recovery. We have the first half today; the second is one restricted key away.
PENDINGMonthly recurring revenue
No Stripe key for Inspiration is in the vault yet. MRR, active subscriptions, failed-payment recovery, save-a-cancel and upgrade revenue can't be computed until Stef shares a read-only restricted key (charges · subscriptions · customers · invoices) — or connects via Stripe Connect.
Action: request the restricted key. The moment it lands, the Recurring-Revenue, Net-Growth and Projections views auto-fill the same way the Chagrin cockpit does — no rebuild.
1 · Recover failed payments
Needs Stripe
Auto-retry + dunning on declined cards.
2 · Save cancels
Needs Stripe
Catch at-risk subs before they churn.
3 · Plant-a-seed upgrades
Needs Stripe
Move 1× lessons to recurring packages.
4 · Acquire intros
Live
Engine runs — fix is intro quality, see Ad Engine.