when we initiate a data deletion, does it delete all events with the same $insert_id or only the ones that match the deletion query?
Hi Vlad- Julianne from Mixpanel Support here!
Mixpanel expects the $insert_id to be unique to each event. Are the events duplicates that share the same $insert_id, or are they completely separate events? Can you share more on how the deletion is targeting the events?
The deletion targets events based on the criteria specified, so having the same $insert_id as an event targeted for deletion wouldn't automatically mean another event with the same $insert_id would be deleted. However, if you're targeting based on deletion criteria that both events meet, then both would be deleted. 
they are essentially the same event sent twice, but on occasion they may have a minor custom property be different; if a deletion query used that property, would that leave behind events with the same insert_id, event name and timestamp, but a different value for that property?
Ah- that makes sense. One issue you may run into is that, due to the query time de-duplication, you may not be able to target the specific instance of the event for deletion. That said, let me double-check on the behavior in that specific case.
Heard back from engineering on this, and there isn't a guaranteed behavior since it would depend on which event meets the criteria, as well as whether we had already done compaction-time deduplication before the deletion occurs. Since Mixpanel doesn't support upserts, ideally, there shouldn't be non-duplicate duplicates to begin with. Given that there isn't a guaranteed consistent behavior, I'd recommend fully deleting the event data and, once the deletion is processed, uploading the corrected event data.




