Quick answer: Analytics events that change shape break dashboards. Versioned events with backwards-compatible additions and never-removed fields preserve historical analysis through schema changes.

Analytics dashboards break on schema changes. Backwards-compatible event design keeps your historical data intact.

Version every event

Every event has a v field. Increment on breaking change. Dashboards filter by version; mixed versions coexist.

Add, never remove

Once an event field is shipped, it's there forever. Stop sending it, but keep parsing tolerant. Removing breaks queries.

Document the schema

JSON Schema per event. CI validates outgoing events against schema; bugs caught pre-ship.

Migrate forward only

New code writes new version; old data stays in old version. Dashboards transform old data to new schema for unified views.

“Analytics events are forever. Design them that way.”

Treat analytics events like an API. Stable; documented; versioned. The discipline pays as your data accumulates.

Related reading