Data Retention & TTL
How long events and users are kept
Events, and everything computed from them, are kept for a retention period that depends on your plan:
| Plan | Retention |
|---|---|
| Free | 60 days |
| Pro | 1 year (365 days) |
| Growth | 1 year (365 days) |
| Scale | 2 years (730 days) |
| Enterprise | 2 years, custom on request |
How deletion works
Every event is written with its organization's window, and a ClickHouse TTL on the events table drops each row once it is older than that window. The daily rollups the charts read (events and unique users per day, top events, page views, visits and bounces) carry the same window and expire with the events. Deletion happens during background merges, at day granularity: an event from 61 days ago on a 60-day plan disappears within the following day.
User profiles are not expired by plan. Only identify creates one, so there is one per identified user, and it is kept until you delete the user.
Historical queries
Everything covers the window and no more: the event explorer, CSV export, funnels, segments and user timelines (raw events) and the overview charts, unique users, visits, bounces and retention cohorts (the daily rollups). A date range that starts before it returns what still exists, without an error. The property-value picker keeps a capped sample of values per property, not per day, so it can remember values from before the window.
Self-hosted deployments
A self-hosted install has no plans and keeps everything by default. Set EVENTS_RETENTION_DAYS on iforevents-api to write every new event, and its rollups, with that window. Events already written keep the window they were written with.
Plan changes
A new plan reaches newly ingested events within ten minutes, and events and rollups already stored that night: a pass at 23:00 UTC moves them to the new window. After a downgrade, events past the shorter window are dropped on the merges that follow, so export what you need first (Analytics → Export or /v1/analytics/export/events).
Cold storage
Archiving older events to object storage is not available yet; export CSVs before the window closes if you need long-term records.