This FAQ applies to using Heap Connect for warehouses (Redshift, BigQuery, Snowflake) only.
A given event_id across all tables corresponds with a unique event recorded by Heap. That said, the same event_id may exist in multiple event tables, as Heap provides the flexibility to create multiple event definitions that may correspond to the same raw event. For instance, you may define the following two events in the product:
Click CTA defined as Click on .cta
Click CTA – Homepage defined as Click on .cta with a filter where Path equals /
If a user clicks the CTA on the homepage, a new event will be recorded on both event tables that correspond with both event definitions. As a result, two events with the same event_id will be included in the all_events table, as it contains every recorded instance of all defined and custom events.
Additionally, pageviews can share an eventid with a _defined event. The defined event with a given event_id will have a unique time, after excluding where event_name = ‘pageviews’.