Skip to main content

Overview

Reelevant can synchronise events collected through your Datasources into a dedicated analytics database. This database powers statistical dashboards, scoring models, and deduplication — giving you a reliable, query-ready store of all purchase and navigation activity. Synchronisation is configured per Datasource through destinations. When a destination is configured, every event processed by that Datasource is automatically written to the analytics database alongside its normal processing.

Supported Datasource Modes

Analytics database sync works across all ingestion modes:

Table Types

Two table types are supported, determined by the Datasource subtype:

Purchases

Stores transactional purchase events. Each row represents a single product purchased by a user. All columns are always present in the table; values are set to null when no matching Field Mapping type exists.

Website Events

Stores navigation and behavioural events. Each row represents a single tracked interaction. Mandatory columns — always present in the table, set to null when no matching field exists: Optional columns — included only when the Datasource’s Field Mapping contains the corresponding type:
Multiple Datasources can write to the same analytics table. For example, a Google Tag Manager ingester and a Reelevant Analytics ingester can both feed into the same website events table. The platform maps each Datasource’s fields to the correct canonical columns based on their Field Mapping types.

How Field Mapping Drives the Schema

The analytics database schema is derived from your Datasource’s Field Mapping. You do not need to manually define columns — the platform maps your configured fields to the correct analytics columns based on their assigned semantic type. Each field in your Field Mapping has an assigned type (e.g., User, Event Name, Datetime, URL). The platform matches these types against the canonical column definitions shown in the tables above and writes each value to the corresponding canonical column. For example, if your Datasource has a field named event_time with type Datetime, its value is written to the timestamp column — regardless of the original field name.
Only fields with recognised semantic types (User, Event Name, Datetime, Reference ID, URL, Price, Transaction ID, User Agent, etc.) are written to canonical analytics columns. Fields assigned generic types like “Text” or “Number” are not synchronised to the analytics database.

Configuring a Destination

Destinations are configured in the Datasource’s storage options. Each destination targets a single table in the analytics database: Only the sub-options you provide are updated; the rest of the storage options are left unchanged. Two destinations cannot point at the same dataset and table name.
Destinations are only supported for the two tracking table types — purchases and website events. While the storage options technically accept a destination on any Datasource, synchronisation is only wired up for tracking Datasources.
Destinations are set through the Datasource’s patch step. The example below configures a single BigQuery destination for the Datasource 6718ad69056acb425fbecf1a (replace the bearer token with your access token — see Authentication):
Once a destination is configured, synchronisation begins automatically on the next Datasource execution or event ingestion.

Deduplication

Duplicate events can occur due to retries, reprocessing, or upstream data issues. Reelevant provides an optional deduplication mechanism that runs periodically to remove duplicates from the analytics database.

How It Works

A scheduled job inspects all Datasources with deduplication enabled and removes duplicate rows based on a fixed deduplication key per table type: When duplicates are found, the most recent row (by partition time) is kept and older duplicates are removed.

Enabling Deduplication

Deduplication is enabled per destination using the deduplication option:
Deduplication runs on a fixed schedule (every 12 hours). It is not triggered in real time — brief periods of duplicate data may exist between runs.

Prerequisites

Before enabling analytics database sync for a Datasource:
  1. Field Mapping must use semantic types — the Datasource must have fields mapped to the correct semantic types (User, Datetime, Reference ID, Event Name, etc.) so the platform can map them to canonical analytics columns. Fields with generic types (Text, Number) are not synchronised.
  2. The Datasource must be published — only published (active) Datasources write to the analytics database.
  3. A destination must be configured — your Technical Account Manager or administrator will configure the destination dataset and table name for your Datasource.

Migration from Legacy Sync

If your Datasources previously synchronised to the analytics database through an intermediary relay system, the new direct-sync approach replaces it entirely. The behaviour is the same — events are written to the same tables with the same schema — but with lower latency and simpler architecture. No action is required on your side. Your administrator will update the Datasource configuration to use the new destination-based approach, and synchronisation continues seamlessly.