Sources

Amplitude

Import Amplitude events, definitions, annotations, and cohort metadata into the managed warehouse.

Connect your project

  1. Open Amplitude project settings, select your project, then open General. Use Manage next to API Key and Secret Key to copy the keys. You need a Manager or Admin to manage keys; a new secret is shown only when generated. If Amplitude redirects the settings link, follow Amplitude's authentication guide.
  2. In Embrasure, open Warehouse → Ingestion → New sync (or Connect warehouse source for the first source). Select Amplitude.
  3. Paste the project's API key and Secret key, then choose its US or EU data residency. Both keys are stored encrypted.
  4. Choose Last 90 days (default), Last 365 days, or Full history. This selects the event upload history, which can include events whose original event time is older. Full history reads available exports from 2012 onward and can take longer.
  5. Verify the connection, select the tables and warehouse destination, and start ingestion. An empty project can connect successfully; its events table fills as exports become available. Existing connections can discover and select the new metadata tables without resetting their event history.

What is imported

The source exposes amplitude.events plus eight metadata tables. Select the tables you need.

Raw events

ColumnsContents
app, uuidProject and event identity, used together to prevent duplicates on retries.
event_type, event_timeEvent name and original event time.
server_upload_time, server_received_timeAmplitude server timestamps.
user_id, device_id, amplitude_id, session_id, event_idUser, device, session, and event identifiers.
event_properties, user_properties, groups, group_propertiesProperties recorded on the event, preserved as JSON.
raw_eventThe complete original event, including additional fields.
sync_cursorEmbrasure's managed progress field. Keep the generated key and cursor selections.

User properties on raw events reflect each event's recorded state.

Project metadata

TableContents
amplitude.event_categoriesEvent category IDs and names.
amplitude.event_typesVisible event definitions, descriptions, display names, categories, tags, owners, and deletion flags when returned.
amplitude.event_propertiesShared property definitions plus properties for each visible, non-deleted event type, including types, descriptions, allowed values, and classifications. An empty event_type identifies a shared definition.
amplitude.user_propertiesUser-property definitions, types, descriptions, and deletion flags. These are schemas, not user profiles.
amplitude.group_propertiesShared group-property definitions from the tracking plan. Group-specific overrides are not discovered because the API requires a known group type. An empty group_type identifies shared scope.
amplitude.annotation_categoriesAnnotation category IDs and names.
amplitude.annotationsProject and chart annotations, labels, dates, details, and categories.
amplitude.cohortsDiscoverable cohort IDs, names, descriptions, original definitions, owners, sizes, archive flags, and timestamps.

Every metadata table includes raw_record, preserving the complete API object, and a managed sync_cursor. Keep the generated primary keys and cursor. Cohort definitions remain in Amplitude's original JSON format; Embrasure does not translate or execute their rules.

Metadata coverage follows the Taxonomy API, Annotations API, and Cohorts API. Hidden event types and non-discoverable cohorts are not returned by those list endpoints. The connector reads cohort metadata only and does not request membership downloads.

Cohort membership, saved chart results, current user profiles, group-specific property overrides, and session replays remain outside this connector's scope.

Sync behavior

Embrasure uses Amplitude's Export API. It reads completed upload hours and waits for the export availability delay, so expect roughly three hours plus the configured sync interval before recent events appear.

Each sync has a fixed end time and resumes unfinished hours after worker retries. A three-hour overlap on subsequent syncs refreshes recent exports. Duplicate events merge using the project and event UUID. If an archive changes while being read, that hour is replayed safely. Late client events are captured according to their upload hour, even if their event time is old.

Event deletions are not reported by the Export API. Previously imported events remain in the warehouse, including after a full resync. Timestamp values are preserved as supplied by Amplitude in UTC.

Metadata tables refresh as full snapshots on every sync, independent of the initial event history setting. Edits update existing rows. After all pages have been written successfully, rows no longer returned by Amplitude are removed. Failed or malformed responses never count as empty snapshots. If a list changes between pages, the snapshot restarts and cleans up partial rows after completion. Metadata snapshots do not retain an audit history of prior definitions.

Connection verification checks access to event exports. Selected metadata endpoints are read during sync; an access error fails that table without treating it as empty. Metadata responses are limited to 32 MiB each and individual metadata rows to 8 MiB.

Troubleshooting

  • Authentication fails: check both keys belong to the same project and the region matches. Embrasure uses amplitude.com for US projects and analytics.eu.amplitude.com for EU projects.
  • No recent events: wait for export availability and the next sync. An empty export hour is normal, not a failed sync.
  • Rate limit or timeout: retry the sync; completed progress is retained and transient HTTP errors are retried with backoff. Event-property discovery makes one request per visible event type, so projects with many event types take longer.
  • Metadata access fails: check that the project keys can access the selected API. Deselect unavailable metadata tables to keep syncing the other resources.
  • Metadata is missing: check whether Amplitude hides the event type or makes the cohort non-discoverable. Snapshot tables mirror what the project API returns.
  • An hour is too large: the Export API caps a request at 4 GB. Embrasure already requests the smallest supported window of one hour. Projects exceeding that limit need Amplitude's S3 export, which this connector does not configure.
  • Keys change: rotating the secret for the same API key is supported. A different API key or region must use a separate source so existing progress is not applied to another project.