Summarize daily product activity
Which milestones are users completing on each day?
Start with one event table, group durable product milestones into UTC days, and keep successful volume separate from all attempts.
Published expected result
Daily successful product milestones
| activity_day | events | successful_events | active_accounts |
|---|---|---|---|
| 2026-07-01 | 2 | 2 | 1 |
| 2026-07-02 | 4 | 4 | 2 |
| 2026-07-03 | 3 | 2 | 2 |
| 2026-07-04 | 4 | 4 | 1 |
| 2026-07-05 | 3 | 3 | 2 |
| 2026-07-06 | 2 | 2 | 1 |
| 2026-07-08 | 1 | 1 | 1 |
| 2026-07-09 | 1 | 1 | 1 |
| 2026-07-12 | 1 | 1 | 1 |
How to read the query
- The UTC day is derived from the event timestamp instead of a client-supplied date label.
- Event volume and distinct active accounts answer different questions, so both remain visible.
- The status condition prevents a failed integration attempt from being counted as a completed milestone.
Decisions the SQL cannot make
- 1Decide whether retries and repeated milestones should remain visible.
- 2Exclude internal, test, or bot accounts before treating this as adoption.
- 3Use complete time buckets when comparing recent days.
Continue from this lesson
Keep the result
Run this query on your own events
Create a free workspace only when you are ready to save the query, connect real events, and monitor the result. No credit card is required.