eGaming – QProtocol events

This is for:

Developer

egView

CEH Core CEH Social proof CEH Abandonment recovery

The egView event reports a page view and is a special event because it is required by smartserve.js for data collection and processing. It’s therefore essential that every page emits an egView event and that it is emitted before any other event.

Warning

Any CEH events emitted before the first egView event are considered invalid. Web and mobile applications emit CEH view events whenever a view is rendered.

Example schema

Field (JS Data Type) Description Required for

type (String)

Can be one of account, betslip, cashier, confirmation, content, event, game, gametypes, home, listing, promo, registration, search

CEH Core

CEH Social proof

language (String)

The language used in this view. Must be an IETF language code

CEH Core

CEH Social proof

CEH Abandonment recovery

country (String)

The selected country for the view. Must be an ISO Alpha 2 code

CEH Core

CEH Social proof

CEH Abandonment recovery

currency (String)

The ISO 4217 currency code for the user, (for example, GBP, USD)

CEH Core

CEH Social proof

CEH Abandonment recovery

subtypes (String[])

An unordered list of subtypes to describe the view

Optional

environment (String)

Reports the environment, that is, development, staging, or production

Optional

siteVersion (String)

The selected site version for the view (for example, desktop, mobile, tablet)

Optional

Example JavaScript

uv.emit('egView', {
  type: null,
  subtypes: [
    'Soccer',
    'World Cup 2018',
    'Qualifications'
  ],
  environment: null,
  language: 'en-us',
  country: 'US',
  siteVersion: 'desktop',
  currency: 'USD'
})

egUser

CEH Core CEH Abandonment recovery

The egUser event is emitted once per view and reports visitor metadata. The event should be emitted on every page as long as there is data available for the user.

For many sites, the event will be present and well populated when the visitor logs on. Sites with a newsletter subscription form that the visitor has previously submitted, might be able to populate the name and email address for the visitor using the data collected on form submission.

Warning

It is acceptable to emit hashed user Ids but be aware that to ingest data for use in Qubit’s platform, the user Ids in the provided dataset must be hashed in the same way.

Example schema

Field (JS Data Type) Description Required for

user.id (String)

A unique user Id. Can also be a hash of the username and/or email address

CEH Core

user.email (String)

The user’s primary email address

CEH Core

CEH Abandonment recovery

user.title (String)

The user’s title

Optional

user.firstName (String)

The user’s first name

Optional

user.lastName (String)

The user’s last name

Optional

user.gender (String)

The user’s gender. Can be male, female, or other

Optional

user.username (String)

The username for the user

Optional

user.firstSession (Boolean)

True if it’s the user’s first session

Optional

user.hasTransacted (Boolean)

True if the user has completed 1 or more transactions

Optional

user.loyalty.id (String)

Loyalty program membership number

Optional

user.loyalty.tier (String)

The level of the loyalty program this user holds

Optional

user.loyalty.tierPoints (Number)

The number of tier points

Optional

user.loyalty.membershipType (String)

The type of loyalty membership

Optional

user.loyalty.membershipPoints (Number)

The number of points from this membership

Optional

user.address.addressee (String)

Full name of the person for whom the address is for

Optional

user.address.company (String)

The name of the company

Optional

user.address.lines (String[])

An array of address lines NOT including city, region, postcode or country (maximum of 3 lines allowed)

Optional

user.address.locality (String)

The town or city

Optional

user.address.region (String)

E.g state in the US, county in the UK

Optional

user.address.postalCode (String)

Can be the country equivalent code (for example, zip code for the U.S)

Optional

user.address.country (String)

The name of the country

Optional

user.address.countryCode (String)

An ISO 3166-1 alpha-2 country code

Optional

user.isGuest (String)

True if the user is a guest user without a registered account

Optional

user.age (Number)

The user’s age in years

Optional

user.phoneNumber (String)

The user’s phone number. Should be formatted without spaces, braces, or hyphens

Optional

user.countryCallingCode (String)

The country calling code for the given phone number, formatted to include the + prefix, as per ITU-T standard E.123

Optional

user.balance (Price)

The balance of the user.

Optional

user.balance.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

user.balance.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

user.deviceId (String)

Device ID for the user.

Optional

Example JavaScript

uv.emit('egUser', {
  user: {
    id: '2861102bace6e6620948564f0ce0a7cd',
    title: 'Mr',
    firstName: 'John',
    lastName: 'Smith',
    gender: 'Male',
    username: 'JohnSmith',
    email: 'john@johnsmith.com',
    firstSession: null,
    hasTransacted: true,
    loyalty: {
      id: '8989752-223',
      tier: 'silver',
      tierPoints: null,
      membershipType: 'Clearsky Rewards',
      membershipPoints: null
    },
    address: {
      addressee: 'John Smith',
      company: 'Amce Inc',
      lines: [
        'Flat 12',
        '123 High Street'
      ],
      locality: 'London',
      region: 'New York',
      postalCode: '10010',
      country: 'United States',
      countryCode: 'US'
    },
    isGuest: 'true',
    age: 42,
    phoneNumber: '2121234567',
    countryCallingCode: '1',
    balance: {
      value: 9.99,
      currency: 'USD'
    },
    deviceId: 'Q3OP6VG8HYE5'
  }
})

egUserLogin

CEH Core

Emitted when a user logs in.

Example schema

Field (JS Data Type) Description Required for

user.id (String)

A unique user Id. Can also be a hash of the username and/or email address

CEH Core

user.email (String)

The user’s primary email address

CEH Core

CEH Abandonment recovery

type (String)

Type of log in

CEH Core

CEH Social proof

user.title (String)

The user’s title

Optional

user.firstName (String)

The user’s first name

Optional

user.lastName (String)

The user’s last name

Optional

user.gender (String)

The user’s gender. Can be male, female, or other

Optional

user.username (String)

The username for the user

Optional

user.firstSession (Boolean)

True if it’s the user’s first session

Optional

user.hasTransacted (Boolean)

True if the user has completed 1 or more transactions

Optional

user.loyalty.id (String)

Loyalty program membership number

Optional

user.loyalty.tier (String)

The level of the loyalty program this user holds

Optional

user.loyalty.tierPoints (Number)

The number of tier points

Optional

user.loyalty.membershipType (String)

The type of loyalty membership

Optional

user.loyalty.membershipPoints (Number)

The number of points from this membership

Optional

user.address.addressee (String)

Full name of the person for whom the address is for

Optional

user.address.company (String)

The name of the company

Optional

user.address.lines (String[])

An array of address lines NOT including city, region, postcode or country (maximum of 3 lines allowed)

Optional

user.address.locality (String)

The town or city

Optional

user.address.region (String)

E.g state in the US, county in the UK

Optional

user.address.postalCode (String)

