Documentation Index

Fetch the complete documentation index at: https://docs.xtremepush.com/llms.txt

Use this file to discover all available pages before exploring further.

Data Integration Requirements

Prev Next

Intended Audience

This article is for the technical team responsible for configuring your event data integration. It covers the following:

  • The events required to use Xtremepush Intelligence

  • How event categories map to the Intelligence model

  • How to prepare before the data mapping stage begins

For the onboarding process and timeline, see the Setup Overview. For integration mechanics, see the Choosing your integration method section below.

What Intelligence needs from your data

Intelligence classifies each incoming event into two things:

  1. Category: The business domain of the event (casino, sports, bingo, deposit, and so on)

  2. Four payload extracts: The specific values needed to compute metrics: monetary amount, transaction key, real-money vs. bonus indicator, and item dimension

The category is determined during the data mapping stage based on your event names and structure. The four extracts are fields you need to ensure are present in your event payloads.

Supported event categories

Xtremepush maps your existing events to the categories below during the data mapping stage.

Category

What it covers

Value direction

deposit

Player deposits

Credit (operator to player)

withdrawal

Player withdrawals

Debit (player to operator)

casino

Slots, live dealer, table games, virtual sports

Debit (wager) + Credit (payout)

sports

Fixed-odds sports, pools and tote betting

Debit (wager) + Credit (settlement)

bingo

Bingo tickets, instant bingo

Debit (stake) + Credit (payout)

bonus

Bonuses awarded and consumed

Credit (awarded) and/or Debit (used)

Categories requiring a debit and credit pair (casino, sports, bingo) need both the wager event and the payout or settlement event to be sent, each with the same transaction key, for GGR calculation to work.

Sub-vertical classification

Casino is a single category covering multiple game types. There is no separate category for live dealer, virtual sports, or table games, these are all sent as casino events. Use the item field (the game name or game code) to carry the sub-vertical detail.

Game type

Category

Use item field for

Slots

casino

Game name or game code

Live dealer / live casino

casino

Game name

Virtual sports

casino

Game or event name

Table games (roulette, blackjack, baccarat)

casino

Game name

Bingo

bingo

Room name or game name

Fixed-odds sports

sports

Sport name

Pools / tote betting

sports

Sport name

This means a single casino event stream covers your full casino product. The item field is what powers per-game breakdowns in the pre-built datasets.

The four required payload extracts

For Intelligence to compute GGR, deposit metrics, and other aggregates, four pieces of information must be present inside the event's value object. The field names are client-specific, Intelligence maps to whatever your system uses, but all four must be present for full metric coverage.

1. Monetary value

The stake or payout amount as a numeric value.

  • Casino / sports / bingo debit events: the wager or stake amount

  • Casino / sports / bingo credit events: the payout or settlement amount

  • Deposits: the deposit amount

  • Withdrawals: the withdrawal amount

2. Transaction key

A unique identifier that links a wager to its corresponding payout. The same key must appear on both the debit event (bet placed) and the credit event (payout or settlement). This is what makes GGR calculation possible.

  • For casino: typically a round ID, game session ID, or bet ID

  • For sports: the bet reference or settlement ID

  • For bingo: the game activity ID or ticket ID

  • For deposits and withdrawals: the transaction or ledger ID

If your wager and payout events use different identifiers, flag this during the data mapping stage, there are options for handling it.

3. Real-money vs. bonus distinction

Intelligence tracks real-money and bonus play separately. Without this, GGR will be overstated by bonus wagers and cannot be corrected retrospectively.

There is no required field name for this, Intelligence maps to whatever mechanism your platform already uses. The common approaches are:

  • A boolean or status field on the event: for example, a field that indicates whether the wager used real funds or a bonus. If this field already exists in your data under any name, the data team will map to it.

  • Separate event names: if your platform fires different event names for real-money vs. bonus activity (for example, a real wager and a free bet as distinct event types), these can be mapped independently.

  • A type or source field with distinguishable values: for example, a field that indicates payment method or wallet type, where bonus wagers have a consistently identifiable value.

If your data does not currently distinguish real-money from bonus activity in any of these ways, you will need to add an indicator before the integration goes live. Any consistent, queryable field works, the specific name does not matter. Flag this during the data mapping stage and the team will advise on the simplest approach for your platform.

