End-to-end validation and diagnosis for missing events, replays, Auth modal content, and Stats data
Use a new incognito window after every configuration or recorder deployment.
/onboarding on the environment under test.Expected funnel events include auth_signup_started, auth_signup_completed, z_agent_onboarding_building_completed, and z_agent_agent_created. App-side onboarding sign-in events do not replace Auth signup events.
Check in this order:
NEXT_PUBLIC_POSTHOG_PROJECT_KEY and POSTHOG_PROJECT_KEY with that project's token. Do not compare only the project ID.https://us.i.posthog.com for the US project.NEXT_PUBLIC_* change.environment = development or environment = production explicitly.journey_event row. If it exists without posthog_delivered_at, diagnose server delivery or retry configuration.A wrong but valid project token is a common failure: the application works and requests can succeed, but the data is written to a different project.
$pageview event has replay_anchor = true and a $session_id.The modal is a cross-origin iframe, not part of the parent App DOM. Verify:
@zooly/consent build.recordCrossOriginIframes is enabled in both documents.NEXT_PUBLIC_POSTHOG_PROJECT_KEY and host.If App content records but Auth does not, inspect network requests from inside the iframe separately in DevTools.
Compare the deployed Production project, not the local or Dev settings:
NEXT_PUBLIC_JOURNEY_ENVIRONMENT=productionJOURNEY_ENVIRONMENT=productionDo not copy a Dev-only token from a different PostHog project. The intended design uses one shared project token and separates traffic with environment.
Stats does not read PostHog. Verify:
app.zooly.ai.journey_event table.environment = 'production'.zooly-stats has the correct READ_ONLY_PROD_DB.Dev and Stage database rows are intentionally absent from the executive dashboard.
auth_signup_started is captured once when a signup modal becomes visible, the user switches into signup, or starts email/social signup.auth_signup_submitted and z_agent_onboarding_signin_clicked, so a delivered server event or the same-origin modal-open event prevents a completed signup from appearing without a start.auth_signup_completed is emitted by the confirmation endpoint after successful confirmation.JOURNEY_EVENT_INGEST_SECRET.auth_social_login_completed; determine separately whether the product treats a first-time social user as signup for funnel reporting.Inspect Auth logs for [auth-journey] warnings when origin routing or ingest variables are missing.
Stats requires all replay metadata:
2truePOSTHOG_PROJECT_URL on StatsIf any required value is absent, hiding Replay is expected behavior.