Can be the country equivalent code (for example, zip code for the U.S)

Optional

user.address.country (String)

The name of the country

Optional

user.address.countryCode (String)

An ISO 3166-1 alpha-2 country code

Optional

user.isGuest (String)

True if the user is a guest user without a registered account

Optional

user.age (Number)

The user’s age in years

Optional

user.phoneNumber (String)

The user’s phone number. Should be formatted without spaces, braces, or hyphens

Optional

user.countryCallingCode (String)

The country calling code for the given phone number, formatted to include the + prefix, as per ITU-T standard E.123

Optional

user.balance (Price)

The balance of the user.

Optional

user.balance.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

user.balance.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

user.deviceId (String)

Device ID for the user.

Optional

firstLogin (Boolean)

True only if this is the first time the user has logged in

Optional

Example JavaScript

uv.emit('egUserLogin', {
  user: {
    id: '2861102bace6e6620948564f0ce0a7cd',
    title: 'Mr',
    firstName: 'John',
    lastName: 'Smith',
    gender: 'Male',
    username: 'JohnSmith',
    email: 'john@johnsmith.com',
    firstSession: null,
    hasTransacted: true,
    loyalty: {
      id: '8989752-223',
      tier: 'silver',
      tierPoints: null,
      membershipType: 'Clearsky Rewards',
      membershipPoints: null
    },
    address: {
      addressee: 'John Smith',
      company: 'Amce Inc',
      lines: [
        'Flat 12',
        '123 High Street'
      ],
      locality: 'London',
      region: 'New York',
      postalCode: '10010',
      country: 'United States',
      countryCode: 'US'
    },
    isGuest: 'true',
    age: 42,
    phoneNumber: '2121234567',
    countryCallingCode: '1',
    balance: {
      value: 9.99,
      currency: 'USD'
    },
    deviceId: 'Q3OP6VG8HYE5'
  },
  firstLogin: null,
  type: 'Logging in on a phone app using touch id.'
})

egUserSignup

CEH Core

Emitted when a user signs up for a newsletter or event, for example.

Example schema

Field (JS Data Type) Description Required for

user.id (String)

A unique user Id. Can also be a hash of the username and/or email address

CEH Core

user.email (String)

The user’s primary email address

CEH Core

CEH Abandonment recovery

type (String)

The type of sign up (for example, newsletter or event)

CEH Core

CEH Social proof

name (String)

A meaningful name unique to the sign up

CEH Core

user.title (String)

The user’s title

Optional

user.firstName (String)

The user’s first name

Optional

user.lastName (String)

The user’s last name

Optional

user.gender (String)

The user’s gender. Can be male, female, or other

Optional

user.username (String)

The username for the user

Optional

user.firstSession (Boolean)

True if it’s the user’s first session

Optional

user.hasTransacted (Boolean)

True if the user has completed 1 or more transactions

Optional

user.loyalty.id (String)

Loyalty program membership number

Optional

user.loyalty.tier (String)

The level of the loyalty program this user holds

Optional

user.loyalty.tierPoints (Number)

The number of tier points

Optional

user.loyalty.membershipType (String)

The type of loyalty membership

Optional

user.loyalty.membershipPoints (Number)

The number of points from this membership

Optional

user.address.addressee (String)

Full name of the person for whom the address is for

Optional

user.address.company (String)

The name of the company

Optional

user.address.lines (String[])

An array of address lines NOT including city, region, postcode or country (maximum of 3 lines allowed)

Optional

user.address.locality (String)

The town or city

Optional

user.address.region (String)

E.g state in the US, county in the UK

Optional

user.address.postalCode (String)

Can be the country equivalent code (for example, zip code for the U.S)

Optional

user.address.country (String)

The name of the country

Optional

user.address.countryCode (String)

An ISO 3166-1 alpha-2 country code

Optional

user.isGuest (String)

True if the user is a guest user without a registered account

Optional

user.age (Number)

The user’s age in years

Optional

user.phoneNumber (String)

The user’s phone number. Should be formatted without spaces, braces, or hyphens

Optional

user.countryCallingCode (String)

The country calling code for the given phone number, formatted to include the + prefix, as per ITU-T standard E.123

Optional

user.balance (Price)

The balance of the user.

Optional

user.balance.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

user.balance.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

user.deviceId (String)

Device ID for the user.

Optional

Example JavaScript

uv.emit('egUserSignup', {
  user: {
    id: '2861102bace6e6620948564f0ce0a7cd',
    title: 'Mr',
    firstName: 'John',
    lastName: 'Smith',
    gender: 'Male',
    username: 'JohnSmith',
    email: 'john@johnsmith.com',
    firstSession: null,
    hasTransacted: true,
    loyalty: {
      id: '8989752-223',
      tier: 'silver',
      tierPoints: null,
      membershipType: 'Clearsky Rewards',
      membershipPoints: null
    },
    address: {
      addressee: 'John Smith',
      company: 'Amce Inc',
      lines: [
        'Flat 12',
        '123 High Street'
      ],
      locality: 'London',
      region: 'New York',
      postalCode: '10010',
      country: 'United States',
      countryCode: 'US'
    },
    isGuest: 'true',
    age: 42,
    phoneNumber: '2121234567',
    countryCallingCode: '1',
    balance: {
      value: 9.99,
      currency: 'USD'
    },
    deviceId: 'Q3OP6VG8HYE5'
  },
  type: null,
  name: null
})

egFund

CEH Core

Emitted when a user makes an action that affects the status of that user’s funds.

Example schema

Field (JS Data Type) Description Required for

user.id (String)

A unique user Id. Can also be a hash of the username and/or email address

CEH Core

user.email (String)

The user’s primary email address

CEH Core

CEH Abandonment recovery

type (String)

The description of the action. Can be deposit or withdrawal

CEH Core

CEH Social proof

user.title (String)

The user’s title

Optional

user.firstName (String)

The user’s first name

Optional

user.lastName (String)

The user’s last name

Optional

user.gender (String)

The user’s gender. Can be male, female, or other

Optional

user.username (String)

The username for the user

Optional

user.firstSession (Boolean)

True if it’s the user’s first session

Optional

user.hasTransacted (Boolean)

True if the user has completed 1 or more transactions

Optional

user.loyalty.id (String)

Loyalty program membership number

Optional

user.loyalty.tier (String)

The level of the loyalty program this user holds

Optional

user.loyalty.tierPoints (Number)

The number of tier points

Optional

user.loyalty.membershipType (String)

The type of loyalty membership

Optional

user.loyalty.membershipPoints (Number)

The number of points from this membership

Optional

user.address.addressee (String)

Full name of the person for whom the address is for

Optional

user.address.company (String)

The name of the company

Optional

user.address.lines (String[])

