Deployment order, monitoring, retry behavior, and change checklist
For a coordinated analytics change:
dev and deploy Dev App and Auth.dev to stage.stage to main.Use the same commits across branches. Avoid recreating the same edit independently in each branch, which produces different commit ancestry and later conflicts.
Monitor:
$insert_id values$session_id or user_session_idEmail telemetry volume belongs in first-party operational reporting, not PostHog Activity.
For the identity/zQA rollout, follow Identity and zQA Filters. Deploy App's extended ingest before the Auth sender, then redeploy Stats and Docs. Native PostHog project filters/cohorts require a separate post-deploy setup; merging code does not activate them. Keep Dev configuration intact.
Create or maintain the internal dashboard Zooly Product Journey — Production. Apply environment = production to every insight and exclude internal_user = true by default.
Recommended insights:
PostHog delivery is best effort. Failed rows retain attempt state in the database and can be retried in batches. The first-party event ID is reused as $insert_id, so retrying the same row does not create a second logical event in PostHog.
When PostHog is not configured, retries report delivery as disabled rather than changing product behavior. Fix configuration first, then run the authorized retry path.
Before merging a change to analytics or replay:
If unexpected sensitive data is visible in Replay:
Disabling Replay does not require disabling sanitized first-party journey events.