Skip to main content
Synced from the repo — do not edit here

Canonical source: docs/claude/growth-suite-scoping.md. This page is generated by docs/scripts/sync-handbook.mjs. Edit the source file in the repo; changes appear here on the next build.

Clinic Growth Suite — Scoping Doc

2026-07-12. Consolidates the Zeely/Viktor/Polsia research, the signal-architecture + 17-signals playbook (growth-signals-playbook.md), GTM principles (gtm-principles.md), and a ground-truth audit of the existing growth modules. Dual-track doctrine applies: Ready Practice runs every piece on itself first (customer-zero), then productizes the proven version for clinics. Companion strategy line: Master Checklist "Clinic Growth Suite" + "Ads bandit" + "Expansion engine" items.


1. Positioning & why

For clinics: "Ready Practice grows your practice, not just runs it." AI generates the demand (ads/content), converts it (signals→plays→bookings), and keeps it (reviews/referrals/ win-back) — measured in booked clients, not clicks.

For Ready Practice: the expansion-revenue engine (Master Checklist: usage upsells ≥15% of revenue) AND the differentiation moat — Healthie/Practice Better run the practice; nobody credibly grows it. Structural edge over Zeely-class tools: we own the booking funnel + payment rails, so we can attribute ad → lead → booked → paid client end-to-end and price on outcomes they can't even measure.

2. Current state (ground-truthed 2026-07-12)

~8k lines across 9 modules — a real foundation with known broken parts:

ModuleStateNotes
growth_leads (1116) + growth_crm (647)WorkingLead lifecycle, comms log, referral tracking; feeds sales scribe/call center
growth_conversions (611)WorkingHIPAA-friendly server-side conversion tracking — the crown jewel for ads attribution; ties to #178
growth_ads (677)PartialAI creative gen + campaign mgmt scaffolding; the "bandit" optimizer loop not live
growth_website (3065)Working, quality poorSite generation exists; output not competitive (memory: "website poor")
growth_sequences (546)BrokenDrip campaigns — known broken (memory)
growth_offers (559), growth_personas, growth_optimizerScaffolding
Sales scribe + AI call center (#177)Built, go-live pendingInbound voice + CRM leads

Implication: Phase 1 is fix + connect what exists, not build new.

3. Product architecture — three layers

DEMAND (Zeely-model)          CONVERT (signal architecture)      RETAIN/EXPAND
───────────────────── ───────────────────────────── ─────────────────
profile-in → AI creatives clinic growth_signals SSoT review engine
(UGC video #264, statics, lead intent scoring referral loop
framework copy) → Meta-first if/then plays: nurture SMS/email, win-back offers
launch → auto-optimization front-desk alert, booking nudge (churn-saves)
→ ROAS-to-BOOKINGS dashboard pre-visit enrichment
  • Demand = Zeely blueprint with our twist: onboarding pulls services/brand/photos from the clinic's EXISTING Ready Practice profile (their "URL-in" moment is zero-input for us). Creative engine reuses #264 (Remotion video) for UGC-style clips. Meta-first; Google later.
  • Convert = the #265 signal architecture re-tenanted per clinic: form fill +15, price-page +8, IG engagement +2, no-show risk −X → plays fire through channels we already own (chat, SMS, email, booking). This layer is where competitors stop at "leads" and we continue to "booked."
  • Retain/Expand = reviews (drives local SEO + the ads' social proof), referral mechanics (product-baked "refer a friend" per gtm-principles), win-back — mostly existing platform features orchestrated by growth plays.

4. Compliance constraints (design-time, not afterthought)

  1. Meta health-and-wellness ad restrictions — Meta restricts health-condition targeting and (since 2025) limits pixel/CAPI data use for health-flagged advertisers. Our server-side conversions module must send only NON-health events (lead, booking-intent) with scrubbed payloads; audiences built on interest/geo, never conditions. ⚠️ RESEARCH ITEM before build: current Meta "health & wellness" data-source category rules and whether booked-appointment CAPI events are permissible per category.
  2. No PHI anywhere in the ads path — ad audiences, creative briefs, conversion events: marketing data only. Existing conversions module already designed this way; keep it.
  3. TCPA/consent for SMS nurture plays — nurture texts require captured consent at the form; plays must check a consent flag.
  4. Claims discipline in generated creatives — no medical outcome claims in AI copy; template guardrails + a Haiku claims-linter on every creative before publish.

5. Pricing & performance comp

Baseline (fits the one-plan pricing philosophy; numbers PLACEHOLDER until vendor costs set):

ComponentModelRationale
Hooks tier (CRM, booking link, personas, offers, directory, website)Included in $999Near-zero marginal cost; lock-in wedge (decision §9.4)
Paid tier (ads, sequences, AI call assistant, chatbot)Add-on/usage [PLACEHOLDER $]Real COGS (vendors + inference) — must carry margin (§9.4)
Ad-spend fee6-10% of managed ad spend [PLACEHOLDER]Zeely charges 12%; spend-indexed = simple, no attribution disputes
Performance optionper-booked-NEW-client fee (e.g. $25-75 by service value [PLACEHOLDER]), capped monthlyThe moat pricing — booking+payment attribution is ours. Either/or with the spend fee, clinic's choice (§9.2)

Performance-comp mechanics to design (the honest hard parts): attribution window (e.g. 30d click/7d view via our own funnel, not Meta's), "new client" definition (no prior visits in 12mo), dispute path (clinic sees the attribution chain in-product), clawback on refunds/ no-shows, and a monthly cap so bills stay predictable. Learnings feed from track A first.

Margin: COGS = creative-gen inference (bounded per campaign), no per-seat vendor costs; ad spend passes through clinic's own Meta account (never our balance sheet). Target ≥80% per the pricing doc.

6. Customer-zero sequencing (track A first — per George)

Every capability ships to RP's own growth before any clinic sees it:

  1. RP runs the signal SSoT + scoring + plays on its own clinic-acquisition funnel (#265).
  2. RP produces its own weekly videos via #264 and (optionally) runs its own Meta campaigns through the ads module → the ROAS-to-revenue dashboard is dogfooded on us.
  3. AI-visibility audit (#266) is RP's own demand-side measurement.
  4. Only proven pieces get the clinic-facing UI + pricing. Case study #1 (Master Checklist) can literally be "how Ready Practice grew Ready Practice," followed by a design-partner clinic.

7. Phased build

P0 — Repair + dogfood (unblocks everything)

  • Fix growth_sequences (known broken); QA growth_ads creative path end-to-end.
  • Stand up growth_signals SSoT + scoring for RP itself (#265 phases 1-2).
  • #264 video engine v1 (≤60s clips).
  • Meta health-ads rules research memo (§4.1).

P1 — RP customer-zero campaign

  • One real Meta campaign for RP through our own ads module: creatives → launch → server-side conversions → ROAS-to-demo dashboard. Bandit optimizer v1 under budget caps.
  • Plays live on RP funnel: threshold Slack alert, nurture sequence, pre-call enrichment.

P2 — Design-partner clinic (1-3 clinics, manual-assisted)

  • Clinic onboarding: profile-in → campaign live (target <1 hour, Zeely's bar is ~18min).
  • ROAS-to-BOOKINGS dashboard per clinic; claims-linter on creatives; consent-gated SMS plays.
  • Pricing pilot: add-on + spend fee; instrument per-booked-client attribution silently to validate the performance option before selling it.

P3 — GA + performance pricing

  • Self-serve enablement in Growth tab; performance-pricing option live with the dispute view; retain layer (reviews/referral/win-back plays); Google Ads channel.

Dependencies: #265 (shared SSoT), #264 (creatives), #178 (attribution hardening for performance billing), #177 go-live (voice answers the demand the ads create).

8. KPIs

  • Track A: PCPL, CAC payback (<12mo bar), demo→close rate, RP pipeline from owned campaigns.
  • Track B (per clinic): ROAS-to-bookings, cost per booked new client, activation (first campaign live <1h), % clinics with a live play, suite attach rate + expansion revenue %.
  • Guardrails: creative claims-linter pass rate 100%, zero PHI incidents in ads path.

9. DECISIONS (George, 2026-07-12)

  1. Ad accounts — clinic-owned, Zeely-style, with embedded creation flows. Zeely's model confirmed: client's own Meta account connected via OAuth; spend billed by Meta to the client's card; service fee charged separately; auto-publish/edit via the Marketing API permissions granted at connect. We adopt that for Meta (guided Business-Manager + ad-account creation for clinics that lack one → partner access delegated to RP's BM), and go one better on Google: RP manager account (MCC) programmatically creates the clinic's Google Ads sub-account — clinic only adds billing. Spend never on our books; full programmatic publish/edit control. ⚠️ Build requirement: the account-creation onboarding flows are first-class product surface (P2), not documentation.

  2. Performance pricing — either/or, clinic's choice: ad-spend % fee OR per-booked-new-client fee (with the §5 mechanics: attribution window, new-client definition, dispute view, clawback, monthly cap). No blend for v1 — simpler to sell and account for.

  3. Design partner #1: Frontdoor Labs (wamf-loge-csik). P2 pilots start there.

  4. Packaging split — hooks vs. margin lines (supersedes §5 assumption):

    • Included in the $999 plan (hooks — near-zero marginal cost, drive lock-in): Growth CRM, booking link, personas, offers, directory listing, website.
    • Paid / performance-based (real vendor+inference COGS — must carry margin): ads engine, email sequences, AI call assistant, chatbot. The included tier IS the acquisition wedge for the paid tier: the CRM/booking data the hooks generate is exactly what makes the paid signal/ads layer effective.