An array of address lines NOT including city, region, postcode or country (maximum of 3 lines allowed)

Optional

user.address.locality (String)

The town or city

Optional

user.address.region (String)

E.g state in the US, county in the UK

Optional

user.address.postalCode (String)

Can be the country equivalent code (for example, zip code for the U.S)

Optional

user.address.country (String)

The name of the country

Optional

user.address.countryCode (String)

An ISO 3166-1 alpha-2 country code

Optional

user.isGuest (String)

True if the user is a guest user without a registered account

Optional

user.age (Number)

The user’s age in years

Optional

user.phoneNumber (String)

The user’s phone number. Should be formatted without spaces, braces, or hyphens

Optional

user.countryCallingCode (String)

The country calling code for the given phone number, formatted to include the + prefix, as per ITU-T standard E.123

Optional

user.balance (Price)

The balance of the user.

Optional

user.balance.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

user.balance.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

user.deviceId (String)

Device ID for the user.

Optional

amount (Price)

The amount of funds being deposited or withdrawn.

Optional

amount.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

amount.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

method (String)

The method by which funds were deposited or withdrawn.

Optional

depositLocation (String)

The location of the deposit

Optional

Example JavaScript

uv.emit('egFund', {
  user: {
    id: '2861102bace6e6620948564f0ce0a7cd',
    title: 'Mr',
    firstName: 'John',
    lastName: 'Smith',
    gender: 'Male',
    username: 'JohnSmith',
    email: 'john@johnsmith.com',
    firstSession: null,
    hasTransacted: true,
    loyalty: {
      id: '8989752-223',
      tier: 'silver',
      tierPoints: null,
      membershipType: 'Clearsky Rewards',
      membershipPoints: null
    },
    address: {
      addressee: 'John Smith',
      company: 'Amce Inc',
      lines: [
        'Flat 12',
        '123 High Street'
      ],
      locality: 'London',
      region: 'New York',
      postalCode: '10010',
      country: 'United States',
      countryCode: 'US'
    },
    isGuest: 'true',
    age: 42,
    phoneNumber: '2121234567',
    countryCallingCode: '1',
    balance: {
      value: 9.99,
      currency: 'USD'
    },
    deviceId: 'Q3OP6VG8HYE5'
  },
  type: 'deposit',
  amount: {
    value: 9.99,
    currency: 'USD'
  },
  method: 'PayPal',
  depositLocation: 'quick deposit or standard deposit'
})

egBetslipItemAction

CEH Core CEH Social proof

Emitted for every interaction with the betslip, using the action field to specify whether a line item was added or removed.

Example schema

Field (JS Data Type) Description Required for

betslip.id (String)

Unique betslip Id

CEH Core

CEH Social proof

betslip.totalStake (Price)

The total stake of the betslip, rounded to 2 decimal places

CEH Core

betslip.totalStake.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

betslip.totalStake.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

betslip.quantity (Number)

The number of items in the betslip

CEH Core

betslip.total (Price)

The total cost of the betslip after the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

CEH Core

betslip.total.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

betslip.total.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

bet.betId (String)

A unique Id to identify the bet

CEH Core

bet.price (Price)

The price of the betslip line item after discounts, rounded to 2 decimal places

CEH Core

bet.price.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

bet.price.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

betslip.discount (Price)

The amount discounted from vouchers or promotions, rounded to 2 decimal places

Optional

betslip.discount.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.discount.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.tax (Price)

The total amount of tax applied to the betslip, rounded to 2 decimal places

Optional

betslip.tax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.tax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.totalPotential (Price)

The total potential of the entire betslip (bet return), rounded to 2 decimal places

Optional

betslip.totalPotential.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.totalPotential.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.totalOdds (Number)

The total odds of the betslip, expressed as a decimal, rounded to 2 decimal places

Optional

betslip.subtotal (Price)

The total cost of the betslip before the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

Optional

betslip.subtotal.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.subtotal.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.subtotalIncludingTax (Price)

The total cost of the betslip after the application of taxes, but before any discounts, promotions, etc, rounded to 2 decimal places

Optional

betslip.subtotalIncludingTax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.subtotalIncludingTax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

bet.potentialReturn (Price)

The potential return from the betslip line item, rounded to 2 decimal places

Optional

bet.potentialReturn.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.potentialReturn.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

bet.odds (Number)

The betslip line item odds, expressed as a decimal (for example, 3.0 is the decimal equivalent of 2/1, 4.0 is 3/1)

Optional

bet.startTime (Epochtimems)

The start time of the bet event

Optional

bet.multiBet (Boolean)

True if this bet is part of a multibet

Optional

bet.receiptId (String)

An Id to connect bets that are from the same multibet - bets from the same multibet will have the same receiptId

Optional

bet.betType (String)

The type of bet (for example, Single, Trixie or Luckey15)

Optional

bet.inplay (Boolean)

True if the bet is currently in play

Optional

bet.sport (String)

The sport that has been bet on (for example, football)

Optional

bet.competition (String)

The competition that has been bet on (for example, Barclays Premier League)

Optional

bet.eventName (String)

The name of the event that’s being bet on (for example, West Ham v Tottenham)

Optional

bet.eventId (String)

An Id to identify the event

Optional

bet.selection (String)

The object being bet on, which could be a person, a team, an animal, etc

Optional

bet.selectionId (String)

An Id to identify the selection

Optional

bet.marketName (String)

The market name (for example, Match Betting)

Optional

bet.marketId (String)

An Id to identify the market type

Optional

bet.originalPrice (Price)

The original price of the betslip line item, rounded to 2 decimal places

Optional

bet.originalPrice.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.originalPrice.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

subtotal (Price)

The total cost of the bet line item before the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

Optional

subtotal.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

subtotal.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

discount (Price)

The amount discounted from vouchers or promotions for the bet line item, rounded to 2 decimal places

Optional

discount.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

discount.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

subtotalIncludingTax (Price)

The total cost of the bet line item after the application of taxes, but before any discounts, promotions, etc, rounded to 2 decimal places

Optional

subtotalIncludingTax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

subtotalIncludingTax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

action (String)

Can be either 'add', 'remove' for status changes.

Optional

Example JavaScript

