Filed from the first real weekly growth report (VANTAGE, 2026-08-25 — evidence in gitignored docs/reports/growth/2026-08-25.md, figures deliberately not reproduced here).
What
FUNNEL_STEPS in lib/reports/funnel.ts:25-33 goes paywall_teaser_click → subscribe_click with nothing between. The file header (lib/reports/funnel.ts:4-7) justifies the omission by claiming unlock_click is "emitted by no code since the subscription pivot". That assertion is false.
Evidence (code)
- components/SectionRenderer.tsx:66 and components/LockedReviewer.tsx:24 both call logEvent("unlock_click")
- lib/adminFunnel.ts:31-40 already removed it from DEAD_EVENT_TYPES and charts it as "Reached Unlock" between exactly the two steps this collector joins
- The un-windowed dead-events CTE (20260808000001_growth_funnel_agg.sql:76-86) shows a live last-seen timestamp for unlock_click today, with 43 rows
Impact
/unlock is where the price is first quoted and changed twice inside the reporting window (309110a, af6af9d). Whether teaser-tappers who never checked out stopped before or after seeing the price is unanswerable — opposite problems, opposite fixes. dead_last_seen also reads as reassurance while being wrong.
Fix shape (from report)
- B (minimal): add { key: "unlock_click", label: "Reached Unlock", source: "events" } to FUNNEL_STEPS between paywall_teaser_click and subscribe_click, correct the header, add matching windowed count to growth_funnel_agg steps CTE — carries one new migration (note: the original growth migrations are now applied to production as of 2026-08-25, so this is a normal follow-up migration)
- C: B plus narrow the dead CTE to unlock_submitted only so dead_last_seen means what it claims, plus guard test
Estimate B: half a day.
Filed from the first real weekly growth report (VANTAGE, 2026-08-25 — evidence in gitignored docs/reports/growth/2026-08-25.md, figures deliberately not reproduced here).
What
FUNNEL_STEPS in lib/reports/funnel.ts:25-33 goes paywall_teaser_click → subscribe_click with nothing between. The file header (lib/reports/funnel.ts:4-7) justifies the omission by claiming unlock_click is "emitted by no code since the subscription pivot". That assertion is false.
Evidence (code)
Impact
/unlock is where the price is first quoted and changed twice inside the reporting window (309110a, af6af9d). Whether teaser-tappers who never checked out stopped before or after seeing the price is unanswerable — opposite problems, opposite fixes. dead_last_seen also reads as reassurance while being wrong.
Fix shape (from report)
Estimate B: half a day.