Start with a hypothesis-driven, prioritized 48‑hour checklist: quick scope checks → data integrity → segmentation → product/browser/device checks → deeper logs and escalation criteria.1) Quick scope & spike confirmation (first 30–60m)- Verify metric definition and compute drop-off delta by day/hour to confirm timing and magnitude.sql
-- daily signup funnel conversion
SELECT event_date,
COUNT(DISTINCT user_id) AS visits,
SUM(CASE WHEN completed_signup THEN 1 ELSE 0 END) AS signups,
SAFE_DIVIDE(SUM(CASE WHEN completed_signup THEN 1 ELSE 0 END), COUNT(DISTINCT user_id)) AS conv_rate
FROM analytics.events
WHERE event_name IN ('landing_view','signup_complete')
AND event_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 14 DAY) AND CURRENT_DATE()
GROUP BY event_date
ORDER BY event_date;
Quick check: is the 20% drop in overall conversion mirrored in raw event counts or only in computed metric?2) Rule out data pipeline/definition issues (0–3h)- Check ingestion rates, schema changes, backfills, ETL job failures, and timestamp anomalies.- Compare raw event counts pre/post-release:sql
SELECT event_name, COUNT(*) FROM analytics.raw_events
WHERE event_date BETWEEN '2025-11-01' AND '2025-11-07'
GROUP BY event_name;
If event counts suddenly drop or change (missing signup_complete events), suspect data loss.3) Segment to isolate affected cohorts (1–6h)- By platform (web/mobile), browser, OS, country, traffic source, new vs returning users, experiment flags.sql
SELECT platform, browser, COUNT(*) AS visits, SUM(converted) AS signups,
SAFE_DIVIDE(SUM(converted), COUNT(*)) AS conv
FROM analytics.funnel
WHERE event_date = '2025-11-06'
GROUP BY platform, browser
ORDER BY conv ASC;
Prioritize segments showing worst drops. If only one platform/browser is impacted → product regression likely.4) Time & release correlation (1–4h)- Map the release deploy timestamp to the drop. Compare A/B experiment cohorts and feature flags.- Dashboard: hourly funnel for 48 hours around deploy; annotate deploy/time windows.5) UX / front-end quick checks (2–8h)- Inspect console errors, JS exceptions, network failures aggregated from Sentry/Datadog/Rollbar.- Check error rates and newly introduced errors around deploy time.- Look for high 4xx/5xx rates on signup endpoints in logs.6) Back-end & API checks (3–12h)- Request latency, error rate, auth failures, validation errors for signup API.- Query logs for increases in 500/4xx and validation rejection counts (e.g., duplicate email, schema validation).Evidence to escalate: spike in server 5xx errors correlated with drop, or database constraint failures.7) Funnel-level UX checks (4–24h)- Replay session samples (Hotjar/FullStory) for affected segments to spot UI changes blocking flow (hidden CTA, broken form).- Check form validation messages and field-level errors in telemetry.8) Data vs product decision logic- If raw events (landing_view, form_submit) unchanged but signup_complete falls → product or downstream service regression.- If raw events missing or ETL errors present → data pipeline issue.- If errors visible in logs/monitoring → escalate to engineering immediately.9) Dashboards & communication (continuous)- Create an incident dashboard: hourly conversion, error rates, affected segments, deploy timestamp, and top error messages.- Share findings with PM/engineering with: what, where (segment), when, evidence (queries, logs, screenshots), severity, suggested next steps.Escalate immediately when:- Signup API 5xx or latency spikes temporally aligned with drop.- Client-side exceptions or network failures affecting signup flow for significant traffic segments.- Data-layer corruption (missing events) that cannot be remediated by reprocessing within SLA.Deliverables within 48h: incident dashboard, prioritized affected segments, SQL audit queries, sample logs/stack traces, and recommended rollback or hotfix actions.