uv.emit('egBetslipItemAction', {
  betslip: {
    id: null,
    totalStake: {
      value: 9.99,
      currency: 'USD'
    },
    quantity: null,
    discount: {
      value: 9.99,
      currency: 'USD'
    },
    tax: {
      value: 9.99,
      currency: 'USD'
    },
    totalPotential: {
      value: 9.99,
      currency: 'USD'
    },
    totalOdds: null,
    subtotal: {
      value: 9.99,
      currency: 'USD'
    },
    total: {
      value: 9.99,
      currency: 'USD'
    },
    subtotalIncludingTax: {
      value: 9.99,
      currency: 'USD'
    }
  },
  bet: {
    betId: null,
    price: {
      value: 9.99,
      currency: 'USD'
    },
    potentialReturn: {
      value: 9.99,
      currency: 'USD'
    },
    odds: null,
    startTime: null,
    multiBet: null,
    receiptId: null,
    betType: null,
    inplay: null,
    sport: null,
    competition: null,
    eventName: null,
    eventId: null,
    selection: null,
    selectionId: null,
    marketName: null,
    marketId: null,
    originalPrice: {
      value: 9.99,
      currency: 'USD'
    }
  },
  subtotal: {
    value: 9.99,
    currency: 'USD'
  },
  discount: {
    value: 9.99,
    currency: 'USD'
  },
  subtotalIncludingTax: {
    value: 9.99,
    currency: 'USD'
  },
  action: null
})

egBetslipSummary

CEH Core CEH Social proof

Emitted for each time the basket is visible to the visitor either as an inline minibasket or in a view that shows only the basket. If the visitor’s basket is changed in any way, the summary is emitted again.

Example schema

Field (JS Data Type) Description Required for

betslip.id (String)

Unique betslip Id

CEH Core

CEH Social proof

betslip.totalStake (Price)

The total stake of the betslip, rounded to 2 decimal places

CEH Core

betslip.totalStake.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

betslip.totalStake.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

betslip.quantity (Number)

The number of items in the betslip

CEH Core

betslip.total (Price)

The total cost of the betslip after the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

CEH Core

betslip.total.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

betslip.total.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

betslip.discount (Price)

The amount discounted from vouchers or promotions, rounded to 2 decimal places

Optional

betslip.discount.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.discount.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.tax (Price)

The total amount of tax applied to the betslip, rounded to 2 decimal places

Optional

betslip.tax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.tax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.totalPotential (Price)

The total potential of the entire betslip (bet return), rounded to 2 decimal places

Optional

betslip.totalPotential.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.totalPotential.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.totalOdds (Number)

The total odds of the betslip, expressed as a decimal, rounded to 2 decimal places

Optional

betslip.subtotal (Price)

The total cost of the betslip before the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

Optional

betslip.subtotal.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.subtotal.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.subtotalIncludingTax (Price)

The total cost of the betslip after the application of taxes, but before any discounts, promotions, etc, rounded to 2 decimal places

Optional

betslip.subtotalIncludingTax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.subtotalIncludingTax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

Example JavaScript

uv.emit('egBetslipSummary', {
  betslip: {
    id: null,
    totalStake: {
      value: 9.99,
      currency: 'USD'
    },
    quantity: null,
    discount: {
      value: 9.99,
      currency: 'USD'
    },
    tax: {
      value: 9.99,
      currency: 'USD'
    },
    totalPotential: {
      value: 9.99,
      currency: 'USD'
    },
    totalOdds: null,
    subtotal: {
      value: 9.99,
      currency: 'USD'
    },
    total: {
      value: 9.99,
      currency: 'USD'
    },
    subtotalIncludingTax: {
      value: 9.99,
      currency: 'USD'
    }
  }
})

egBetslipTransactionSummary

CEH Core CEH Social proof

Emitted each time a user transacts.

Example schema

Field (JS Data Type) Description Required for

betslip.id (String)

Unique betslip Id

CEH Core

CEH Social proof

betslip.totalStake (Price)

The total stake of the betslip, rounded to 2 decimal places

CEH Core

betslip.totalStake.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

betslip.totalStake.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

betslip.quantity (Number)

The number of items in the betslip

CEH Core

betslip.total (Price)

The total cost of the betslip after the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

CEH Core

betslip.total.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

betslip.total.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

transaction.id (String)

An Id unique to the transaction

CEH Core

betslip.discount (Price)

The amount discounted from vouchers or promotions, rounded to 2 decimal places

Optional

betslip.discount.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.discount.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.tax (Price)

The total amount of tax applied to the betslip, rounded to 2 decimal places

Optional

betslip.tax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.tax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.totalPotential (Price)

The total potential of the entire betslip (bet return), rounded to 2 decimal places

Optional

betslip.totalPotential.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.totalPotential.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.totalOdds (Number)

The total odds of the betslip, expressed as a decimal, rounded to 2 decimal places

Optional

betslip.subtotal (Price)

The total cost of the betslip before the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

Optional

betslip.subtotal.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.subtotal.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.subtotalIncludingTax (Price)

The total cost of the betslip after the application of taxes, but before any discounts, promotions, etc, rounded to 2 decimal places

Optional

betslip.subtotalIncludingTax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.subtotalIncludingTax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

transaction.firstTransaction (Boolean)

True only if this is the first ever transaction for the user

Optional

transaction.paymentType (String)

The type of payment

Optional

transaction.billingAddress.addressee (String)

Full name of the person for whom the address is for

Optional

transaction.billingAddress.company (String)

The name of the company

Optional

transaction.billingAddress.lines (String[])

An array of address lines NOT including city, region, postcode or country (maximum of 3 lines allowed)

Optional

transaction.billingAddress.locality (String)

The town or city

Optional

transaction.billingAddress.region (String)

E.g state in the US, county in the UK

Optional

transaction.billingAddress.postalCode (String)

Can be the country equivalent code (for example, zip code for the U.S)

Optional

transaction.billingAddress.country (String)

The name of the country

Optional

transaction.billingAddress.countryCode (String)

An ISO 3166-1 alpha-2 country code

Optional

transaction.parentId (String)

If the transaction is an amendment to a previous transaction, should be the Id of the parent transaction

Optional

Example JavaScript

uv.emit('egBetslipTransactionSummary', {
  betslip: {
    id: null,
    totalStake: {
      value: 9.99,
      currency: 'USD'
    },
    quantity: null,
    discount: {
      value: 9.99,
      currency: 'USD'
    },
    tax: {
      value: 9.99,
      currency: 'USD'
    },
    totalPotential: {
      value: 9.99,
      currency: 'USD'
    },
    totalOdds: null,
    subtotal: {
      value: 9.99,
      currency: 'USD'
    },
    total: {
      value: 9.99,
      currency: 'USD'
    },
    subtotalIncludingTax: {
      value: 9.99,
      currency: 'USD'
    }
  },
  transaction: {
    id: '83748372',
    firstTransaction: true,
    paymentType: 'paypal',
    billingAddress: {
      addressee: 'John Smith',
      company: 'Amce Inc',
      lines: [
        'Flat 12',
        '123 High Street'
      ],
      locality: 'London',
      region: 'New York',
      postalCode: '10010',
      country: 'United States',
      countryCode: 'US'
    },
    parentId: '83748371'
  }
})

egBetslipItemTransaction

