Cu 86exkh107 step 5 instrumentation activation funnel trial to paid navid shad#56
Conversation
…ich Stripe lifecycle events #86exkh107 Close the Step 5 instrumentation gaps against the metrics framework (codebridger/subturtle-docs). Adds the activation-funnel and trial-to-paid events that were still missing, using the canonical [object]_[action] naming convention: - account_created (server-truth) on the new-user branch of both Google OAuth paths; props signup_provider, oauth_timezone, referrer. - phrase_saved_first-time (server-truth) on a user's first-ever phrase in createPhrase; props source_platform, language_pair. - pricing-page_viewed (client) on the subscription page with from_surface, threaded from the cap/limit banner entry points. - Enrich the Stripe lifecycle events: trial_started +currency; subscription_started +currency +subscription_id; subscription_canceled +tier +lifetime_value_cents (summed from payment records) +cancel_reason. Out of scope (per decisions): extension_installed (extension repo) and fluent_waitlist_signed_up (no dashboard trigger yet). Mixpanel funnels and the L1 Forgot-rate aggregate are defined for build-out once these deploy. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Automated PR ReviewPrimary Task: Step 5 — Instrumentation (activation funnel + trial-to-paid) Task alignmentActivation funnel
Trial-to-paid funnel
Out-of-code items (Mixpanel config / aggregate queries) Commit messages
The bare message won't affect the version bump for this PR (the ✅ Convention check
Event naming ✅ Architecture and test coverage ✅
VerdictREQUEST CHANGES Two events from the task spec — Generated by Claude Code |
…bort the subscription page mount #86exkh107 When NUXT_PUBLIC_MIXPANEL_PROJECT_TOKEN is unset (CI/e2e), the Mixpanel plugin skips init and analytic.track() throws on the uninitialised instance. Fired at the top of onMounted, that aborted the mount before fetchPlans(), so the plan cards never rendered (Playwright subscription-ui "four plan cards" failed). Wrap the analytics call in try/catch — instrumentation is best-effort and must never break the page. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
🎉 This PR is included in version 1.0.0-dev.5 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
📋 Summary
This PR enhances analytics tracking by wiring the
account_created,first-save, andpricing-pageevents, and enriches Stripe lifecycle events with additional data. It also fixes an issue where thepricing-page_viewedtracking was aborted if Mixpanel had no token, preventing subscription page mount failures. Additionally, the.playwright-mcpdirectory has been added to.gitignore.🔗 Related Tasks
#86exkh107 - Improve analytics tracking for account creation, first save, pricing page, and Stripe lifecycle events; fix subscription page mount issue related to pricing page tracking
📝 Additional Details
.playwright-mcpdirectory helps keep test artifacts out of version control.📜 Commit List