This article covers some frequently asked questions about how to modify or delete historical data.
Generally speaking, the Amplitude architecture is based on pre-aggregated sets by the hour, day, week and month for users and events. While this allows the platform to scale well, one tradeoff of that is the fact that data is immutable.
- How do I modify events that have already been ingested by Amplitude?
- I updated user properties using the Identify API. Why are there still “none” values in my charts?
- I accidentally sent an event to a user. How do I delete this specific event for this specific user?
- How do I backfill historical data into Amplitude?
How do I modify events that have already been ingested by Amplitude?
It is not possible to modify events that have already been ingested. However, there is a potential workaround:
- Export all project data using the Export API
- Clean the data (i.e make the changes to the data)
- Upload the cleaned data into a new project using the Batch API
I updated user properties using the Identify API. Why are there still “none” values in my charts?
Using the Identify API only updates user property values for future events. Data that Amplitude has already ingested cannot be changed. The user will have to fire another event in order for Amplitude to apply the updated property value. More details on how user properties are updated can be found here.
I accidentally sent an event for a user. How do I delete this specific event for this specific user?
You cannot. Ingested data is immutable. However, you can try the following process for similar results:
- Delete/Block the event
- This will prevent the event from coming into Amplitude for all users
- The event will still appear in the users event stream, but will not be available for querying
- The workaround mentioned in Question 1 above.
How do I backfill historical data into Amplitude?
Please see this Self Data Backfill Guide in our Developers Center.