CEH Core CEH Social proof

Emitted for every line item within a transaction.

Example schema

Field (JS Data Type) Description Required for

betslip.id (String)

Unique betslip Id

CEH Core

CEH Social proof

betslip.totalStake (Price)

The total stake of the betslip, rounded to 2 decimal places

CEH Core

betslip.totalStake.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

betslip.totalStake.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

betslip.quantity (Number)

The number of items in the betslip

CEH Core

betslip.total (Price)

The total cost of the betslip after the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

CEH Core

betslip.total.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

betslip.total.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

bet.betId (String)

A unique Id to identify the bet

CEH Core

bet.price (Price)

The price of the betslip line item after discounts, rounded to 2 decimal places

CEH Core

bet.price.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

bet.price.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

transaction.id (String)

An Id unique to the transaction

CEH Core

betslip.discount (Price)

The amount discounted from vouchers or promotions, rounded to 2 decimal places

Optional

betslip.discount.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.discount.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.tax (Price)

The total amount of tax applied to the betslip, rounded to 2 decimal places

Optional

betslip.tax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.tax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.totalPotential (Price)

The total potential of the entire betslip (bet return), rounded to 2 decimal places

Optional

betslip.totalPotential.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.totalPotential.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.totalOdds (Number)

The total odds of the betslip, expressed as a decimal, rounded to 2 decimal places

Optional

betslip.subtotal (Price)

The total cost of the betslip before the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

Optional

betslip.subtotal.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.subtotal.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.subtotalIncludingTax (Price)

The total cost of the betslip after the application of taxes, but before any discounts, promotions, etc, rounded to 2 decimal places

Optional

betslip.subtotalIncludingTax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.subtotalIncludingTax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

bet.potentialReturn (Price)

The potential return from the betslip line item, rounded to 2 decimal places

Optional

bet.potentialReturn.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.potentialReturn.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

bet.odds (Number)

The betslip line item odds, expressed as a decimal (for example, 3.0 is the decimal equivalent of 2/1, 4.0 is 3/1)

Optional

bet.startTime (Epochtimems)

The start time of the bet event

Optional

bet.multiBet (Boolean)

True if this bet is part of a multibet

Optional

bet.receiptId (String)

An Id to connect bets that are from the same multibet - bets from the same multibet will have the same receiptId

Optional

bet.betType (String)

The type of bet (for example, Single, Trixie or Luckey15)

Optional

bet.inplay (Boolean)

True if the bet is currently in play

Optional

bet.sport (String)

The sport that has been bet on (for example, football)

Optional

bet.competition (String)

The competition that has been bet on (for example, Barclays Premier League)

Optional

bet.eventName (String)

The name of the event that is being bet on (for example, West Ham v Tottenham)

Optional

bet.eventId (String)

An Id to identify the event

Optional

bet.selection (String)

The object being bet on, which could be a person, a team, an animal, etc

Optional

bet.selectionId (String)

An Id to identify the selection

Optional

bet.marketName (String)

The market name (for example, Match Betting)

Optional

bet.marketId (String)

An Id to identify the market type

Optional

bet.originalPrice (Price)

The original price of the betslip line item, rounded to 2 decimal places

Optional

bet.originalPrice.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.originalPrice.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

subtotal (Price)

The total cost of the bet line item before the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

Optional

subtotal.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

subtotal.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

discount (Price)

The amount discounted from vouchers or promotions for the bet line item, rounded to 2 decimal places

Optional

discount.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

discount.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

subtotalIncludingTax (Price)

The total cost of the bet line item after the application of taxes, but before any discounts, promotions, etc, rounded to 2 decimal places

Optional

subtotalIncludingTax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

subtotalIncludingTax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

transaction.firstTransaction (Boolean)

True only if this is the first ever transaction for the user

Optional

transaction.paymentType (String)

The type of payment

Optional

transaction.billingAddress.addressee (String)

Full name of the person for whom the address is for

Optional

transaction.billingAddress.company (String)

The name of the company

Optional

transaction.billingAddress.lines (String[])

An array of address lines NOT including city, region, postcode or country (maximum of 3 lines allowed)

Optional

transaction.billingAddress.locality (String)

The town or city

Optional

transaction.billingAddress.region (String)

E.g state in the US, county in the UK

Optional

transaction.billingAddress.postalCode (String)

Can be the country equivalent code (for example, zip code for the U.S)

Optional

transaction.billingAddress.country (String)

The name of the country

Optional

transaction.billingAddress.countryCode (String)

An ISO 3166-1 alpha-2 country code

Optional

transaction.parentId (String)

If the transaction is an amendment to a previous transaction, should be the Id of the parent transaction

Optional

Example JavaScript

uv.emit('egBetslipItemTransaction', {
  betslip: {
    id: null,
    totalStake: {
      value: 9.99,
      currency: 'USD'
    },
    quantity: null,
    discount: {
      value: 9.99,
      currency: 'USD'
    },
    tax: {
      value: 9.99,
      currency: 'USD'
    },
    totalPotential: {
      value: 9.99,
      currency: 'USD'
    },
    totalOdds: null,
    subtotal: {
      value: 9.99,
      currency: 'USD'
    },
    total: {
      value: 9.99,
      currency: 'USD'
    },
    subtotalIncludingTax: {
      value: 9.99,
      currency: 'USD'
    }
  },
  bet: {
    betId: null,
    price: {
      value: 9.99,
      currency: 'USD'
    },
    potentialReturn: {
      value: 9.99,
      currency: 'USD'
    },
    odds: null,
    startTime: null,
    multiBet: null,
    receiptId: null,
    betType: null,
    inplay: null,
    sport: null,
    competition: null,
    eventName: null,
    eventId: null,
    selection: null,
    selectionId: null,
    marketName: null,
    marketId: null,
    originalPrice: {
      value: 9.99,
      currency: 'USD'
    }
  },
  subtotal: {
    value: 9.99,
    currency: 'USD'
  },
  discount: {
    value: 9.99,
    currency: 'USD'
  },
  subtotalIncludingTax: {
    value: 9.99,
    currency: 'USD'
  },
  transaction: {
    id: '83748372',
    firstTransaction: true,
    paymentType: 'paypal',
    billingAddress: {
      addressee: 'John Smith',
      company: 'Amce Inc',
      lines: [
        'Flat 12',
        '123 High Street'
      ],
      locality: 'London',
      region: 'New York',
      postalCode: '10010',
      country: 'United States',
      countryCode: 'US'
    },
    parentId: '83748371'
  }
})

egGamePlay

CEH Core CEH Social proof

Represents a bet in a virtual game.

Example schema

Field (JS Data Type) Description Required for

game.gameId (String)

Describes a unique identifier for the virtual game.

CEH Core

