Database Schema
Describing the key tables and fields inside the ClickHouse database
Important: Event Storage Migration
As part of our ongoing infrastructure improvements, event data is now stored directly in ClickHouse. The following tables are deprecated and will no longer receive new data:
payment_events, bonus_events, login_events, sports_events
All incoming events are written to their corresponding cw_ tables (e.g. cw_payment_events, cw_bonus_events, etc.).
To query both historical and current data seamlessly, use the combined_ views (e.g. combined_payment_events), which unify records from the legacy and current tables.
ETL tables
Insights ETL tables are our internal ETL processes and should not be used for querying.
CW prefixed tables
Tables prefixed with “cw_” which are not documented here are for internal use only.
Join engine tables
Join engine tables are imported into ClickHouse from MySQL using an internal service that keeps the ClickHouse data continuously synchronized. We transfer the data to ClickHouse due to its significantly better performance.
insights.activity_conversion
Includes conversion data for Activities that were triggered from Fast Track CRM
Partition By: toUInt64(activity_id / 100)
Order By: (brand_id, activity_id, action_group_id, user_id, trigger_hash)
Columns
| name | type | description |
|---|---|---|
brand_id | UInt16 | Fast Track Identifier for the Environment |
activity_id | UInt32 | Unique identifier of the Activity that fired - can be looked up in the table activitymanager.Activities |
action_group_id | UInt32 | Unique identifier of the Action Group - can be looked up in the activitymanager.ActivityActionGroups table |
user_id | String | Unique identifier of the user - can be looked up in the insights.user_details_join_engine table |
trigger_hash | String | Hash of the message that triggered the activity. If an activity is triggered multiple times for a single user, there will be two entries in the table having a different trigger_hash |
activity_name | SimpleAggregateFunction(anyLast, Nullable(String) | Name of the Activity that fired |
trigger_id | Nullable(UInt64) | Unique identifier of the Trigger associated with the Activity - can be looked up in the activitymanager.Triggers table |
trigger_type | SimpleAggregateFunction(anyLast, Nullable(String)) | What type of event triggered the activity. Eg. TimeEvent, EnrichedPayment |
trigger_name | SimpleAggregateFunction(anyLast, Nullable(String)) | The name of the trigger that triggered the Activity |
segment_id | Nullable(UInt64) | Unique identifier of the Segment associated with the Activity - can be looked up in activitymanager.Segments table |
segment_name | SimpleAggregateFunction(anyLast, Nullable(String)) | Name of the segment associated with the Activity |
activity_fire_timestamp | SimpleAggregateFunction(anyLast, Nullable(DateTime)) | The timestamp at which the Activity was triggered (UTC) |
conversion_period_hours | Nullable(UInt64) | How long is the conversion period of the Activity. Logins / Deposits made by the player outside of the Conversion Period are not associated with the Activity |
count_of_logins | UInt8 | How many logins the player made from the time the Activity fired until the Conversion Period ended |
count_of_deposits | UInt8 | How many deposits (payments with type = credit and status = approved), the player made between the activity_fire_timestamp and the end of the converison period |
sum_of_deposits | Float64 | The sum of the base amount (amount * exchange_rate) of the deposits (payments with type = credit and status = approved), the player made between the activity_fire_timestamp and the end of the converison period |
email_sent | UInt8 | Will be non-zero if an email was sent to the player for an Activity fire |
email_delivered | UInt8 | Will be non-zero if an email was delivered to the player for an Activity fire |
email_opened | UInt8 | Will be non-zero if an email was opened by the player for an Activity fire |
email_clicked | UInt8 | Will be non-zero if the link in an email was clicked by the player for an Activity fire |
email_spam | UInt8 | Will be non-zero if an email was marked as spam by a player for an Activity fire |
email_processed | UInt8 | Will be non-zero if an email was processed for an Activity fire |
email_deferred | UInt8 | Will be non-zero if an email was deferred for an Activity fire |
email_bounced | UInt8 | Will be non-zero if an email was bounced for an Activity fire |
email_unsubscribed | UInt8 | Will be non-zero if the player clicked the unsubscribe link for an Activity fire |
email_dropped | UInt8 | Will be non-zero if an email was dropped for an Activity fire |
email_address | Nullable(String) | If an email Action was sent as part of the activity, this field shows the email address of the player at the time of Activity fire |
email_recipient_name | SimpleAggregateFunction(anyLast, Nullable(String)) | If an email Action was sent as part of the Activity, this field shows the recipient name of the email that was sent |
email_subject | SimpleAggregateFunction(anyLast, Nullable(String)) | If an email Action was sent as part of the Activity, this field shows the subject line of the email that was sent at the time of activity fire |
email_template_id | SimpleAggregateFunction(anyLast, Nullable(String)) | The template id used for the email at the time of activity fire |
email_userlang | SimpleAggregateFunction(anyLast, Nullable(String)) | The language of the user at the time of activity fire |
sms_sent | UInt8 | Will be non-zero if an sms was sent to a player for an activity fire |
sms_delivered | UInt8 | Will be non-zero if an sms was delivered to a player for an activity fire |
sms_clicked | UInt8 | Will be non-zero if an sms link was clicked by the player for an activity fire |
sms_unsubscribed | UInt8 | Will be non-zero if the player unsubscribed from an sms communication sent by the Activity |
sms_recipient_number | SimpleAggregateFunction(anyLast, Nullable(String)) | The contact number of the player targeted by the Activity |
sms_text | SimpleAggregateFunction(anyLast, Nullable(String)) | The text of the sms sent by the Activity |
notification_sent | UInt8 | Will be non-zero if a notification was sent for an Activity fire |
notification_opened | UInt8 | Will be non-zero if a notification was opened by a user for an Activity fire |
notification_clicked | UInt8 | Will be non-zero if a notification link was clicked by a player for an Activity fire |
notification_type | SimpleAggregateFunction(anyLast, Nullable(String)) | The type of notification sent by the Activity. (ex: shoutout). |
notification_title | SimpleAggregateFunction(anyLast, Nullable(String)) | The title of the notification sent by the Activity |
notification_message | SimpleAggregateFunction(anyLast, Nullable(String)) | The message of the notification sent by the Activity |
notification_display_type | SimpleAggregateFunction(anyLast, Nullable(String)) | The display type of the notification sent by the Activity |
notification_preview_text | SimpleAggregateFunction(anyLast, Nullable(String)) | The preview text of the notification sent by the Activity |
notification_footer_text | SimpleAggregateFunction(anyLast, Nullable(String)) | The footer text of the notification sent by the Activity |
notification_cta_text | SimpleAggregateFunction(anyLast, Nullable(String)) | The text of the call to action in the notification sent by the Activity |
notification_cta_link | SimpleAggregateFunction(anyLast, Nullable(String)) | The link of the call to action in the notification sent by the Activity |
notification_cta2_text | SimpleAggregateFunction(anyLast, Nullable(String)) | The second text of the call to action in the notification sent by the Activity |
notification_cta2_link | SimpleAggregateFunction(anyLast, Nullable(String)) | The second link of the call to action in the notification sent by the Activity |
last_modified_timestamp | Nullable(DateTime) | Internal use: The last modified timestamp for the row in the database. |
lifecycle_id | SimpleAggregateFunction(anyLast, Nullable(Int32)) | The Lifecycle Id that the Activity is part of - non null for Activities that are 1:1 Experiences and inside a Lifecycle |
lifecycle_version_id | SimpleAggregateFunction(anyLast, Nullable(Int32)) | The Lifecycle Version Id that the Activity is part of - non null for Activities that are 1:1 Experiences and inside a Lifecycle |
singularity_model_id | SimpleAggregateFunction(anyLast, Nullable(UInt32)) | An identifier for the Singularity Model - this field is non null for Activities that are 1:1 Experiences |
eligibility_model_rules | SimpleAggregateFunction(anyLast, Nullable(String)) | Eligibility Model rules for Activities that are 1:1 Experiences |
scoring_model_rules | SimpleAggregateFunction(anyLast, Nullable(String)) | Scoring Model rules for Activties that are 1:1 Experiences |
collection_id | SimpleAggregateFunction(anyLast, Nullable(UInt32)) | For Activities that are 1:1 Experiences, this is an identifier for the Collection used - can be looked up in activitymanager.collections table |
collection_name | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the name of the Collection that was used |
collection_version_id | SimpleAggregateFunction(anyLast, Nullable(UInt32)) | For Activities that are 1:1 Experiences, this is an identifier for the Collection Version that was used - can be looked up in activitymanager.collection_versions table |
collection_version_description | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the description of the Collection Version that was used |
collection_version_major_version_number | SimpleAggregateFunction(anyLast, Nullable(UInt8)) | For Activities that are 1:1 Experiences, this is the major version number of the Collection Version that was used |
collection_version_minor_version_number | SimpleAggregateFunction(anyLast, Nullable(UInt8)) | For Activities that are 1:1 Experiences, this is the minor version number of the Collection Version that was used |
collection_version_patch_version_number | SimpleAggregateFunction(anyLast, Nullable(UInt8)) | For Activities that are 1:1 Experiences, this is the patch version number of the Collection Version that was used |
content_id | SimpleAggregateFunction(anyLast, Nullable(UInt32)) | For Activities that are 1:1 Experiences, this is an identifier for the Content that was used - can be looked up in the activitymanager.contents table |
content_name | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the name of the Content that was used |
content_version_id | SimpleAggregateFunction(anyLast, Nullable(UInt32)) | For Activities that are 1:1 Experiences, this is an identifier for the Content Version that was used - can be looked up in the activitymanager.content_versions table |
content_version_description | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the description of the Content Version that was used |
content_version_major_version_number | SimpleAggregateFunction(anyLast, Nullable(UInt8)) | For Activities that are 1:1 Experiences, this is the major version number of the Content Version that was used |
content_version_minor_version_number | SimpleAggregateFunction(anyLast, Nullable(UInt8)) | For Activities that are 1:1 Experiences, this is the minor version number of the Content Version that was used |
content_version_patch_version_number | SimpleAggregateFunction(anyLast, Nullable(UInt8)) | For Activities that are 1:1 Experiences, this is the patch version number of the Content Version that was used |
content_version_classifications | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the Classifications of the of the Content Version that was used |
player_features | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the Player Feature values at the time of Activity Fire |
system_acquisition_source | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the Acquisition Source Feature at the time of Activity fire. |
system_active_state | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the Active State Feature at the time of Activity fire. |
system_conversion_state | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the Conversion State Feature at the time of Activity fire. |
system_first_deposit_amount | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the First Deposit Amount Feature at the time of Activity fire |
system_inactive_state | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the Inactive State Feature at the time of Activity fire |
system_lifestage | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the Lifestage Feature at the time of Activity fire |
system_most_active_day_of_week | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the Most Active Day of the Week Feature at the time of Activity fire |
system_most_cost_efficient_outbound_channel | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the Most Cost Efficient Outbound Channel Feature at the time of Activity fire |
system_preferred_offer_type | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the Preferred Offer Type Feature at the time of Activity fire |
system_opted_in_channels | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the Opted In Channels Feature at the time of Activity fire |
system_predicted_deposit_bracket | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the Predicted Deposit Bracket Feature at the time of Activity fire |
system_predicted_most_optimal_send_out_time_of_the_day | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the Optimal Time of the Day Feature at the time of Activity fire |
system_previously_played_products | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the player's value for the Previously Played Products Feature at the time of Activity fire |
system_deposit_requirement | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this shows the Classification for the Deposit Requirement Feature for the Content Version that was used |
system_offer_type | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the Classification for the Offer Type Feature for the Content Version that was used |
system_communication_channels | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the Classification for the Communication Channels Feature for the Content Version that was used |
system_product | SimpleAggregateFunction(anyLast, Nullable(String)) | For Activities that are 1:1 Experiences, this is the Classification for the Product Feature for the Content Version that was used |
count_of_bonuses_created | Int32 | If a bonus was credited by the Activity, this field shows the count of bonuses sent by the activity with status = 'Created' (This field requires the bonus reporting integration to be implemented) |
count_of_bonuses_completed | Int32 | If a bonus was credited by the Activity, this field shows the count of bonuses sent by the activity with status = 'Completed' (This field requires the bonus reporting integration to be implemented) |
count_of_bonuses_expired | Int32 | If a bonus was credited by the Activity, this field shows the count of bonuses sent by the activity with status = 'Expired' (This field requires the bonus reporting integration to be implemented) |
count_of_bonuses_lost | Int32 | If a bonus was credited by the Activity, this field shows the count of bonuses sent by the activity with status = 'Lost' (This field requires the bonus reporting integration to be implemented) |
count_of_bonuses_forfeited | Int32 | If a bonus was credited by the Activity, this field shows the count of bonuses sent by the activity with status = 'Forfeited' (This field requires the bonus reporting integration to be implemented) |
count_of_bonuses_autocompleted | Int32 | If a bonus was credited by the Activity, this field shows the count of bonuses sent by the activity with status = 'Autocompleted' (This field requires the bonus reporting integration to be implemented) |
count_of_bonuses_turned_real | Int32 | If a bonus was credited by the Activity, this field shows the count of bonuses sent by the activity with bonus_turned_real > 0 (This field requires the bonus reporting integration to be implemented) |
sum_of_bonus_amount_granted | Float64 | If a bonus was credited by the Activity, this field shows the total amount of bonus granted in base currency [ sum(amount * exchange_rate) for bonuses with status = 'Created' ](This field requires the bonus reporting integration to be implemented) |
sum_of_bonus_amount_turned_real | Float64 | If a bonus was credited by the Activity, this field shows the total amount of bonus turned real in base currency [ sum(bonus_turned_real * exchange_rate) for bonuses ](This field requires the bonus reporting integration to be implemented) |
bonus_code | SimpleAggregateFunction(groupUniqArrayArray, Array(String)) | If a bonus was credited by the Activity, this field shows the bonus code of the bonus given by the activity. (ex: gamification-freespins) (This field requires the bonus reporting integration to be implemented) |
bonus_product | SimpleAggregateFunction(groupUniqArrayArray, Array(String)) | If a bonus was credited by the Activity, this field shows the product of the bonus given by the activity. (ex: Sportsbook) (This field requires the bonus reporting integration to be implemented) |
bonus_type | SimpleAggregateFunction(groupUniqArrayArray, Array(String)) | If a bonus was credited by the Activity, this field shows the type of the bonus given by the activity. (ex: Freespins) (This field requires the bonus reporting integration to be implemented) |
bonus_id | SimpleAggregateFunction(groupUniqArrayArray, Array(String) | If a bonus was credited by the Activity, this field shows the identifier of the bonus given by the activity (This field requires the bonus reporting integration to be implemented) |
insights.player_activity
Integration data aggregated every fifteen minutes for each user.
Partition By: (toYYYYMM(window_timestamp), partition_key)
Order By: (brand_id user_id, window_timestamp, game_name, casino_vendor_name, game_type, game_id, casino_vendor_id, payment_vendor_id, bonus_code, bonus_type, bonus_product)
| name | type | description |
|---|---|---|
brand_id | UInt32 | Fast Track identifier for the Environment |
user_id | String | Unique identifier of the user - can be looked up in the insights.user_details_join_engine table |
window_timestamp | DateTime | Fifteen minutely timestamp |
partition_key | String | The partition key used to partition the player activity table. (ex: sports, payment, bonus, casino, and login) |
game_name | String | The casino game name of the game played by a user during the window timestamp. |
casino_vendor_name | String | The casino vendor name for the game played by a user during the window timestamp |
game_type | String | The type of casino game played by a user during the window timestamp |
game_id | String | The unique identifier for the casino game |
casino_vendor_id | String | The unique identifier for the casino vendor |
count_of_bets | UInt32 | The count of casino transactions with type = bet or real_bet_base + bonus_bet_base > 0 |
count_of_wins | UInt32 | The count of casino transactions with type = win or real_win_base + bonus_win_base > 0 |
sum_of_real_bets | Float64 | The sum of casino real bets played.
Casino formula: wager_amount*exchange_rate
Game Round Events formula: real_bet_base |
sum_of_bonus_bets | Float64 | The sum of casino bonus bets played.
Casino formula: bonus_wager_amount*exchange_rate
Game Round Events formula: bonus_bet_base |
sum_of_locked_bets | Float64 | The sum of casino locked bets played.
Casino formula: locked_wager_amount*exchange_rate
Game Round Events formula: 0 |
sum_of_total_bets | Float64 | The sum of casino total bets played.
Casino formula: amount*exchange_rate
Game Round Events formula: bonus_bet_base + real_bet_base |
sum_of_real_wins | Float64 | The sum of casino total real wins.
Casino formula: wager_amount*exchange_rate
for type win.
Game Round Events formula: real_bet_base |
sum_of_bonus_wins | Float64 | The sum of casino bonus wins.
Casino formula: bonus_wager_amount*exchange_rate
for type win.
Game Round Events formula: bonus_bet_base |
sum_of_locked_wins | Float64 | The sum of casino locked wins.
Casino formula: locked_wager_amount*exchange_rate
for type win.
Game Round Events formula: 0 |
sum_of_total_wins | Float64 | The sum of casino total wins.
Casino formula: amount*exchange_rate
for type win.
Game Round Events formula: real_win_base + bonus_win_base |
first_bet_date | AggregateFunction(min, Nullable(DateTime)) | The first casino bet date for a user during the window timestamp. |
last_bet_date | AggregateFunction(max, Nullable(DateTime)) | The last casino bet date for a user during the window timestamp. |
highest_single_bet | AggregateFunction(max, Nullable(Float64)) | The highest single casino bet for a user during the window timestamp. |
highest_single_win | AggregateFunction(max, Nullable(Float64)) | The highest single casino win for a user during the window timestamp. |
payment_vendor_id | String | The unique payment vendor id |
count_of_deposits | UInt32 | The count of payment transactions with type=credit and status=approved for a user during the window timestamp. |
count_of_deposits_with_bonus | UInt32 | The count of payment transactions with type=credit and status=approved and non-empty bonus code for a user during the window timestamp. |
count_of_deposits_without_bonus | UInt32 | The count of payment transactions with type=credit and status=approved and empty bonus code for a user during the window timestamp. |
sum_of_deposits | Float64 | The sum of amount*exchange_rate of payment transactions with type=credit and status=approved for a user during the window timestamp. |
sum_of_deposits_with_bonus | Float64 | The sum of amount*exchange_rate of payment transactions with type=credit and status=approved and and non-empty bonus code for a user during the window timestamp. |
sum_of_deposits_without_bonus | Float64 | The sum of amount*exchange_rate of payment transactions with type=credit and status=approved and and empty bonus code for a user during the window timestamp. |
lowest_deposit_amount | AggregateFunction(min, Nullable(Float64)) | The lowest amount*exchange_rate of payment transactions with type=credit and status=approved for a user during the window timestamp. |
highest_deposit_amount | AggregateFunction(max, Nullable(Float64)) | The highest amount*exchange_rate of payment transactions with type=credit and status=approved for a user during the window timestamp. |
first_deposit_date | AggregateFunction(min, Nullable(DateTime)) | The first date of a payment transaction with type=credit and status=approved for a user during the window timestamp. |
last_deposit_date | AggregateFunction(max, Nullable(DateTime)) | The last date of a payment transaction with type=credit and status=approved and for a user during the window timestamp. |
first_deposit_amount | AggregateFunction(argMin, Float64, Nullable(DateTime)) | The first amount*exchange_rate of payment transactions with type=credit and status=approved and for a user during the window timestamp. |
last_deposit_amount | AggregateFunction(argMax, Float64, Nullable(DateTime)) | The last amount*exchange_rate of payment transactions with type=credit and status=approved and for a user during the window timestamp. |
last_used_deposit_bonus_code | AggregateFunction(argMax, Nullable(String), Nullable(DateTime)) | The last used deposit bonus code for payment transaction with type=credit and status=approved. |
count_of_withdrawals | UInt32 | The count of payment transactions with type=debit and status=approved and for a user during the window timestamp. |
sum_of_withdrawals | Float64 | The sum of amount*exchange_rate of payment transactions with type=debit and status=approved for a user during the window timestamp. |
first_login_date | AggregateFunction(min, Nullable(DateTime)) | The first login date for a user during the window timestamp. |
last_login_date | AggregateFunction(max, Nullable(DateTime)) | The last login date for a user during the window timestamp. |
count_of_logins | UInt32 | The count of logins for a user during the window timestamp. |
bonus_code | String | The bonus code for the bonus given. (ex: gamification-freespins) |
bonus_type | String | The bonus type credited to the user during the window timestamp. (ex: freespins) |
bonus_product | String | The bonus type of the bonus credited. (ex: casino, sportsbook) |
count_of_bonuses_created | UInt32 | The count of bonuses with status = Created for a user during the window timestamp. |
count_of_bonuses_completed | UInt32 | The count of bonuses with status=completed for a user during the window timestamp. |
count_of_bonuses_expired | UInt32 | The count of bonuses with status=expired for a user during the window timestamp. |
count_of_bonuses_lost | UInt32 | The count of bonuses with status=lost for a user during the window timestamp. |
count_of_bonuses_forfeited | UInt32 | The count of bonuses with status=forfeited for a user during the window timestamp. |
count_of_bonuses_autocompleted | UInt32 | The count of bonuses with status=autocompleted for a user during the window timestamp. |
count_of_bonuses_turned_real | UInt32 | The count of bonuses with field bonus_ turned_real > 0 for a user during the window timestamp. |
sum_of_bonus_amount_granted | Float64 | The sum of amount*exchange_rate of bonuses with status=created for a user during the window timestamp. |
sum_of_bonus_amount_turned_real | Float64 | The sum of bonus_turned_real*exchange_rate for a user during the window timestamp. |
sports_first_bet_date | AggregateFunction(min, Nullable(DateTime)) | The first sports transaction of type=bet for a user during the window timestamp. |
sports_last_bet_date | AggregateFunction(max, Nullable(DateTime)) | The last sports transaction of type=bet for a user during the window timestamp. |
sports_last_cash_bet_date | AggregateFunction(max, Nullable(DateTime)) | The last sports transaction timestamp of type=bet and wager_amount > 0 for a user during the window timestamp. |
sports_last_bonus_bet_date | AggregateFunction(max, Nullable(DateTime)) | The last sports transaction timestamp of type=bet and bonus_wager_amount > 0 for a user during the window timestamp. |
sports_bet_amount | Float64 | The sum of amount*exchange_rate for type=bet for a user during the window timestamp. |
sports_win_amount | Float64 | The sum of amount*exchange_rate for type = win for a user during the window timestamp. |
sports_highest_single_bet | AggregateFunction(max, Nullable(Float64)) | The highest amount*exchange of type=bet for a user during the window timestamp. |
sports_highest_single_win | AggregateFunction(max, Nullable(Float64)) | The highest amount*exchange of type=settlement for a user during the window timestamp. |
sports_total_betslip_count | Int32 | The count of betslips with type = bet and status=approved less the count of betslips with type = bet and status = rollback for a user during the window timestamp. |
sports_total_freebet_count | Int32 | The count of bets with status=approved, type =bet, and is_free_bet = trueless the count of bets with type = bet, status = rollback, and is_free_bet = true for a user during the window timestamp. |
sports_total_freebet_amount | Float64 | The sum of amount*exchange of sports transactions with type = bet, status = approved, and is_free_bet = true less the sum of amount*exchange_rate of sports transactions with type = bet, status = rollback and is_free_bet = true for a user during the window timestamp |
sports_total_bet_count | Int32 | The count of bets with type = bet and status = approved less the count of bets with type =bet and status = rollback for a user during the window timestamp |
sports_combo_bet_count | Int32 | The count of bets with type = bet, status = approved, bet_type = multi less the count of bets with type = bet, status = rollback , and bet_type = multi for a user during the window timestamp |
sports_single_bet_count | Int32 | The count of bets with type =bet , status = approved, and bet_type = single less the count of bets with type = bet, status = rollback , and bet_type = single for a user during the window timestamp |
sports_system_bet_count | Int32 | The count of bets with type = bet, status=approved, and bet_type= system less the count of bets with status = rollback , type = bet, and bet_type = system for a user during the window timestamp. |
sports_prematch_bet_count | Int32 | The count of bets with status = approved, type =bet, and is_live = false less the count of bets with status = rollback , type = bet, and is_live= false for a user during the window timestamp. |
sports_prematch_single_bet_amount | Float64 | The sum of amount*exchange_rate of sports transactions with status=approved, type =bet , bet_type = single , and is_live = false less the sum of amount*exchange_rate of sports transactions with status = rollback , type = bet, bet_type = single, and is_live= false for a user during the window timestamp. |
sports_prematch_single_bonus_bet_amount | Float64 | The sum of amount*exchange_rate of sports transactions with type =bet , status = approved, bet_type = single , is_live = false, and is_free_bet = true less the sum of amount*exchange_rate of sports transactions with status = rollback , type = bet, bet_type = single, is_live= false, and is_free_bet = true for a user during the window timestamp. |
sports_live_bet_count | Int32 | The count of bets with status=approved, type =bet, and is_live = true less the count of bets with type = bet, status = rollback , and is_live= true for a user during the window timestamp. |
sports_live_single_bet_amount | Float64 | The sum of amount*exchange_rate of sports transactions with type = bet, status = approved, bet_type = single, and is_live = true less the sum of amount*exchange_rate of sports transactions with type = bet, status = rollback , bet_type = single, and is_live= true, and for a user during the window timestamp. |
sports_live_single_bonus_bet_amount | Float64 | The sum of amount*exchange_rate of sports transactions with type = bet , status = approved, bet_type = single, is_live = true, and is_free_bet = true less the sum of amount*exchange_rate of sports transactions with type = bet, status = rollback , bet_type = single, is_live= true, and is_free_bet = true for a user during the window timestamp. |
sports_win_count | Int32 | The count of sports transactions with type = settlement and status = approved less the count of sports transactions with type = settlement and status = rollback for a user during the window timestamp. |
sports_total_odds | Float64 | The sum of total_odds for each sports transaction with type = bet and status = approved less the sum of total odds for each sports transaction with type = bet and status = rollback for a user during the window timestamp. |
sports_odds_combo_bet | Float64 | The sum of total_odds for each sports transaction with type = bet, status = approved, and bet_type = multi less the sum of total odds for each sports transaction with type = bet, status = rollback, and bet_type = multi for a user during the window timestamp. |
sports_odds_single_bet | Float64 | The sum of total_odds for each sports transaction with type = bet, status = approved, and bet_type = single less the sum of total odds for each sports transaction with type = bet, status = rollback, and bet_type = single for a user during the window timestamp. |
sports_odds_system_bet | Float64 | The sum of total_odds for each sports transaction with type = bet, status = approved, and bet_type = system less the sum of total odds for each sports transaction with type = bet, status = rollback, and bet_type = system for a user during the window timestamp. |
sports_cashout_count | Int32 | The count of sports transactions with type = settlement and cashout = 1 for a user during the window timestamp. |
insights.ConversionLog
Contains detailed logs of conversion events triggered by activities in Fast Track CRM. It records each conversion attempt along with its status, type, trigger information, and associated actions.
Partition By: toYYYYMM(Timestamp)
Order By: BrandId, ActivityId, ActionGroupId, UserId, TriggerHash, Id
Name | Type | Description | Note |
Id | Int32 | Unique id, auto incremented | |
ActivityId | Int32 | The ActivityId which the conversion is related to | |
ActionGroupId | Int32 | Id of the action group | |
UserId | Int32 | Unique user id | |
Timestamp | DateTime | Time of insert in the table | |
Type | UInt8 | 1 = activity_conversion 2 = Email
3 = SMS 4 = Bonus 7 = Notification 8 = Enteractive | |
ConversionType | UInt8 | 1 = activity_conversion -------------------------
2 = delivered (S) 3 = open (N) 4 = click (S,N) 5 = Not in use 6 = Not in use 7 = spam 8 = processed
9 = deferred 10 = bounced 11 = unsubscribed (S) 12 = dropped
------------------------- 101 = Created 102 = <not used> 103 = Completed
104 = Expired 105 = Forfeited 106 = Lost 107 = AutoCompleted | Email conversion marked 2-12 otherwise it is marked.
SMS = S
Notification = N
Bonus conversion 101-107 |
TriggerHash | String | The unique hash for the trigger | |
TriggerData | String | The raw JSON payload with the trigger-data | |
ActionId | Nullable(Int32) | Action ID related to the conversion |
insights.activity_action_history
Stores historical records of each action triggered as part of an activity in Fast Track CRM. It includes information about the user, action, payload, and scheduling details for each trigger event.
Partition By: toUInt64( ActivityId / 100 )
Order By: ActivityId, ActionId, UserId
Name | Type | Description | Note |
Id | String | Unique Id for the row | |
ActivityId | Int32 | The id of the triggered Activity | |
ActionId | Int32 | The id of the related Action | |
UserId | Int64 | The id of the user who triggered the activity | |
ActionData | String | The JSON payload of the event | |
Date | DateTime | The timestamp when the activities action was triggered | |
Status | Int32 | Type of action | 1 = Fire immediately 4 = Scheduled |
TriggerHash | String | The unique hash for the trigger |
insights.scheduled_actions_events
Stores historical records of each action triggered as part of an activity in Fast Track CRM. It includes information about the user, action, payload, and scheduling details for each trigger event.
Partition By: toYYYYMM(timestamp)
Order By: id, scheduled_action_log_type, trigger_hash
Name | Type | Description | Note |
id | String | Unique id of the event | |
brand_id | Int32 | Brand ID | |
notification_type | String | Type of notification | RichInboxMessage
CreditBonusWithCode
SendSiteNotification |
user_id | Int32 | User ID | |
activity_id | Int32 | Activity ID | |
action_group_id | Int32 | Action Group ID | |
action_id | Int32 | Action ID | |
trigger_hash | String | Unique hash of the event | |
scheduled_action_log_type | String | Status on the event | Add
Expire
Trigger
Reject |
timestamp | DateTime | Timestamp of the event | |
meta | String | Field to provide custom data |
insights.bonus_events (Deprecated)
Deprecated — This table is no longer in use as of 2026-03-06. It has been replaced by insights.combined_bonus_events. Do not build new queries against this table.
Contains detailed event records of bonuses granted, updated, or completed for users within Fast Track CRM. It tracks bonus amounts, statuses, wagering information, and associated payload data.
Partition By: toYYYYMM(timestamp)
Order By: brand_id, user_id, id
Name | Type | Description | Note |
amount | Nullable(Float32) | Bonus amount | |
bonus_code | Nullable(String) | Bonus code | |
bonus_turned_real | Nullable(Float32) | Bonus amount turned to real money: If wagering is finished | |
brand_id | Int32 | Brand ID | |
currency | String | Currency | |
enriched_payload | Nullable(String) | The enriched JSON payload | |
exchange_rate | Nullable(Float32) | The exchange rate at the timestamp | |
id | Int64 | Bonus ID | |
locked_amount | Nullable(Float32) | Bonus amount locked to wagering | |
origin | Nullable(String) | Origin of the bonus | |
payload | Nullable(String) | The initial payload | |
product | String | The type of product related to the bonus | Casino
Sportsbook
Lotto
Poker |
required_wagering_amount | Nullable(Float32) | Required wagering amount of bonus | |
status | String | Status of the granted bonus | Expired
Pending
Created
Lost
Completed
Forfeited |
timestamp | DateTime | The timestamp of the event | Format: RFC3339 |
type | String | Type of bonus | NoDeposit WelcomeBonus CashbackBonus ReloadBonus WagerFree FreeSpins RiskFreeBet Undefined |
user_bonus_id | String | User Bonus ID | |
user_id | String | User ID |
insights.login_events (Deprecated)
Deprecated — This table is no longer in use as of 2026-03-06. It has been replaced by insights.combined_login_events. Do not build new queries against this table.
Contains logs of user login events in Fast Track CRM, capturing detailed information on authentication, platform, impersonation, and contextual payloads.
Partition By: toYYYYMM(timestamp)
Order By: brand_id, user_id, id
Name | Type | Description | Note |
brand_id | Int32 | Brand ID | |
enriched_payload | Nullable(String) | The enriched JSON payload | |
id | Int64 | Login ID | |
ip_address | Nullable(String) | The ip address of the event sender | |
is_impersonated | Nullable(Int8) | This field is 1 when a support agent is logged in impersonating a user | |
origin | Nullable(String) | The origin of the user | |
payload | Nullable(String) | The original payload of the event | |
timestamp | DateTime | Timestamp of the event | |
user_agent | Nullable(String) | Login platform | Web browser
Mobile app |
user_id | String | User ID |
insights.sports_events (Deprecated)
Deprecated — This table is no longer in use as of 2026-03-06. It has been replaced by insights.combined_sports_events. Do not build new queries against this table.
Stores betting activity and transactional records for sports events within Fast Track CRM. It tracks detailed information about user bets, odds, balances, and wager types.
Partition By: toYYYYMM(timestamp)
Order By: brand_id, user_id, id
Name | Type | Description | Note |
activity_id | String | Activity ID | |
activity_id_reference | String | Activity ID Reference | |
amount | Nullable(Float32) | Bet amount | |
balance_after | Nullable(Float32) | Player balance after | |
balance_before | Nullable(Float32) | Player balance before | |
bet_type | String | Type of bet | Single
Multi
System |
bonus_wager_amount | Nullable(Float32) | Bonus Wagering Amount | |
brand_id | Int32 | Brand ID | |
currency | Nullable(String) | The currency of which the amount is | |
enriched_payload | Nullable(String) | The enriched JSON payload | |
exchange_rate | Nullable(Float32) | The exchange rate at the time of the event | |
is_cashout | Nullable(Int8) | Indicates whether the bet was cashed out | |
locked_wager_amount | Nullable(Float32) | Indicates whether the bet was cashed out | |
origin | Nullable(String) | The origin of the user | |
payload | Nullable(String) | The JSON payload | |
timestamp | DateTime | Timestamp when the event happened | |
total_odds | Nullable(Float32) | The odds at the time | |
type | Nullable(String) | Type of event | e.g. Settlement Bet |
user_id | String | User ID | |
wager_amount | Nullable(Float32) | Wagering amount |
insights.payment_events (Deprecated)
Deprecated — This table is no longer in use as of 2026-03-06. It has been replaced by insights.combined_payment_events. Do not build new queries against this table.
Contains records of payment transactions processed within Fast Track CRM. It covers both deposits and withdrawals, along with status, amounts, fees, external references, and partner mappings.
- Table Engine: ReplacingMergeTree
- Partition By: toYYYYMM(timestamp)
- Order By: brand_id, user_id, id
| Name | Type | Description | Note |
|---|---|---|---|
amount | Float32 | Amount | |
bonus_code | Nullable(String) | Bonus Code | |
brand_id | Int32 | Brand ID | |
currency | String | Transactions currency in ISO 4217 format | |
deposit_count | Int32 | Internal property | |
enriched_payload | Nullable(String) | The enriched JSON payload | |
exchange_rate | Float32 | The exchange rate at the timestamp | |
external_user_id | Nullable(String) | User ID from partner | |
fee_amount | Float32 | Fee Amount, if not applicable then send 0 | |
id | Int64 | Unique ID auto incremented | |
note | Nullable(String) | Any useful notes | e.g. "Insufficient funds" |
origin | Nullable(String) | The origin of the user | |
payload | Nullable(String) | The JSON payload of the event | |
payment_id | Int32 | Payment ID | |
status | String | Payment status | Approved, Requested, Rejected, Rollback, Cancelled |
timestamp | DateTime | Timestamp of the payment event | |
type | String | Payment type | e.g. Credit (Deposit), Debit (Withdrawal) |
user_id | Int32 | User ID | |
vendor_id | Int32 | Platform Id of the vendor | |
vendor_name | Nullable(String) | Platform name of the vendor | |
withdraw_count | Int32 | Internal property | |
insights.movements
Stores logs of user feature movements within Fast Track CRM, tracking when users change feature type classes due to segmentation, rule processing or computation changes.
Partition By: toYYYYMM(timestamp)
Order By: feature_id, user_id, timestamp, id
Name | Type | Description | Note |
id | String | Unique movement ID | |
user_id | String | User ID | |
feature_id | UInt32 | Feature ID | |
previous_feature_type_classes | Array(Uint32) | The users previously entered class | |
new_feature_type_classes | Array(Uint32) | The users new entered class | |
computation_id | UInt32 | Computation ID | |
timestamp | DateTime | Timestamp of the movement |
insights.cw_casino_events
Contains transactional records for casino gameplay events within Fast Track CRM. It tracks both betting and payout rounds, including amounts, balances, game metadata, and transactional status.
Partition By: toYYYYMM(timestamp)
Order By: brand_id, user_id, round_id, timestamp, type, activity_id
Name | Type | Description | Note |
activity_id | String | Activity ID | |
amount | Nullable(Float32) | The total amount (bonus_wager_amount + wager_amount + locked_wager_amount) | |
balance_after | Nullable(Float32) | Player balance after the round is finished | |
balance_before | Nullable(Float32) | Player balance before the round started | |
bonus_wager_amount | Nullable(Float32) | Amount (either bet or win) if the round was played using bonus money | |
brand_id | Int32 | Brand ID | |
currency | String | Transactions currency in ISO 4217 format | |
exchange_rate | Nullable(Float32) | The exchange rate at the time of the event | |
game_id | String | Game ID | |
game_name | String | Game Name | |
game_type | String | Game Type as defined in the platform | |
is_round_end | Nullable(UInt8) | Indicates if the round is ended or not | |
locked_wager_amount | Nullable(Float32) | Indicates whether the bet was cashed out | |
origin | Nullable(String) | The origin of the user | |
round_id | String | Round ID | Same for both type Bet & Win |
timestamp | DateTime | Timestamp in RFC3339 format | |
type | String | Type of round - either Bet or Win | |
user_id | String | User ID | |
vendor_id | String | Vendor ID | |
vendor_name | String | Vendor Name | |
wager_amount | Nullable(Float32) | Amount (either bet or win) if the round was played using real money | |
raw_json | String | The JSON payload of the event | |
status | String | Indicates whether the event should be reversed or not | Approved Rollback |
inserted_at | DateTime | Timestamp of when the event was inserted |
insights.cw_custom_events
Stores custom event logs triggered inside Fast Track CRM. These events are typically used for capturing custom workflows, external signals, or user-defined triggers.
Partition By: toYYYYMM(timestamp)
Order By: brand_id, user_id, origin, notification_type, timestamp
Name | Type | Description | Note |
brand_id | UInt32 | Brand ID | |
user_id | String | User ID | |
origin | String | The origin of the user | |
notification_type | String | The key of this custom event | |
timestamp | DateTime | When this was called / initiated | RFC3339 Datetime |
raw_json | String | The JSON payload of the event |
insights.cw_game_round_events
Contains detailed round-level events for game play sessions within Fast Track CRM. It includes metadata on game rounds, device information, real/bonus bet/win breakdowns, and vendor data.
Partition By: toYYYYMM(timestamp)
Order By: brand_id, user_id, round_id, timestamp
Name | Type | Description | Note |
bonus_bet_base | Float32 | Internal property | |
bonus_bet_user | Float32 | Internal property | |
bonus_win_base | Float32 | Internal property | |
bonus_win_user | Float32 | Internal property | |
brand_id | Int32 | Brand ID | |
device_type | String | Type of device used to play game | |
game_id | String | Game ID | |
game_name | String | Game Name | |
game_type | String | Game Type | |
inserted_at | DateTime | Timestamp when the event was inserted | |
origin | Nullable(String) | The origin of the user | |
raw_json | String | The JSON payload of the event | |
real_bet_base | Float32 | Internal property | |
real_bet_user | Float32 | Internal property | |
real_win_base | Float32 | Internal property | |
real_win_user | Float32 | Internal property | |
round_id | String | Round ID | |
timestamp | DateTime | Timestamp of the event | |
user_currency | String | The currency of the user | |
user_id | String | User ID | |
vendor_id | String | Vendor ID | |
vendor_name | String | Vendor Name |
insights.cw_user_profile_events
Stores user profile event changes within Fast Track CRM. It captures when and how user profile data changes are recorded, including full payload data for flexible auditing.
Partition By: toYYYYMM(timestamp)
Order By: user_id, timestamp, raw_json
Name | Type | Description | Note |
brand_id | Int32 | Brand ID | |
origin | String | The origin of the user | |
timestamp | DateTime | Timestamp when the event happened | |
user_id | String | User ID | |
inserted_at | DateTime | Timestamp when the event was inserted | |
raw_json | String | The JSON payload of the event |
insights.cw_payment_events
ClickHouse writer payment events with amounts, status, and raw payload. Use view insights.combined_payment_events to include historical data from before insights.payment_events was deprecated.
Table Engine: ReplacingMergeTree
Partition By: (toYYYYMM(timestamp), migration_reference)
Order By: (brand_id, user_id, type, status, timestamp, hashed_payload)
Columns
| Name | Type | Description | Note |
|---|---|---|---|
amount | Float32 | Monetary amount in the event currency | |
bonus_code | String | Bonus code associated with this record | |
brand_id | Int32 | Brand/tenant identifier for multi-brand deployments | |
currency | LowCardinality(String) | Currency code for monetary values | |
deposit_count | Int32 | Count of deposit | |
exchange_rate | Float32 | Exchange rate applied for currency normalization | |
external_user_id | String | External user identifier from the operator system | |
fee_amount | Float32 | Amount of fee in event currency | |
inserted_at | DateTime | Ingestion timestamp when row was inserted into ClickHouse (UTC) | Default: now() |
note | String | Free-form note or description from source | e.g. "Insufficient funds" |
origin | LowCardinality(String) | Origin/source system or site domain | |
payment_id | String | Identifier for payment (foreign key or source id) | |
status | LowCardinality(String) | Status from the source system | Approved, Requested, Rejected, Rollback, Cancelled |
timestamp | DateTime | When the event occurred (server time, UTC) | |
type | LowCardinality(String) | Type/category from the source system | e.g. Credit (Deposit), Debit (Withdrawal) |
user_id | String | User/player identifier from the source system | |
vendor_id | LowCardinality(String) | Game/provider vendor identifier | |
vendor_name | LowCardinality(String) | Game/provider vendor name | |
withdraw_count | Int32 | Count of withdraw | |
raw_json | String | Raw JSON payload stored for debugging or reprocessing | |
migration_reference | LowCardinality(String) | Identifier for the migration/import batch that produced this record | |
hashed_payload | String | Deterministic hash of payload contents for idempotency/deduplication | |
insights.cw_login_events
ClickHouse writer login events with raw payload and enrichment fields. Use view insights.combined_login_events to include historical data from before insights.login_events was deprecated.
Table Engine: ReplacingMergeTree
Partition By: (toYYYYMM(timestamp), migration_reference)
Order By: (brand_id, user_id, timestamp, hashed_payload)
Columns
| Name | Type | Description | Note |
|---|---|---|---|
brand_id | Int32 | Brand/tenant identifier for multi-brand deployments | |
inserted_at | DateTime | Ingestion timestamp when row was inserted into ClickHouse (UTC) | Default: now() |
ip_address | String | IP address from the source event | |
is_impersonated | Int8 | Whether impersonated | 1 = yes, 0 = no |
origin | LowCardinality(String) | Origin/source system or site domain | |
timestamp | DateTime | When the event occurred (server time, UTC) | |
user_agent | String | User agent string from the source event | |
user_id | String | User/player identifier from the source system | |
raw_json | String | Raw JSON payload stored for debugging or reprocessing | |
migration_reference | LowCardinality(String) | Identifier for the migration/import batch that produced this record | |
hashed_payload | String | Deterministic hash of payload contents for idempotency/deduplication | |
insights.cw_bonus_events
ClickHouse writer bonus events capturing bonus lifecycle and amounts. Use view insights.combined_bonus_events to include historical data from before insights.bonus_events was deprecated.
Table Engine: ReplacingMergeTree
Partition By: (toYYYYMM(timestamp), migration_reference)
Order By: (brand_id, user_id, type, status, product, timestamp, hashed_payload)
Columns
| Name | Type | Description | Note |
|---|---|---|---|
amount | Float32 | Monetary amount in the event currency | |
bonus_code | String | Bonus code associated with this record | |
bonus_id | String | Bonus id associated with this record | |
bonus_turned_real | Float32 | Bonus turned real associated with this record | |
brand_id | Int32 | Brand/tenant identifier for multi-brand deployments | |
currency | String | Currency code for monetary values | |
exchange_rate | Float32 | Exchange rate applied for currency normalization | |
inserted_at | DateTime | Ingestion timestamp when row was inserted into ClickHouse (UTC) | Default: now() |
locked_amount | Float32 | Amount of locked in event currency | |
origin | LowCardinality(String) | Origin/source system or site domain | |
product | LowCardinality(String) | Value for product captured for this bonus record | |
required_wagering_amount | Float32 | Amount of required wagering in event currency | |
status | String | Status from the source system | e.g. approved, requested |
timestamp | DateTime | When the event occurred (server time, UTC) | |
type | LowCardinality(String) | Type/category from the source system | |
user_bonus_id | String | Identifier for user bonus (foreign key or source id) | |
user_id | String | User/player identifier from the source system | |
raw_json | String | Raw JSON payload stored for debugging or reprocessing | |
migration_reference | LowCardinality(String) | Identifier for the migration/import batch that produced this record | |
hashed_payload | String | Deterministic hash of payload contents for idempotency/deduplication | |
is_free_money | Int8 | Whether the bonus is free money | 1 = yes, 0 = no |
insights.cw_sports_events
ClickHouse writer sports bet/settlement events with wager, odds, and payload. Use view insights.combined_sports_events to include historical data from before insights.sports_events was deprecated.
Table Engine: ReplacingMergeTree
Partition By: (toYYYYMM(timestamp), migration_reference)
Order By: (brand_id, user_id, type, status, bet_type, timestamp, hashed_payload)
Columns
| Name | Type | Description | Note |
|---|---|---|---|
activity_id | String | Activity identifier from activity manager | |
activity_id_reference | String | Value for activity id reference captured for this sports record | |
amount | Float64 | Monetary amount in the event currency | |
balance_after | Float64 | User balance after the event (event currency) | |
balance_before | Float64 | User balance before the event (event currency) | |
bet_type | String | Type/category of bet | |
bonus_wager_amount | Float64 | Portion of wager amount funded by bonus balance | |
brand_id | Int32 | Brand/tenant identifier for multi-brand deployments | |
currency | String | Currency code for monetary values | |
exchange_rate | Float64 | Exchange rate applied for currency normalization | |
is_cashout | Int8 | Whether cashout | 1 = yes, 0 = no |
inserted_at | DateTime | Ingestion timestamp when row was inserted into ClickHouse (UTC) | Default: now() |
locked_wager_amount | Float64 | Portion of wager amount funded by locked balance | |
origin | LowCardinality(String) | Origin/source system or site domain | |
status | LowCardinality(String) | Status from the source system | e.g. approved, requested |
timestamp | DateTime | When the event occurred (server time, UTC) | |
total_odds | Float64 | Value for total odds captured for this sports record | |
type | LowCardinality(String) | Type/category from the source system | |
user_id | String | User/player identifier from the source system | |
wager_amount | Float64 | Wager amount in the event currency | |
raw_json | String | Raw JSON payload stored for debugging or reprocessing | |
migration_reference | LowCardinality(String) | Identifier for the migration/import batch that produced this record | |
hashed_payload | String | Deterministic hash of payload contents for idempotency/deduplication | |
Event Tables
The raw events which are sent through the integration feed are found in the following tables:
| Event Type | Table Name |
|---|---|
Casino Events | insights.cw_casino_events |
Game Round Events | insights.cw_game_round_events |
Login Events | insights.cw_login_events
(only includes events dated after insights.login_events was deprecated, use insights.combined_login_events to include historical data) |
Payment Events | insights.cw_payment_events
(only includes events dated after insights.payment_events was deprecated, use insights.combined_payment_events to include historical data) |
Bonus Events | insights.cw_bonus_events
(only includes events dated after insights.bonus_events was deprecated, use insights.combined_bonus_events to include historical data) |
Sports Events | insights.cw_sports_events
(only includes events dated after insights.sports_events was deprecated, use insights.combined_sports_events to include historical data) |