4. Item dimension

The game name, sport name, or bingo room that the event relates to. This field is optional in the sense that omitting it will not break the core metrics, but it is required if you want:

  • Per-game casino analytics in the pre-built datasets

  • Per-sport betting breakdowns

  • Per-room bingo analytics

Event envelope

Both the REST API and Kafka integration use the same structure. The value object carries all event-specific properties, Intelligence reads from whichever fields you use inside it.

The field names inside value are illustrative, your system will use whatever names already exist in your payload. The data mapping stage establishes how each field maps to Intelligence.

Example: casino wager event

{
  "event": "casino_bet",
  "user_id": "player_12345",
  "timestamp": "2024-06-01 14:32:00.000",
  "value": {
    "stake": 5.00,
    "round_id": "rnd_abc789",
    "game_name": "Starburst",
    "is_real_money": true
  }
}

stake is the monetary value, round_id is the transaction key, game_name is the item dimension, is_real_money is the bonus indicator, using this client's own field names.

Example: sports bet event

{
  "event": "sports_wager",
  "user_id": "player_12345",
  "timestamp": "2024-06-01 14:35:00.000",
  "value": {
    "wager_amount": 20.00,
    "bet_id": "bet_xyz456",
    "sport": "Football",
    "is_free_bet": false
  }
}

wager_amount is the monetary value, bet_id is the transaction key, sport is the item dimension, is_free_bet is the bonus indicator.

Bonus event structure

Bonus events support a sub-category to indicate which vertical the bonus is attached to. This enables per-vertical bonus attribution in your analytics.

Sub-category

What it covers

casino

Casino free spins or game credits

sports

Sports free bets

deposit

Deposit match bonuses

wallet

Wallet credits or general balance bonuses

free_spin

Free spin grants tracked separately from bet events

Sub-categories are configured during the data mapping stage and do not require changes to your event schema.

Non-transactional events

The following event types can be sent and will flow into the Intelligence event store, but do not feed into computed player attributes (GGR, deposits, wagering metrics):

Category

Examples

Used for

authentication

Login, registration

Campaign attribution, last-login tracking

session

Session start, session end

Attribution lookback, session frequency

f2p

Free-to-play game events

F2P engagement tracking

activity

Promo opt-ins, quest completions, jackpot opt-ins

Lifecycle event tracking

These events are valid and useful for campaign targeting via raw event conditions, but they will not appear in your GGR, deposit, or betting totals.

Choosing your integration method

Method

Best for

Documentation

REST API

Custom platforms, real-time server-side event streaming

Hit Event API

Kafka

High-volume operators, existing Kafka infrastructure

Kafka Integration Guide · Topic Formats & Payload Requirements

High-volume aggregation

Platforms with very high event throughput requiring upstream sessioning

Aggregating High-Volume Events

Partner integration

Supported iGaming platform providers (GiG, Bede, OpenBet, EveryMatrix, and others)

Contact your account team to confirm platform support

CDP / Reverse ETL

Segment, Hightouch, or similar reverse ETL tools

Contact your account team

The REST API and Kafka integrations use the same event envelope structure, the value object content is identical regardless of which transport you use.

Pre-integration checklist

Complete the data mapping form provided by your account team before or during your integration. The form covers the questions below. Having clear answers speeds up the data mapping stage significantly.

Event coverage

  • Which event names in your system correspond to each Intelligence category (casino bet, sports bet, bingo stake, deposit, withdrawal, bonus awarded, bonus used)?

  • Do you send separate events for wager placement and payout/settlement, or a single event?

  • Do you have bingo as a product? If so, what event names cover bingo stakes and payouts?

Payload content

  • What field name holds the monetary value (stake amount, payout amount, deposit amount)?

  • What field name is your transaction key, the ID that appears on both the wager and the payout?

  • How do you distinguish real-money from bonus events, a flag field, separate event names, or another approach?

  • What field carries the game name, sport name, or bingo room?

Data availability

  • Is historical event data available? If so, from what date?

  • Are there any known gaps in historical data (platform migrations, schema changes)?