CEH Social proof

game.name (String)

Describes a unique name for the virtual game.

CEH Core

game.type (String)

Describes the type of the virtual game.

CEH Core

playValue (Price)

The amount the user wants to play.

CEH Core

playValue.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

playValue.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

gamePlayId (String)

The Id of the gameplay event.

CEH Core

CEH Social proof

playType (String)

The type of play.

Optional

platform (String)

The platform the game runs on.

Optional

playMode (String)

The type of funds used to play the game (for example, virtual, digital, free play, bonus)

Optional

Example JavaScript

uv.emit('egGamePlay', {
  game: {
    gameId: '1234',
    name: 'Rainbow Riches',
    type: 'slots'
  },
  playType: 'spin',
  playValue: {
    value: 9.99,
    currency: 'USD'
  },
  platform: 'Flash',
  gamePlayId: 'A12e3',
  playMode: 'free play'
})

egInteraction

CEH Core

Emitted to track visitor interaction for certain elements on the page. These events are not emitted for all interactions on all elements, only those that are of interest.

Example schema

Field (JS Data Type) Description Required for

type (String)

The interaction type (for example, click, view, hover, download, share)

CEH Core

CEH Social proof

name (String)

A meaningful name unique to the event.

CEH Core

Example JavaScript

uv.emit('egInteraction', {
  type: 'click',
  name: 'TopNavHomeButton'
})

egBetSettle

CEH Core

Emitted when a bet is settled.

Example schema

Field (JS Data Type) Description Required for

bet.betId (String)

A unique Id to identify the bet

CEH Core

bet.price (Price)

The price of the betslip line item after discounts, rounded to 2 decimal places

CEH Core

bet.price.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

bet.price.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

return (Price)

The bet return if won

CEH Core

return.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

CEH Core

return.currency (String)

The ISO 4217 currency (for example, GBP, USD)

CEH Core

bet.potentialReturn (Price)

The potential return from the betslip line item, rounded to 2 decimal places

Optional

bet.potentialReturn.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.potentialReturn.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

bet.odds (Number)

The betslip line item odds, expressed as a decimal (for example, 3.0 is the decimal equivalent of 2/1, 4.0 is 3/1)

Optional

bet.startTime (Epochtimems)

The start time of the bet event

Optional

bet.multiBet (Boolean)

True if this bet is part of a multibet

Optional

bet.receiptId (String)

An Id to connect bets that are from the same multibet - bets from the same multibet will have the same receiptId

Optional

bet.betType (String)

The type of bet (for example, Single, Trixie or Luckey15)

Optional

bet.inplay (Boolean)

True if the bet is currently in play

Optional

bet.sport (String)

The sport that has been bet on (for example, football)

Optional

bet.competition (String)

The competition that has been bet on (for example, Barclays Premier League)

Optional

bet.eventName (String)

The name of the event that is being bet on (for example, West Ham v Tottenham)

Optional

bet.eventId (String)

An Id to identify the event

Optional

bet.selection (String)

The object being bet on, which could be a person, a team, an animal, etc

Optional

bet.selectionId (String)

An Id to identify the selection

Optional

bet.marketName (String)

The market name (for example, Match Betting)

Optional

bet.marketId (String)

An Id to identify the market type

Optional

bet.originalPrice (Price)

The original price of the betslip line item, rounded to 2 decimal places

Optional

bet.originalPrice.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.originalPrice.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

eventType (String)

The type of bet event (for example, 'listing', 'detail')

Optional

index (Number)

The index of the bet as it’s positioned on the page (for example, the first bet in a listing would be 0, the next would be 1)

Optional

settleType (String)

Whether the bet was won or lost

Optional

Example JavaScript

uv.emit('egBetSettle', {
  bet: {
    betId: null,
    price: {
      value: 9.99,
      currency: 'USD'
    },
    potentialReturn: {
      value: 9.99,
      currency: 'USD'
    },
    odds: null,
    startTime: null,
    multiBet: null,
    receiptId: null,
    betType: null,
    inplay: null,
    sport: null,
    competition: null,
    eventName: null,
    eventId: null,
    selection: null,
    selectionId: null,
    marketName: null,
    marketId: null,
    originalPrice: {
      value: 9.99,
      currency: 'USD'
    }
  },
  eventType: null,
  index: null,
  settleType: null,
  'return': {
    value: 9.99,
    currency: 'USD'
  }
})

egBet

Optional

Emitted when a bet is shown or rendered into a view or page. All bet instances should result in a bet event, whether the main focus of the page or as part of a listing.

Example schema

Field (JS Data Type) Description Required for

bet.betId (String)

A unique Id to identify the bet

Optional

bet.price (Price)

The price of the betslip line item after discounts, rounded to 2 decimal places

Optional

bet.price.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.price.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

bet.potentialReturn (Price)

The potential return from the betslip line item, rounded to 2 decimal places

Optional

bet.potentialReturn.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.potentialReturn.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

bet.odds (Number)

The betslip line item odds, expressed as a decimal (for example, 3.0 is the decimal equivalent of 2/1, 4.0 is 3/1)

Optional

bet.startTime (Epochtimems)

The start time of the bet event

Optional

bet.multiBet (Boolean)

True if this bet is part of a multibet

Optional

bet.receiptId (String)

An Id to connect bets that are from the same multibet - bets from the same multibet will have the same receiptId

Optional

bet.betType (String)

The type of bet (for example, Single, Trixie or Luckey15)

Optional

bet.inplay (Boolean)

True if the bet is currently in play

Optional

bet.sport (String)

The sport that has been bet on (for example, football)

Optional

bet.competition (String)

The competition that has been bet on (for example, Barclays Premier League)

Optional

bet.eventName (String)

The name of the event that is being bet on (for example, West Ham v Tottenham)

Optional

bet.eventId (String)

An Id to identify the event

Optional

bet.selection (String)

The object being bet on, which could be a person, a team, an animal, etc

Optional

bet.selectionId (String)

An Id to identify the selection

Optional

bet.marketName (String)

The market name (for example, Match Betting)

Optional

bet.marketId (String)

An Id to identify the market type

Optional

bet.originalPrice (Price)

The original price of the betslip line item, rounded to 2 decimal places

Optional

bet.originalPrice.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.originalPrice.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

eventType (String)

The type of bet event (for example, 'listing', 'detail')

Optional

index (Number)

The index of the bet as it’s positioned on the page (for example, the first bet in a listing would be 0, the next would be 1)

Optional

Example JavaScript

