Event-based Integration (EBI)

This page outlines the requirements, assumptions, and supported behaviors for implementing an Events-based Integration (EBI) with Optimove. Use it to scope an integration, confirm what the batch pipeline supports, and avoid common setup issues.

The EBI is an onboarding path for clients who Stream event-based data rather than maintaining batch exports. Optimove ingests out-of-the-box (OOTB) events, maps and processes them through the batch flow, and configures the instance based on the incoming events — no additional batch infrastructure required.

How the Integration Works

The EBI operates as a cold start: historical data is not ingested, and data becomes available only from the moment the integration goes live.

  • Send events according to Optimove's OOTB event definitions. This lets Optimove automatically ingest and process event-based data and configure the instance from incoming events.
  • OOTB events drive automatic mapping and processing in the batch flow to support Optimove's OOTB solution.
  • Extend beyond OOTB using self-serve tools — Real-Time Attributes, API Attributes, and others.
📘

For the full event schemas and mandatory properties, see Optimove's OOTB Events for Data Integration and the Mandatory Properties for Standard Events reference.

Assumptions & Constraints

Review these constraints carefully — they define the boundaries of what the integration supports and how edge cases are handled.

Historical Data (Cold Start)

  • The EBI does not include historical data.
  • Data becomes available only from the moment the integration goes live.
  • Retroactive updates after go-live are ingested as part of BAU and handled according to Optimove's standard practices.

Bespoke Attributes (Self-Serve Model)

The batch pipeline supports standardized OOTB attributes only. Any bespoke (custom) attributes must be created outside the integration process using self-serve tools:

  • Real-Time Attributes derived from event parameters
  • Data Studio (CSV-based ingestion)
  • Optimove APIs for direct attribute updates

This keeps delivery fast and reduces dependency on batch releases. For any use case that falls outside these guidelines, use Real-Time Attributes, Data Studio, or Optimove APIs rather than the batch pipeline.

Event Log Capacity

Event volume sent to Optimove must comply with agreed capacity limits:

  • ootb_registration and ootb_user_details_update have a rate limit of 50 requests per 10 seconds.
  • The server-side rate limit is up to 10,000 requests per second, with each request containing a maximum of 10 events.
ℹ️

Events are ingested based on event timestamps, not processing time. See Optimove's OOTB Events for Data Integration for full details.

Event Timestamp & UTC Alignment

Event timestamps may experience minor misalignments due to:

  • Data processing delays
  • Time zone normalization (UTC)

All event timestamps are processed and stored in UTC+0.

Monetary Amounts & Currency

  • All monetary values must be sent in the Optimove site's configured currency.
  • Currency conversion is not handled as part of the EBI.

Mandatory Parameters for OOTB Events

All mandatory and enrichment parameters defined for Optimove's OOTB events must be provided. Missing required parameters may result in:

  • Event rejection
  • Incomplete batch records
  • Attribute calculation issues
⚠️

Parameters sent as null values will be reflected in the customer profile per instance. See the OOTB Events per Vertical table below for the full list of mandatory and enrichment parameters per vertical.

OOTB Events per Vertical

The following table lists the required OOTB events for each supported vertical. A ✓ indicates the event is required for that vertical; – indicates it is not applicable. Primary keys (PKs) identify unique event records.

OOTB EventPrimary Keys (PKs)Multi-Sport & CasinoSportCasinoSweepstakesEcom
ootb_registrationcustomer
ootb_user_details_updatecustomer
ootb_depositcustomer, ootb_transaction_id, timestamp
ootb_withdrawalcustomer, ootb_transaction_id, timestamp
ootb_game_sessioncustomer, timestamp, ootb_game_code
ootb_sports_bet_placedcustomer, timestamp, ootb_betslip_key, ootb_bet_key
ootb_sports_bet_settledcustomer, timestamp, ootb_betslip_key, ootb_bet_key
ootb_sweepstakes_game_sessioncustomer, timestamp, ootb_game_code
ootb_product_order_completedcustomer, timestamp, ootb_order_id, ootb_item_order_id, ootb_product_id
ootb_product_refundcustomer, timestamp, ootb_order_id, ootb_item_order_id, ootb_product_id, ootb_refund_id

For per-event parameter definitions, see the relevant event pages under Optimove's OOTB Events for Data Integration.