Data retention
Contents
PostHog retains the largest properties on $ai_ events for 30 days. LLM conversations can be large, so storing these properties long-term is expensive. To keep costs down, PostHog deletes them after 30 days and keeps the rest of the event.
How retention works
When PostHog ingests an $ai_ event, the pipeline splits it into two copies:
- A full copy, with every property, goes to the
ai_eventstable. - A trimmed copy, without the large properties, goes to the
eventstable.
The large properties are:
$ai_input$ai_output$ai_output_choices$ai_input_state$ai_output_state$ai_tools
PostHog deletes the ai_events copy after 30 days. The trimmed copy in the events table persists like any other Product Analytics event, but it never includes the large properties.
What this means for you
- To read the large properties, query the
ai_eventstable – even for traces less than 30 days old. Theeventstable never contains them. - After 30 days, the events are removed from the
ai_eventstable, so a trace older than 30 days still appears, but its generations show no input or output content. - Metadata such as model, provider, token counts, cost, latency, and trace IDs stays available, so analysis of historical cost, usage, and performance is unaffected.
- Insights, queries, and filters that don't reference the large properties keep working on data of any age.
To keep raw prompts and completions beyond 30 days, set up a batch export to your own storage.