uv.emit('egBet', {
  bet: {
    betId: null,
    price: {
      value: 9.99,
      currency: 'USD'
    },
    potentialReturn: {
      value: 9.99,
      currency: 'USD'
    },
    odds: null,
    startTime: null,
    multiBet: null,
    receiptId: null,
    betType: null,
    inplay: null,
    sport: null,
    competition: null,
    eventName: null,
    eventId: null,
    selection: null,
    selectionId: null,
    marketName: null,
    marketId: null,
    originalPrice: {
      value: 9.99,
      currency: 'USD'
    }
  },
  eventType: null,
  index: null
})

egBetCashOut

Optional

Represents a Cash Out event, a real-time bet settlement.

Example schema

Field (JS Data Type) Description Required for

bet.betId (String)

A unique Id to identify the bet

Optional

bet.price (Price)

The price of the betslip line item after discounts, rounded to 2 decimal places

Optional

bet.price.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.price.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

bet.potentialReturn (Price)

The potential return from the betslip line item, rounded to 2 decimal places

Optional

bet.potentialReturn.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.potentialReturn.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

bet.odds (Number)

The betslip line item odds, expressed as a decimal (for example, 3.0 is the decimal equivalent of 2/1, 4.0 is 3/1)

Optional

bet.startTime (Epochtimems)

The start time of the bet event

Optional

bet.multiBet (Boolean)

True if this bet is part of a multibet

Optional

bet.receiptId (String)

An Id to connect bets that are from the same multibet - bets from the same multibet will have the same receiptId

Optional

bet.betType (String)

The type of bet (for example, Single, Trixie or Luckey15)

Optional

bet.inplay (Boolean)

True if the bet is currently in play

Optional

bet.sport (String)

The sport that has been bet on (for example, football)

Optional

bet.competition (String)

The competition that has been bet on (for example, Barclays Premier League)

Optional

bet.eventName (String)

The name of the event that is being bet on (for example, West Ham v Tottenham)

Optional

bet.eventId (String)

An Id to identify the event

Optional

bet.selection (String)

The object being bet on, which could be a person, a team, an animal, etc

Optional

bet.selectionId (String)

An Id to identify the selection

Optional

bet.marketName (String)

The market name (for example, Match Betting)

Optional

bet.marketId (String)

An Id to identify the market type

Optional

bet.originalPrice (Price)

The original price of the betslip line item, rounded to 2 decimal places

Optional

bet.originalPrice.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.originalPrice.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

eventType (String)

The type of bet event (for example, 'listing', 'detail')

Optional

index (Number)

The index of the bet as it’s positioned on the page (for example, the first bet in a listing would be 0, the next would be 1)

Optional

cashOutType (String)

The type of Cash Out (for example, partial or full)

Optional

cashoutPercentage (Number)

The Cash Out amount as a percentage of the bet return, which should be between 0 and 1 (for example, 0.5)

Optional

return (Price)

The bet return

Optional

return.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

return.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

Example JavaScript

uv.emit('egBetCashOut', {
  bet: {
    betId: null,
    price: {
      value: 9.99,
      currency: 'USD'
    },
    potentialReturn: {
      value: 9.99,
      currency: 'USD'
    },
    odds: null,
    startTime: null,
    multiBet: null,
    receiptId: null,
    betType: null,
    inplay: null,
    sport: null,
    competition: null,
    eventName: null,
    eventId: null,
    selection: null,
    selectionId: null,
    marketName: null,
    marketId: null,
    originalPrice: {
      value: 9.99,
      currency: 'USD'
    }
  },
  eventType: null,
  index: null,
  cashOutType: null,
  cashoutPercentage: null,
  'return': {
    value: 9.99,
    currency: 'USD'
  }
})

egBetslipItem

Optional

Emitted for every bet in a betslip shown to the user, either as an inline mini basket, or in a view that shows only the betslip. If the betslip is changed in any way, events representing each bet are emitted again.

Example schema

Field (JS Data Type) Description Required for

betslip.id (String)

Unique betslip Id

Optional

betslip.totalStake (Price)

The total stake of the betslip, rounded to 2 decimal places

Optional

betslip.totalStake.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.totalStake.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.quantity (Number)

The number of items in the betslip

Optional

betslip.discount (Price)

The amount discounted from vouchers or promotions, rounded to 2 decimal places

Optional

betslip.discount.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.discount.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.tax (Price)

The total amount of tax applied to the betslip, rounded to 2 decimal places

Optional

betslip.tax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.tax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.totalPotential (Price)

The total potential of the entire betslip (bet return), rounded to 2 decimal places

Optional

betslip.totalPotential.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.totalPotential.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.totalOdds (Number)

The total odds of the betslip, expressed as a decimal, rounded to 2 decimal places

Optional

betslip.subtotal (Price)

The total cost of the betslip before the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

Optional

betslip.subtotal.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.subtotal.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.total (Price)

The total cost of the betslip after the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

Optional

betslip.total.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.total.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

betslip.subtotalIncludingTax (Price)

The total cost of the betslip after the application of taxes, but before any discounts, promotions, etc, rounded to 2 decimal places

Optional

betslip.subtotalIncludingTax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

betslip.subtotalIncludingTax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

bet.betId (String)

A unique Id to identify the bet

Optional

bet.price (Price)

The price of the betslip line item after discounts, rounded to 2 decimal places

Optional

bet.price.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.price.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

bet.potentialReturn (Price)

The potential return from the betslip line item, rounded to 2 decimal places

Optional

bet.potentialReturn.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.potentialReturn.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

bet.odds (Number)

The betslip line item odds, expressed as a decimal (for example, 3.0 is the decimal equivalent of 2/1, 4.0 is 3/1)

Optional

bet.startTime (Epochtimems)

The start time of the bet event

Optional

bet.multiBet (Boolean)

True if this bet is part of a multibet

Optional

bet.receiptId (String)

An Id to connect bets that are from the same multibet - bets from the same multibet will have the same receiptId

Optional

bet.betType (String)

The type of bet (for example, Single, Trixie or Luckey15)

Optional

bet.inplay (Boolean)

True if the bet is currently in play

Optional

bet.sport (String)

The sport that has been bet on (for example, football)

Optional

bet.competition (String)

The competition that has been bet on (for example, Barclays Premier League)

Optional

bet.eventName (String)

The name of the event that is being bet on (for example, West Ham v Tottenham)

Optional

bet.eventId (String)

An Id to identify the event

Optional

bet.selection (String)

The object being bet on, which could be a person, a team, an animal, etc

Optional

bet.selectionId (String)

An Id to identify the selection

Optional

bet.marketName (String)

The market name (for example, Match Betting)

Optional

bet.marketId (String)

An Id to identify the market type

Optional

bet.originalPrice (Price)

The original price of the betslip line item, rounded to 2 decimal places

Optional

bet.originalPrice.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

bet.originalPrice.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

subtotal (Price)

The total cost of the bet line item before the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

Optional

subtotal.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

subtotal.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

discount (Price)

