Analytics event schema broken: symptoms, cause, and the test that catches it
Tracking events change shape and downstream dashboards or experiments break.
Analytics event schema broken is documented by 2 accepted public reports from 2 organisations, 2 of them published in the last 5 years.
- Likelihood: low (2 public reports in 5 years)
- Impact: high (2 of 2 reports: data)
Symptoms
User-visible
- Custom events recorded during the window contained only the event name, without its properties.[2]
- Segments, metrics, funnels and conversions built on custom event properties were affected.[2]
- Data export files were missing custom event properties.[2]
- Event types arrived with an added prefix, so an event named Played Song appeared under a new prefixed name.[1]
- Charts and workflows that relied on the existing event names may have been disrupted.[1]
Root causes
- stage: code A change to the web capture script was incompatible with the capture snippet version that web clients had installed.[2]
- stage: release-process The automated integration suite had been switched to the upcoming snippet and lost coverage of the previous snippet version. The incompatible change passed CI and 14 days in staging.[2]
- stage: third-party An issue in the newer actions destination of an event pipeline added a prefix to event names between 11:00 and 16:36 UTC on 5 June 2025. Customers on the legacy classic destination were not affected.[1]
Public examples
- [1]Amplitude, 2025-06-05. For about five and a half hours, events sent from Segment through the Amplitude Actions destination arrived with a [Segment] prefix on the event name, so incorrect event names appeared in Amplitude and charts and workflows relying on existing names were disrupted until Segment deployed a fix and Amplitude merged the data. primary Unexpected "[Segment]" Prefix in Event Types
- [2]Fullstory, 2022-08-02. A release of the fs.js web capture script dropped all properties from logged Custom Events for about three days, so segments, metrics, funnels, conversions and data exports relying on those properties were affected. primary FS.event properties dropped
Test classes that catch it
| Test class | Stage | Limitation | Basis |
|---|---|---|---|
| Integration tests | pre-deploy | An integration suite catches dropped properties only when it runs against every snippet version clients still use, and this suite ran only against the upcoming snippet. | cited in [2] |
| Contract tests | pre-merge | A contract test runs on the sender's own release, so it does not run when a vendor changes the destination integration that added the event name prefix. | by design analysis |
| Synthetic monitoring | post-deploy | A test event sent only through the legacy classic destination arrives intact, because the prefix came from the newer actions destination alone. | by design analysis |
Risk
- Likelihood: low (2 public reports in 5 years)
- Impact: high (2 of 2 reports: data)
| Accepted public reports | 2 |
|---|---|
| Published in the last 5 years | 2 |
| Impact stated: data | 2 |
Pre-release checklist
- PR-01
- PR-02
- PR-03
- PR-04
- PR-05
- PR-06
- PR-07
First 30 minutes
- FM-01
- FM-02
- FM-03
- FM-04
- FM-05
- FM-06
- FM-07
Download the checklist
What catches this: catalogue entries
Listed because their own documentation or site names integration tests, contract tests, synthetic monitoring on the verification date. Alphabetical. Not a recommendation.
Tools whose documentation names these test classes
- Checkly synthetic source verified 2026-10-21
- Datadog Synthetic Monitoring synthetic source verified 2026-10-21
- Grafana Cloud Synthetic Monitoring synthetic source verified 2026-10-21
- Grafana k6 synthetic source verified 2026-10-21
- Hoverfly integration source verified 2026-10-21
- Pact contract source verified 2026-10-21
- Postman integration source verified 2026-10-21 synthetic source verified 2026-10-21
- Schemathesis contract source verified 2026-10-21
- Serenity BDD integration source verified 2026-10-21
- Specmatic contract source verified 2026-10-21
- Testcontainers integration source verified 2026-10-21
- TestNG integration source verified 2026-10-21
- Uptime Kuma synthetic source verified 2026-10-21
Providers whose site names these test classes
- andagon people GmbH integration source verified 2026-10-21
- Appmatics integration source verified 2026-10-21
- AQA Masters integration source verified 2026-10-21
- Cleverix integration source verified 2026-10-21
- Crestech Software Systems integration source verified 2026-10-21
- DeviQA integration source verified 2026-10-21
- Full Scale contract source verified 2026-10-21
- Invensis Technologies integration source verified 2026-10-21
- Outpost QA integration source verified 2026-10-21
- Q-Centric GmbH integration source verified 2026-10-21
- QA Madness contract source verified 2026-10-21 integration source verified 2026-10-21
- QA Mentor integration source verified 2026-10-21
- QASource contract source verified 2026-10-21
- QAwerk integration source verified 2026-10-21
- Quality Island contract source verified 2026-10-21 integration source verified 2026-10-21
- Soflab Technology integration source verified 2026-10-21
- SQA - Software Quality Assurance S.A. integration source verified 2026-10-21
- SunTec India integration source verified 2026-10-21
- TestFort integration source verified 2026-10-21
- Testhouse integration source verified 2026-10-21
- Testing IT integration source verified 2026-10-21
- TestMatick integration source verified 2026-10-21
- Testscenario integration source verified 2026-10-21
- Zoonou integration source verified 2026-10-21
Only on this page
Analytics event schema broken passed the integration suite that existed to catch it. In report [2], the suite had been moved to the upcoming capture snippet as part of a parallel upgrade, which removed coverage of the snippet version clients actually ran. The change then passed CI and 14 days in staging, and properties were dropped for about three days. Report [1] and report [2] both classify the impact as data.
In report [1], the fault sat in a destination integration of the event pipeline, not in the capture script. The prefix came from the newer actions destination of an event pipeline, and customers on the legacy classic destination were not affected. Recovery took a data merge rather than a rollback: the analytics platform merged the prefixed events into the original events and scrubbed the prefix by 11 June 2025.
Related incidents
- Provider API change breaks contract A third-party API changes a field or behaviour and the integration fails.
- CSP blocks required script A Content Security Policy change blocks a script the page needs.
- In-app purchase receipt validation fails Store receipts are rejected after a validation or sandbox endpoint change.
- Critical path broken in one browser A core flow fails in one browser or version after a build or polyfill change.
- Form submission silently fails A form submits without error but data is never stored after a validation or endpoint change.
Questions
What causes analytics event schema broken?
In report [2], a capture script change was incompatible with the snippet version clients used. In report [1], a destination integration added a prefix to event names between 11:00 and 16:36 UTC.
What are the symptoms of analytics event schema broken?
Custom events kept their names but lost all properties, which affected segments, funnels and data exports [2]. Event types appeared under new prefixed names in charts, the schema and dropdowns [1].
Why did tests not catch analytics event schema broken?
The integration suite had been switched to the upcoming snippet and no longer covered the version clients ran [2]. In report [1], the change sat in a vendor's destination integration, outside the sender's release.
Which test class catches analytics event schema broken, and what does it miss?
Integration tests carry the cited label from report [2]. They miss the fault when they run against the wrong snippet version. Contract tests and synthetic monitoring carry the by-design label.
Which public reports document analytics event schema broken?
Two primary reports from two organisations document it, published on 2022-08-02 [2] and 2025-06-05 [1]. Both classify the impact as data.
Should a team roll back or fix forward when analytics event schema broken happens?
Report [2] shipped a script fix and rolled the script and snippet back to the prior working version. Report [1] waited for the vendor's fix and then merged the prefixed events into the original events.
Release Incident Playbook (2026). Analytics event schema broken: symptoms, cause, and the test that catches it, content version 1.0.0. https://releasefailures.com/incidents/analytics-event-schema-broken/. Accessed 2026-10-21.