Personalize Game Session

ootb_game_session is an optional Gaming event for Optimove Personalize. Send it after an identified customer’s game session has ended and the session totals are final.

Game Launch is the minimum event required for Gaming recommendations. Game Session adds stakes, GGR, bet count and session-level value signals for Personalize methods configured to use financial or engagement intensity data.

Send this event using the Server-Side Events API.

Before you begin

  • Implement the required Game Launch event first.
  • The game must exist in Gaming Inventory.
  • context.ootb_game_code must exactly match the game’s Inventory game_code.
  • If the related Game Launch contained ootb_game_session_reference, reuse that exact value here.
  • customer must identify the customer who completed the session.

Example

{
  "tenant": "your_tenant_id",
  "timestamp": "2026-07-09T14:43:03Z",
  "event": "ootb_game_session",
  "customer": "customer_12345",
  "context": {
    "ootb_session_start_timestamp": "2026-07-09T14:22:00Z",
    "ootb_session_end_timestamp": "2026-07-09T14:43:00Z",
    "ootb_game_code": "SLOT001",
    "ootb_game_name": "Mega Fortune Slots",
    "ootb_game_category": "Slots",
    "ootb_stakes": 40,
    "ootb_gross_gaming_revenue": 10,
    "ootb_number_of_bets": 24,
    "ootb_game_session_reference": "session_7f31c9",
    "ootb_country": "UK",
    "ootb_platform": "Web",
    "ootb_channel": "Desktop"
  }
}

Context fields

FieldRequiredTypePersonalize useNotes
ootb_session_start_timestampYesString (date-time)Establishes when the session began and anchors the session interactionSend an ISO 8601 UTC timestamp. It should normally equal the launch time for the linked session.
ootb_session_end_timestampYesString (date-time)Required by the public event schema; the current Personalize mapper does not retain itSend an ISO 8601 UTC timestamp later than or equal to the start timestamp. Do not assume this field currently enables duration-based recommendations.
ootb_game_codeYesString or numberJoins the session to Gaming InventoryIt must exactly match Inventory game_code. A string is recommended.
ootb_stakesYesNumberSupplies the real-money amount wagered for value-aware methodsMust be zero or greater. Use a JSON number without a currency symbol.
ootb_gross_gaming_revenueYesNumberSupplies the session’s GGR for financial-aware methodsMay be negative. Use the same GGR definition consistently across all sessions.
ootb_number_of_betsYesNumberMeasures the amount of activity within the sessionMust be zero or greater. Send a whole number.
ootb_game_session_referenceYesStringLinks the session summary to its related eventsReuse the reference from Game Launch when one was sent. Do not reuse a session reference for unrelated sessions.
ootb_game_nameNoStringProvides readable game context for analysisUse the same name supplied in Gaming Inventory where possible.
ootb_game_categoryNoStringSupplies category context for value and engagement analysisUse a stable category vocabulary consistent with Gaming Inventory.
ootb_start_balanceNoNumberAccepted by the event schema but not currently retained by the Personalize Game Session mapperMust be zero or greater. Use the same monetary unit as the other values in the event.
ootb_end_balanceNoNumberAccepted by the event schema but not currently retained by the Personalize Game Session mapperMust be zero or greater.
ootb_real_win_amountNoNumberAccepted by the event schema but not currently retained by the Personalize Game Session mapperMust be zero or greater.
ootb_bonus_usedNoNumberAccepted by the event schema but not currently retained by the Personalize Game Session mapperMust be zero or greater.
ootb_bonus_win_amountNoNumberAccepted by the event schema but not currently retained by the Personalize Game Session mapperMust be zero or greater.
ootb_languageNoStringSupplies language context for configured analysisUse a stable language naming convention.
ootb_countryNoStringSupplies geographic context for configured analysisUse one stable country convention across all Gaming events.
ootb_platformNoStringSupports platform-specific analysisExamples include iOS, Android and Web.
ootb_launch_locationNoStringIdentifies the container from which the linked game session beganUse the same placement name as the related launch where possible.
ootb_launch_location_indexNoNumberRecords the game’s position inside the launch containerMust be zero or greater. Keep indexing consistently zero-based or one-based.
ootb_channelNoStringSupplies access-channel contextExamples include Mobile, Desktop and Tablet.
ootb_brandNoStringNot currently retained by the Personalize Game Session mapperThe top-level tenant and Optimove configuration determine routing.
ootb_licenseNoStringSupplies regulatory or jurisdiction context where configuredUse the same license identifiers across Gaming events.

Linking launch and session data

The following fields connect the session to the customer journey and Inventory:

Game Session customer = related Game Launch customer
Game Session context.ootb_game_code = Gaming Inventory game_code
Game Session context.ootb_game_session_reference = related Game Launch session reference

Do not replace the Inventory game code with a provider name, display name or internal session identifier.

When this event is needed

Implement Game Session when your selected Personalize methods use one or more of these signals:

  • total stakes;
  • gross gaming revenue;
  • number of bets.

If your implementation only requires customer-to-game history and standard game affinity, Game Launch remains the required event.

Validation checklist

  • The wrapper contains tenant, timestamp, event, customer and context.
  • event is exactly ootb_game_session.
  • The session start is not later than the session end.
  • ootb_game_code exists in the latest successfully processed Gaming Inventory.
  • All seven required context fields are present.
  • ootb_number_of_bets is a non-negative whole number.
  • Monetary fields are JSON numbers and use one consistent monetary unit.
  • The session reference is stable across related events and unique to the intended session.

Did this page help you?