The amount discounted from vouchers or promotions for the bet line item, rounded to 2 decimal places

Optional

discount.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

discount.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

subtotalIncludingTax (Price)

The total cost of the bet line item after the application of taxes, but before any discounts, promotions, etc, rounded to 2 decimal places

Optional

subtotalIncludingTax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

subtotalIncludingTax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

Example JavaScript

uv.emit('egBetslipItem', {
  betslip: {
    id: null,
    totalStake: {
      value: 9.99,
      currency: 'USD'
    },
    quantity: null,
    discount: {
      value: 9.99,
      currency: 'USD'
    },
    tax: {
      value: 9.99,
      currency: 'USD'
    },
    totalPotential: {
      value: 9.99,
      currency: 'USD'
    },
    totalOdds: null,
    subtotal: {
      value: 9.99,
      currency: 'USD'
    },
    total: {
      value: 9.99,
      currency: 'USD'
    },
    subtotalIncludingTax: {
      value: 9.99,
      currency: 'USD'
    }
  },
  bet: {
    betId: null,
    price: {
      value: 9.99,
      currency: 'USD'
    },
    potentialReturn: {
      value: 9.99,
      currency: 'USD'
    },
    odds: null,
    startTime: null,
    multiBet: null,
    receiptId: null,
    betType: null,
    inplay: null,
    sport: null,
    competition: null,
    eventName: null,
    eventId: null,
    selection: null,
    selectionId: null,
    marketName: null,
    marketId: null,
    originalPrice: {
      value: 9.99,
      currency: 'USD'
    }
  },
  subtotal: {
    value: 9.99,
    currency: 'USD'
  },
  discount: {
    value: 9.99,
    currency: 'USD'
  },
  subtotalIncludingTax: {
    value: 9.99,
    currency: 'USD'
  }
})

egError

Optional

Emitted for every error.

Example schema

Field (JS Data Type) Description Required for

code (String)

The error code.

Optional

message (String)

The error message.

Optional

Example JavaScript

uv.emit('egError', {
  code: null,
  message: null
})

egFormSubmission

Optional

Should be emitted when a user submits a form.

Example schema

Field (JS Data Type) Description Required for

submissionId (String)

An ID unique to the form submission.

Optional

name (String)

The name of the form.

Optional

Example JavaScript

uv.emit('egFormSubmission', {
  submissionId: null,
  name: 'ContactUsEnquiry'
})

egVoucher

Optional

Emitted when a voucher code is entered.

Example schema

Field (JS Data Type) Description Required for

entry (String)

The voucher code entered by the user

Optional

entrySuccess (Boolean)

Whether or not the voucher is successfully applied to the transaction. An entry must be valid to be successful

Optional

voucher.id (String)

A unique Id to identify the voucher used, which should be the same for all visitors that are using the voucher/promotion

Optional

voucher.label (String)

A name or label for the voucher/promotion

Optional

transaction.id (String)

An Id unique to the transaction

Optional

transaction.firstTransaction (Boolean)

True only if this is the first ever transaction for the user

Optional

transaction.paymentType (String)

The type of payment

Optional

transaction.billingAddress.addressee (String)

Full name of the person for whom the address is for

Optional

transaction.billingAddress.company (String)

The name of the company

Optional

transaction.billingAddress.lines (String[])

An array of address lines NOT including city, region, postcode or country (maximum of 3 lines allowed)

Optional

transaction.billingAddress.locality (String)

The town or city

Optional

transaction.billingAddress.region (String)

E.g state in the US, county in the UK

Optional

transaction.billingAddress.postalCode (String)

Can be the country equivalent code (for example, zip code for the U.S)

Optional

transaction.billingAddress.country (String)

The name of the country

Optional

transaction.billingAddress.countryCode (String)

An ISO 3166-1 alpha-2 country code

Optional

transaction.parentId (String)

If the transaction is an amendment to a previous transaction, should be the Id of the parent transaction

Optional

basket.id (String)

Unique betslip Id

Optional

basket.totalStake (Price)

The total stake of the betslip, rounded to 2 decimal places

Optional

basket.totalStake.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

basket.totalStake.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

basket.quantity (Number)

The number of items in the betslip

Optional

basket.discount (Price)

The amount discounted from vouchers or promotions, rounded to 2 decimal places

Optional

basket.discount.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

basket.discount.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

basket.tax (Price)

The total amount of tax applied to the betslip, rounded to 2 decimal places

Optional

basket.tax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

basket.tax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

basket.totalPotential (Price)

The total potential of the entire betslip (bet return), rounded to 2 decimal places

Optional

basket.totalPotential.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

basket.totalPotential.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

basket.totalOdds (Number)

The total odds of the betslip, expressed as a decimal, rounded to 2 decimal places

Optional

basket.subtotal (Price)

The total cost of the betslip before the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

Optional

basket.subtotal.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

basket.subtotal.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

basket.total (Price)

The total cost of the betslip after the application of taxes, discounts, promotions, etc, rounded to 2 decimal places

Optional

basket.total.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

basket.total.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

basket.subtotalIncludingTax (Price)

The total cost of the betslip after the application of taxes, but before any discounts, promotions, etc, rounded to 2 decimal places

Optional

basket.subtotalIncludingTax.value (Number)

Depending on the context, this could be the value of the basket, product, package, total, subtotal, discount, shipping, item, game, bet, etc. Refer to our setup docs for more specific details for each vertical and event

Optional

basket.subtotalIncludingTax.currency (String)

The ISO 4217 currency (for example, GBP, USD)

Optional

Example JavaScript

uv.emit('egVoucher', {
  entry: null,
  entrySuccess: null,
  voucher: {
    id: 'AO8734',
    label: 'SummerPromo'
  },
  transaction: {
    id: '83748372',
    firstTransaction: true,
    paymentType: 'paypal',
    billingAddress: {
      addressee: 'John Smith',
      company: 'Amce Inc',
      lines: [
        'Flat 12',
        '123 High Street'
      ],
      locality: 'London',
      region: 'New York',
      postalCode: '10010',
      country: 'United States',
      countryCode: 'US'
    },
    parentId: '83748371'
  },
  basket: {
    id: null,
    totalStake: {
      value: 9.99,
      currency: 'USD'
    },
    quantity: null,
    discount: {
      value: 9.99,
      currency: 'USD'
    },
    tax: {
      value: 9.99,
      currency: 'USD'
    },
    totalPotential: {
      value: 9.99,
      currency: 'USD'
    },
    totalOdds: null,
    subtotal: {
      value: 9.99,
      currency: 'USD'
    },
    total: {
      value: 9.99,
      currency: 'USD'
    },
    subtotalIncludingTax: {
      value: 9.99,
      currency: 'USD'
    }
  }
})