Finance

This is for:

Developer

fiView

Experimentation Hub Core

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

Warning

Any CEH events emitted before the first fiView 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 either home, category, product, checkout, transaction, help, contact or other.

Experimentation Hub Core

subtypes (String[])

An unordered list of subtypes to describe the view.

Optional

environment (String)

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

Optional

language (String)

The selected language for the view.

Optional

country (String)

The selected country for the view.

Optional

siteVersion (String)

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

Optional

Example JavaScript

uv.emit('fiView', {
  type: 'category',
  subtypes: [
    'Mortgages',
    'Fixed Rate'
  ],
  environment: 'production',
  language: 'English',
  country: 'United Kingdom',
  siteVersion: 'desktop'
})

fiBasketTransactionSummary

Experimentation Hub Core

Emitted for each time a user transacts.

Example schema

Field (JS Data Type) Description Required for

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

Experimentation Hub Core

basket.total.currency (String)

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

Experimentation Hub Core

transaction.id (String)

An Id unique to the transaction

Experimentation Hub Core

basket.id (String)

Should be an ID unique to the basket.

Optional

basket.subtotal (Price)

The total cost of the basket excluding tax and discounts.

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 basket including tax and discounts.

Optional

basket.quantity (Number)

The number of items in the basket.

Optional

basket.discount (Price)

The amount discounted from vouchers or promotions.

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 tax for the basket.

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.subtotalIncludingTax (Price)

The total cost of the basket including tax, excluding discounts.

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

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('fiBasketTransactionSummary', {
  basket: {
    id: 'BASK123',
    subtotal: {
      value: 9.99,
      currency: 'USD'
    },
    total: {
      value: 9.99,
      currency: 'USD'
    },
    quantity: 10,
    discount: {
      value: 9.99,
      currency: 'USD'
    },
    tax: {
      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'
  }
})

fiUser

Optional

User events report metadata associated with a user.

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

Optional

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.email (String)

The user’s primary email address

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.device (String)

Device the user is browsing on - for example kiosk.

Optional

user.phone (String)

The user’s phone number.

Optional

user.dateOfBirth (String)

The user’s date of birth.

Optional

Example JavaScript

uv.emit('fiUser', {
  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',
    device: 'kiosk',
    phone: '555-555-5555',
    dateOfBirth: '12/31/1982'
  }
})

fiBasketItem

Optional

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

Example schema

Field (JS Data Type) Description Required for

basket.id (String)

Should be an ID unique to the basket.

Optional

basket.subtotal (Price)

The total cost of the basket excluding tax and discounts.

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 basket including tax and discounts.

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.quantity (Number)

The number of items in the basket.

Optional

basket.discount (Price)

The amount discounted from vouchers or promotions.

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 tax for the basket.

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.subtotalIncludingTax (Price)

The total cost of the basket including tax, excluding discounts.

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

product.name (String)

The product name.

Optional

product.category (String[])

An array of categories, highest level first, defining the product. Recommended to not excede 4 items long.

Optional

product.productType (String)

The type of the product

Optional

product.insurance.coverDuration (Number)

The duration of the cover, in days.

Optional

product.insurance.paymentFrequency (String)

The frequency of when the payments happen.

Optional

product.insurance.excess (Price)

The excess required.

Optional

product.insurance.excess.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

product.insurance.excess.currency (String)

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

Optional

product.savings.aer (Number)

The annual equivalent rate. Representats the interest rate if it was ompounded and paid. in one sum annualy.

Optional

product.savings.minimumDeposit (Number)

Minimum deposit value required to apply for the product.

Optional

product.savings.maximumDeposit (Number)

Maximum depoist value.

Optional

product.savings.monthlyAccountFees (Number)

Account fees of the product.

Optional

product.savings.depositValue (Number)

Amount deposited to create the account.

Optional

product.mortage.interestRateType (String)

The type of the interest rate.

Optional

product.mortage.interestRate (Number)

The interest rate in percent.

Optional

product.mortage.bookingFee (Price)

Fees upon booking.

Optional

product.mortage.bookingFee.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

product.mortage.bookingFee.currency (String)

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

Optional

product.mortage.completionFee (Price)

Fees payable upon full mortgage repayment.

Optional

product.mortage.completionFee.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

product.mortage.completionFee.currency (String)

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

Optional

product.mortage.maxLoanToValue (Price)

Maximum loan amount available as a percent of the property.

Optional

product.mortage.maxLoanToValue.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

product.mortage.maxLoanToValue.currency (String)

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

Optional

product.mortage.deposit (Price)

The deposit value.

Optional

product.mortage.deposit.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

product.mortage.deposit.currency (String)

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

Optional

product.mortage.loanAmount (Price)

The amount borrowed.

Optional

product.mortage.loanAmount.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

product.mortage.loanAmount.currency (String)

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

Optional

product.mortage.repaymentTerm (Number)

The set repayment term in years.

Optional

product.mortage.actualLoanToValue (Number)

Value of the loan relative to the value of the property.

Optional

product.mortage.baseSalary (Price)

Annual base salary.

Optional

product.mortage.baseSalary.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

product.mortage.baseSalary.currency (String)

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

Optional

product.mortage.expectedBonus (Price)

Any additional expected salary that is not guaranteed.

Optional

product.mortage.expectedBonus.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

product.mortage.expectedBonus.currency (String)

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

Optional

product.mortage.firstTimeBuyer (Boolean)

Describes whether the visitor is a first time buyer.

Optional

product.loan.loanValue (Price)

The value of the loan taken.

Optional

product.loan.loanValue.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

product.loan.loanValue.currency (String)

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

Optional

product.loan.startDate (Epochtimems)

The start date of the loan.

Optional

product.loan.endDate (Epochtimems)

The end date of the loan.

Optional

product.loan.loanTerm (Number)

Duration of the repayment term in days.

Optional

product.loan.paymentFrequency (String)

The frequency of when the payments happen.

Optional

product.loan.apr (Number)

The annual percentage rate.

Optional

product.loan.loanFees (Price)

Fees payable during arrangement

Optional

product.loan.loanFees.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

product.loan.loanFees.currency (String)

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

Optional

product.loan.completionFees (Price)

Fees payable on completion

Optional

product.loan.completionFees.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

product.loan.completionFees.currency (String)

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

Optional

product.investment.shareName (String)

The name of the share.

Optional

product.investment.sharePrice (Price)

The price of the share.

Optional

product.investment.sharePrice.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

product.investment.sharePrice.currency (String)

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

Optional

product.investment.openingPrice (Price)

The opening price is the price at which a security first trades upon the opening of an exchange.

Optional

product.investment.openingPrice.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

product.investment.openingPrice.currency (String)

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

Optional

product.investment.highPrice (Price)

Today’s high is the highest price at which a stock traded during the course of the day.

Optional

product.investment.highPrice.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

product.investment.highPrice.currency (String)

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

Optional

product.investment.lowPrice (Price)

Today’s low is the lowest price at which a stock traded during the course of the day.

Optional

product.investment.lowPrice.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

product.investment.lowPrice.currency (String)

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

Optional

product.investment.closePrice (Price)

The final price at which a security is traded on in a previous trading day.

Optional

product.investment.closePrice.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

product.investment.closePrice.currency (String)

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

Optional

product.investment.currency (String)

The share currency.

Optional

product.investment.symbol (String)

The share symbol.

Optional

product.investment.securityType (String)

The security type of the share.

Optional

product.investment.exchange (String)

The location where the product is being traded.

Optional

product.investment.fundType (String)

The type of the fund.

Optional

product.investment.fundManager (String)

The manager of the fund.

Optional

product.investment.launchDate (Epochtimems)

The launch date of the fund.

Optional

product.investment.fundSize (Price)

The size of the fund.

Optional

product.investment.fundSize.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

product.investment.fundSize.currency (String)

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

Optional

product.investment.holdingsAmount (Number)

The amount of holdings.

Optional

product.productId (String)

ID uniquely identifying the finance product.

Optional

product.price (Price)

The price of the product after discounts.

Optional

product.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

product.price.currency (String)

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

Optional

product.originalPrice (Price)

The original price of the product.

Optional

product.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

product.originalPrice.currency (String)

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

Optional

product.onSale (Boolean)

Is item on sale?

Optional

product.categories (String[])

A list of one or more product categories this product belongs to. Each category is a full path of a category where each level is separated by ' > '.

Optional

quantity (Number)

The number of products described by the line item.

Optional

subtotal (Price)

The total cost of the basket excluding tax and discounts.

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 product.

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 price of the item including tax, excluding discounts.

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('fiBasketItem', {
  basket: {
    id: 'BASK123',
    subtotal: {
      value: 9.99,
      currency: 'USD'
    },
    total: {
      value: 9.99,
      currency: 'USD'
    },
    quantity: 10,
    discount: {
      value: 9.99,
      currency: 'USD'
    },
    tax: {
      value: 9.99,
      currency: 'USD'
    },
    subtotalIncludingTax: {
      value: 9.99,
      currency: 'USD'
    }
  },
  product: {
    name: 'Finance product A',
    category: [
      'Car Insurance',
      'European cover'
    ],
    productType: 'loan',
    insurance: {
      coverDuration: 210,
      paymentFrequency: 'annual',
      excess: {
        value: 9.99,
        currency: 'USD'
      }
    },
    savings: {
      aer: 1.25,
      minimumDeposit: 1000,
      maximumDeposit: 100000,
      monthlyAccountFees: 5,
      depositValue: 2000
    },
    mortage: {
      interestRateType: 'variable',
      interestRate: 4.79,
      bookingFee: {
        value: 9.99,
        currency: 'USD'
      },
      completionFee: {
        value: 9.99,
        currency: 'USD'
      },
      maxLoanToValue: {
        value: 9.99,
        currency: 'USD'
      },
      deposit: {
        value: 9.99,
        currency: 'USD'
      },
      loanAmount: {
        value: 9.99,
        currency: 'USD'
      },
      repaymentTerm: 25,
      actualLoanToValue: null,
      baseSalary: {
        value: 9.99,
        currency: 'USD'
      },
      expectedBonus: {
        value: 9.99,
        currency: 'USD'
      },
      firstTimeBuyer: null
    },
    loan: {
      loanValue: {
        value: 9.99,
        currency: 'USD'
      },
      startDate: 1461236327,
      endDate: 1461236361,
      loanTerm: 1325,
      paymentFrequency: 'monthly',
      apr: 4.5,
      loanFees: {
        value: 9.99,
        currency: 'USD'
      },
      completionFees: {
        value: 9.99,
        currency: 'USD'
      }
    },
    investment: {
      shareName: 'BT',
      sharePrice: {
        value: 9.99,
        currency: 'USD'
      },
      openingPrice: {
        value: 9.99,
        currency: 'USD'
      },
      highPrice: {
        value: 9.99,
        currency: 'USD'
      },
      lowPrice: {
        value: 9.99,
        currency: 'USD'
      },
      closePrice: {
        value: 9.99,
        currency: 'USD'
      },
      currency: 'USD',
      symbol: 'BEL20',
      securityType: 'index',
      exchange: 'Brussels',
      fundType: 'UCITS',
      fundManager: 'Paul Gibson',
      launchDate: 1461236327,
      fundSize: {
        value: 9.99,
        currency: 'USD'
      },
      holdingsAmount: 50
    },
    productId: 'abc123',
    price: {
      value: 9.99,
      currency: 'USD'
    },
    originalPrice: {
      value: 9.99,
      currency: 'USD'
    },
    onSale: null,
    categories: [
      'Car insurance > European cover',
      'Special offers'
    ]
  },
  quantity: 2,
  subtotal: {
    value: 9.99,
    currency: 'USD'
  },
  discount: {
    value: 9.99,
    currency: 'USD'
  },
  subtotalIncludingTax: {
    value: 9.99,
    currency: 'USD'
  }
})

fiBasketItemAction

Optional

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

Example schema

Field (JS Data Type) Description Required for

basket.id (String)

Should be an ID unique to the basket.

Optional

basket.subtotal (Price)

The total cost of the basket excluding tax and discounts.

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 basket including tax and discounts.

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.quantity (Number)

The number of items in the basket.

Optional

basket.discount (Price)

The amount discounted from vouchers or promotions.

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 tax for the basket.

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.subtotalIncludingTax (Price)

The total cost of the basket including tax, excluding discounts.

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

product.name (String)

The product name.

Optional

product.category (String[])

An array of categories, highest level first, defining the product. Recommended to not excede 4 items long.

Optional

product.productType (String)

The type of the product

Optional

product.insurance.coverDuration (Number)

The duration of the cover, in days.

Optional

product.insurance.paymentFrequency (String)

The frequency of when the payments happen.

Optional

product.insurance.excess (Price)

The excess required.

Optional

product.insurance.excess.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

product.insurance.excess.currency (String)

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

Optional

product.savings.aer (Number)

The annual equivalent rate. Representats the interest rate if it was ompounded and paid. in one sum annualy.

Optional

product.savings.minimumDeposit (Number)

Minimum deposit value required to apply for the product.

Optional

product.savings.maximumDeposit (Number)

Maximum depoist value.

Optional

product.savings.monthlyAccountFees (Number)

Account fees of the product.

Optional

product.savings.depositValue (Number)

Amount deposited to create the account.

Optional

product.mortage.interestRateType (String)

The type of the interest rate.

Optional

product.mortage.interestRate (Number)

The interest rate in percent.

Optional

product.mortage.bookingFee (Price)

Fees upon booking.

Optional

product.mortage.bookingFee.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

product.mortage.bookingFee.currency (String)

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

Optional

product.mortage.completionFee (Price)

Fees payable upon full mortgage repayment.

Optional

product.mortage.completionFee.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

product.mortage.completionFee.currency (String)

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

Optional

product.mortage.maxLoanToValue (Price)

Maximum loan amount available as a percent of the property.

Optional

product.mortage.maxLoanToValue.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

product.mortage.maxLoanToValue.currency (String)

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

Optional

product.mortage.deposit (Price)

The deposit value.

Optional

product.mortage.deposit.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

product.mortage.deposit.currency (String)

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

Optional

product.mortage.loanAmount (Price)

The amount borrowed.

Optional

product.mortage.loanAmount.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

product.mortage.loanAmount.currency (String)

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

Optional

product.mortage.repaymentTerm (Number)

The set repayment term in years.

Optional

product.mortage.actualLoanToValue (Number)

Value of the loan relative to the value of the property.

Optional

product.mortage.baseSalary (Price)

Annual base salary.

Optional

product.mortage.baseSalary.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

product.mortage.baseSalary.currency (String)

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

Optional

product.mortage.expectedBonus (Price)

Any additional expected salary that is not guaranteed.

Optional

product.mortage.expectedBonus.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

product.mortage.expectedBonus.currency (String)

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

Optional

product.mortage.firstTimeBuyer (Boolean)

Describes whether the visitor is a first time buyer.

Optional

product.loan.loanValue (Price)

The value of the loan taken.

Optional

product.loan.loanValue.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

product.loan.loanValue.currency (String)

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

Optional

product.loan.startDate (Epochtimems)

The start date of the loan.

Optional

product.loan.endDate (Epochtimems)

The end date of the loan.

Optional

product.loan.loanTerm (Number)

Duration of the repayment term in days.

Optional

product.loan.paymentFrequency (String)

The frequency of when the payments happen.

Optional

product.loan.apr (Number)

The annual percentage rate.

Optional

product.loan.loanFees (Price)

Fees payable during arrangement

Optional

product.loan.loanFees.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

product.loan.loanFees.currency (String)

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

Optional

product.loan.completionFees (Price)

Fees payable on completion

Optional

product.loan.completionFees.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

product.loan.completionFees.currency (String)

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

Optional

product.investment.shareName (String)

The name of the share.

Optional

product.investment.sharePrice (Price)

The price of the share.

Optional

product.investment.sharePrice.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

product.investment.sharePrice.currency (String)

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

Optional

product.investment.openingPrice (Price)

The opening price is the price at which a security first trades upon the opening of an exchange.

Optional

product.investment.openingPrice.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

product.investment.openingPrice.currency (String)

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

Optional

product.investment.highPrice (Price)

Today’s high is the highest price at which a stock traded during the course of the day.

Optional

product.investment.highPrice.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

product.investment.highPrice.currency (String)

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

Optional

product.investment.lowPrice (Price)

Today’s low is the lowest price at which a stock traded during the course of the day.

Optional

product.investment.lowPrice.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

product.investment.lowPrice.currency (String)

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

Optional

product.investment.closePrice (Price)

The final price at which a security is traded on in a previous trading day.

Optional

product.investment.closePrice.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

product.investment.closePrice.currency (String)

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

Optional

product.investment.currency (String)

The share currency.

Optional

product.investment.symbol (String)

The share symbol.

Optional

product.investment.securityType (String)

The security type of the share.

Optional

product.investment.exchange (String)

The location where the product is being traded.

Optional

product.investment.fundType (String)

The type of the fund.

Optional

product.investment.fundManager (String)

The manager of the fund.

Optional

product.investment.launchDate (Epochtimems)

The launch date of the fund.

Optional

product.investment.fundSize (Price)

The size of the fund.

Optional

product.investment.fundSize.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

product.investment.fundSize.currency (String)

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

Optional

product.investment.holdingsAmount (Number)

The amount of holdings.

Optional

product.productId (String)

ID uniquely identifying the finance product.

Optional

product.price (Price)

The price of the product after discounts.

Optional

product.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

product.price.currency (String)

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

Optional

product.originalPrice (Price)

The original price of the product.

Optional

product.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

product.originalPrice.currency (String)

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

Optional

product.onSale (Boolean)

Is item on sale?

Optional

product.categories (String[])

A list of one or more product categories this product belongs to. Each category is a full path of a category where each level is separated by ' > '.

Optional

quantity (Number)

The number of products described by the line item.

Optional

subtotal (Price)

The total cost of the basket excluding tax and discounts.

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 product.

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 price of the item including tax, excluding discounts.

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('fiBasketItemAction', {
  basket: {
    id: 'BASK123',
    subtotal: {
      value: 9.99,
      currency: 'USD'
    },
    total: {
      value: 9.99,
      currency: 'USD'
    },
    quantity: 10,
    discount: {
      value: 9.99,
      currency: 'USD'
    },
    tax: {
      value: 9.99,
      currency: 'USD'
    },
    subtotalIncludingTax: {
      value: 9.99,
      currency: 'USD'
    }
  },
  product: {
    name: 'Finance product A',
    category: [
      'Car Insurance',
      'European cover'
    ],
    productType: 'loan',
    insurance: {
      coverDuration: 210,
      paymentFrequency: 'annual',
      excess: {
        value: 9.99,
        currency: 'USD'
      }
    },
    savings: {
      aer: 1.25,
      minimumDeposit: 1000,
      maximumDeposit: 100000,
      monthlyAccountFees: 5,
      depositValue: 2000
    },
    mortage: {
      interestRateType: 'variable',
      interestRate: 4.79,
      bookingFee: {
        value: 9.99,
        currency: 'USD'
      },
      completionFee: {
        value: 9.99,
        currency: 'USD'
      },
      maxLoanToValue: {
        value: 9.99,
        currency: 'USD'
      },
      deposit: {
        value: 9.99,
        currency: 'USD'
      },
      loanAmount: {
        value: 9.99,
        currency: 'USD'
      },
      repaymentTerm: 25,
      actualLoanToValue: null,
      baseSalary: {
        value: 9.99,
        currency: 'USD'
      },
      expectedBonus: {
        value: 9.99,
        currency: 'USD'
      },
      firstTimeBuyer: null
    },
    loan: {
      loanValue: {
        value: 9.99,
        currency: 'USD'
      },
      startDate: 1461236327,
      endDate: 1461236361,
      loanTerm: 1325,
      paymentFrequency: 'monthly',
      apr: 4.5,
      loanFees: {
        value: 9.99,
        currency: 'USD'
      },
      completionFees: {
        value: 9.99,
        currency: 'USD'
      }
    },
    investment: {
      shareName: 'BT',
      sharePrice: {
        value: 9.99,
        currency: 'USD'
      },
      openingPrice: {
        value: 9.99,
        currency: 'USD'
      },
      highPrice: {
        value: 9.99,
        currency: 'USD'
      },
      lowPrice: {
        value: 9.99,
        currency: 'USD'
      },
      closePrice: {
        value: 9.99,
        currency: 'USD'
      },
      currency: 'USD',
      symbol: 'BEL20',
      securityType: 'index',
      exchange: 'Brussels',
      fundType: 'UCITS',
      fundManager: 'Paul Gibson',
      launchDate: 1461236327,
      fundSize: {
        value: 9.99,
        currency: 'USD'
      },
      holdingsAmount: 50
    },
    productId: 'abc123',
    price: {
      value: 9.99,
      currency: 'USD'
    },
    originalPrice: {
      value: 9.99,
      currency: 'USD'
    },
    onSale: null,
    categories: [
      'Car insurance > European cover',
      'Special offers'
    ]
  },
  quantity: 2,
  subtotal: {
    value: 9.99,
    currency: 'USD'
  },
  discount: {
    value: 9.99,
    currency: 'USD'
  },
  subtotalIncludingTax: {
    value: 9.99,
    currency: 'USD'
  },
  action: 'add'
})

fiBasketItemTransaction

Optional

Emitted for every line item within a transaction.

Example schema

Field (JS Data Type) Description Required for

basket.id (String)

Should be an ID unique to the basket.

Optional

basket.subtotal (Price)

The total cost of the basket excluding tax and discounts.

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 basket including tax and discounts.

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.quantity (Number)

The number of items in the basket.

Optional

basket.discount (Price)

The amount discounted from vouchers or promotions.

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 tax for the basket.

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.subtotalIncludingTax (Price)

The total cost of the basket including tax, excluding discounts.

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

product.name (String)

The product name.

Optional

product.category (String[])

An array of categories, highest level first, defining the product. Recommended to not excede 4 items long.

Optional

product.productType (String)

The type of the product

Optional

product.insurance.coverDuration (Number)

The duration of the cover, in days.

Optional

product.insurance.paymentFrequency (String)

The frequency of when the payments happen.

Optional

product.insurance.excess (Price)

The excess required.

Optional

product.insurance.excess.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

product.insurance.excess.currency (String)

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

Optional

product.savings.aer (Number)

The annual equivalent rate. Representats the interest rate if it was ompounded and paid. in one sum annualy.

Optional

product.savings.minimumDeposit (Number)

Minimum deposit value required to apply for the product.

Optional

product.savings.maximumDeposit (Number)

Maximum depoist value.

Optional

product.savings.monthlyAccountFees (Number)

Account fees of the product.

Optional

product.savings.depositValue (Number)

Amount deposited to create the account.

Optional

product.mortage.interestRateType (String)

The type of the interest rate.

Optional

product.mortage.interestRate (Number)

The interest rate in percent.

Optional

product.mortage.bookingFee (Price)

Fees upon booking.

Optional

product.mortage.bookingFee.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

product.mortage.bookingFee.currency (String)

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

Optional

product.mortage.completionFee (Price)

Fees payable upon full mortgage repayment.

Optional

product.mortage.completionFee.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

product.mortage.completionFee.currency (String)

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

Optional

product.mortage.maxLoanToValue (Price)

Maximum loan amount available as a percent of the property.

Optional

product.mortage.maxLoanToValue.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

product.mortage.maxLoanToValue.currency (String)

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

Optional

product.mortage.deposit (Price)

The deposit value.

Optional

product.mortage.deposit.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

product.mortage.deposit.currency (String)

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

Optional

product.mortage.loanAmount (Price)

The amount borrowed.

Optional

product.mortage.loanAmount.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

product.mortage.loanAmount.currency (String)

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

Optional

product.mortage.repaymentTerm (Number)

The set repayment term in years.

Optional

product.mortage.actualLoanToValue (Number)

Value of the loan relative to the value of the property.

Optional

product.mortage.baseSalary (Price)

Annual base salary.

Optional

product.mortage.baseSalary.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

product.mortage.baseSalary.currency (String)

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

Optional

product.mortage.expectedBonus (Price)

Any additional expected salary that is not guaranteed.

Optional

product.mortage.expectedBonus.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

product.mortage.expectedBonus.currency (String)

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

Optional

product.mortage.firstTimeBuyer (Boolean)

Describes whether the visitor is a first time buyer.

Optional

product.loan.loanValue (Price)

The value of the loan taken.

Optional

product.loan.loanValue.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

product.loan.loanValue.currency (String)

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

Optional

product.loan.startDate (Epochtimems)

The start date of the loan.

Optional

product.loan.endDate (Epochtimems)

The end date of the loan.

Optional

product.loan.loanTerm (Number)

Duration of the repayment term in days.

Optional

product.loan.paymentFrequency (String)

The frequency of when the payments happen.

Optional

product.loan.apr (Number)

The annual percentage rate.

Optional

product.loan.loanFees (Price)

Fees payable during arrangement

Optional

product.loan.loanFees.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

product.loan.loanFees.currency (String)

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

Optional

product.loan.completionFees (Price)

Fees payable on completion

Optional

product.loan.completionFees.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

product.loan.completionFees.currency (String)

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

Optional

product.investment.shareName (String)

The name of the share.

Optional

product.investment.sharePrice (Price)

The price of the share.

Optional

product.investment.sharePrice.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

product.investment.sharePrice.currency (String)

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

Optional

product.investment.openingPrice (Price)

The opening price is the price at which a security first trades upon the opening of an exchange.

Optional

product.investment.openingPrice.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

product.investment.openingPrice.currency (String)

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

Optional

product.investment.highPrice (Price)

Today’s high is the highest price at which a stock traded during the course of the day.

Optional

product.investment.highPrice.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

product.investment.highPrice.currency (String)

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

Optional

product.investment.lowPrice (Price)

Today’s low is the lowest price at which a stock traded during the course of the day.

Optional

product.investment.lowPrice.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

product.investment.lowPrice.currency (String)

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

Optional

product.investment.closePrice (Price)

The final price at which a security is traded on in a previous trading day.

Optional

product.investment.closePrice.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

product.investment.closePrice.currency (String)

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

Optional

product.investment.currency (String)

The share currency.

Optional

product.investment.symbol (String)

The share symbol.

Optional

product.investment.securityType (String)

The security type of the share.

Optional

product.investment.exchange (String)

The location where the product is being traded.

Optional

product.investment.fundType (String)

The type of the fund.

Optional

product.investment.fundManager (String)

The manager of the fund.

Optional

product.investment.launchDate (Epochtimems)

The launch date of the fund.

Optional

product.investment.fundSize (Price)

The size of the fund.

Optional

product.investment.fundSize.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

product.investment.fundSize.currency (String)

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

Optional

product.investment.holdingsAmount (Number)

The amount of holdings.

Optional

product.productId (String)

ID uniquely identifying the finance product.

Optional

product.price (Price)

The price of the product after discounts.

Optional

product.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

product.price.currency (String)

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

Optional

product.originalPrice (Price)

The original price of the product.

Optional

product.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

product.originalPrice.currency (String)

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

Optional

product.onSale (Boolean)

Is item on sale?

Optional

product.categories (String[])

A list of one or more product categories this product belongs to. Each category is a full path of a category where each level is separated by ' > '.

Optional

quantity (Number)

The number of products described by the line item.

Optional

subtotal (Price)

The total cost of the basket excluding tax and discounts.

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 product.

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 price of the item including tax, excluding discounts.

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.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

Example JavaScript

uv.emit('fiBasketItemTransaction', {
  basket: {
    id: 'BASK123',
    subtotal: {
      value: 9.99,
      currency: 'USD'
    },
    total: {
      value: 9.99,
      currency: 'USD'
    },
    quantity: 10,
    discount: {
      value: 9.99,
      currency: 'USD'
    },
    tax: {
      value: 9.99,
      currency: 'USD'
    },
    subtotalIncludingTax: {
      value: 9.99,
      currency: 'USD'
    }
  },
  product: {
    name: 'Finance product A',
    category: [
      'Car Insurance',
      'European cover'
    ],
    productType: 'loan',
    insurance: {
      coverDuration: 210,
      paymentFrequency: 'annual',
      excess: {
        value: 9.99,
        currency: 'USD'
      }
    },
    savings: {
      aer: 1.25,
      minimumDeposit: 1000,
      maximumDeposit: 100000,
      monthlyAccountFees: 5,
      depositValue: 2000
    },
    mortage: {
      interestRateType: 'variable',
      interestRate: 4.79,
      bookingFee: {
        value: 9.99,
        currency: 'USD'
      },
      completionFee: {
        value: 9.99,
        currency: 'USD'
      },
      maxLoanToValue: {
        value: 9.99,
        currency: 'USD'
      },
      deposit: {
        value: 9.99,
        currency: 'USD'
      },
      loanAmount: {
        value: 9.99,
        currency: 'USD'
      },
      repaymentTerm: 25,
      actualLoanToValue: null,
      baseSalary: {
        value: 9.99,
        currency: 'USD'
      },
      expectedBonus: {
        value: 9.99,
        currency: 'USD'
      },
      firstTimeBuyer: null
    },
    loan: {
      loanValue: {
        value: 9.99,
        currency: 'USD'
      },
      startDate: 1461236327,
      endDate: 1461236361,
      loanTerm: 1325,
      paymentFrequency: 'monthly',
      apr: 4.5,
      loanFees: {
        value: 9.99,
        currency: 'USD'
      },
      completionFees: {
        value: 9.99,
        currency: 'USD'
      }
    },
    investment: {
      shareName: 'BT',
      sharePrice: {
        value: 9.99,
        currency: 'USD'
      },
      openingPrice: {
        value: 9.99,
        currency: 'USD'
      },
      highPrice: {
        value: 9.99,
        currency: 'USD'
      },
      lowPrice: {
        value: 9.99,
        currency: 'USD'
      },
      closePrice: {
        value: 9.99,
        currency: 'USD'
      },
      currency: 'USD',
      symbol: 'BEL20',
      securityType: 'index',
      exchange: 'Brussels',
      fundType: 'UCITS',
      fundManager: 'Paul Gibson',
      launchDate: 1461236327,
      fundSize: {
        value: 9.99,
        currency: 'USD'
      },
      holdingsAmount: 50
    },
    productId: 'abc123',
    price: {
      value: 9.99,
      currency: 'USD'
    },
    originalPrice: {
      value: 9.99,
      currency: 'USD'
    },
    onSale: null,
    categories: [
      'Car insurance > European cover',
      'Special offers'
    ]
  },
  quantity: 2,
  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'
  }
})

fiBasketSummary

Optional

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

basket.id (String)

Should be an ID unique to the basket.

Optional

basket.subtotal (Price)

The total cost of the basket excluding tax and discounts.

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 basket including tax and discounts.

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.quantity (Number)

The number of items in the basket.

Optional

basket.discount (Price)

The amount discounted from vouchers or promotions.

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 tax for the basket.

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.subtotalIncludingTax (Price)

The total cost of the basket including tax, excluding discounts.

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('fiBasketSummary', {
  basket: {
    id: 'BASK123',
    subtotal: {
      value: 9.99,
      currency: 'USD'
    },
    total: {
      value: 9.99,
      currency: 'USD'
    },
    quantity: 10,
    discount: {
      value: 9.99,
      currency: 'USD'
    },
    tax: {
      value: 9.99,
      currency: 'USD'
    },
    subtotalIncludingTax: {
      value: 9.99,
      currency: 'USD'
    }
  }
})

fiError

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('fiError', {
  code: null,
  message: null
})

fiFilterCriteria

Optional

Emitted once or more on listing and search result views in order to report the filters applied and the sorting. On search views, the event is emitted with the name search, operator equal and value as the search query. On category views, for each category the view falls under, the event is emitted with the name category, operator equal and value the category name for each category. Ranges are modeled by emitting the upper and lower bound as separate filter criteria events, setting the operator as greater than or less than. When visitors add, remove or change a filter, a new view event is emitted followed by all FilterCriteria that are still active after the change.

Example schema

Field (JS Data Type) Description Required for

summary.pagination (Number)

The number of items shown per page to the visitor.

Optional

summary.resultCount (Number)

The number of items that match the current query and/or filters. Should be more than or equal to the number of items shown to the visitor.

Optional

summary.layout (String)

The user’s chosen visual layout of the listing (for example, list, grid or map)

Optional

summary.sortBy (String)

The sort column.

Optional

summary.sortDirection (String)

The sort direction, that is, ascending or descending.

Optional

name (String)

The name of criteria (for example, insurance, loans, brands, investments)." Should be category on category pages.

Optional

operator (String)

Can be equal, not equal, greater than or less than.

Optional

value.boolean (Boolean)

Should only be populated if the type is 'Boolean'.

Optional

value.integer (String)

Should only be populated if the type is 'Integer'.

Optional

value.long (Long)

Should only be populated if the type is 'Long'.

Optional

value.float (Number)

Should only be populated if the type is 'Float'.

Optional

value.timestamp (Epochtimems)

Should only be populated if the type is 'EpochTimeMs'.

Optional

value.money (Number)

Should only be populated if the type is 'Money'.

Optional

value.currency (String)

Should only be populated if the type is 'Currency'.

Optional

value.email (String)

Should only be populated if the type is 'Email'.

Optional

value.url (String)

Should only be populated if the type is 'URL'.

Optional

value.string (String)

Should only be populated if the type is 'String'.

Optional

value.text (String)

Should only be populated if the type is 'Text'.

Optional

value.date (Date)

Should only be populated if the type is 'Date'.

Optional

value.json (Json)

Should only be populated if the type is 'JSON'.

Optional

Example JavaScript

uv.emit('fiFilterCriteria', {
  summary: {
    pagination: 1,
    resultCount: 20,
    layout: 'list',
    sortBy: 'price',
    sortDirection: 'descending'
  },
  name: 'price',
  operator: 'less than',
  value: {
    'boolean': true,
    integer: '10',
    'long': 1238902625,
    'float': 5.5,
    timestamp: 1455748626070,
    money: 9.99,
    currency: 'USD',
    email: 'john.smith@gmail.com',
    url: 'http://demo.qubitproducts.com',
    string: 'This is some text',
    text: 'This is some longer text',
    date: '2016-05-20T17:33:45+00:00',
    json: '{"key":"value","anotherKey":123,"yetAnotherKey":{"subKey":true}}'
  }
})

fiFormSubmission

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('fiFormSubmission', {
  submissionId: null,
  name: 'ContactUsEnquiry'
})

fiInteraction

Optional

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)

Optional

name (String)

A meaningful name unique to the event.

Optional

Example JavaScript

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

fiProduct

Optional

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

Example schema

Field (JS Data Type) Description Required for

product.name (String)

The product name.

Optional

product.category (String[])

An array of categories, highest level first, defining the product. Recommended to not excede 4 items long.

Optional

product.productType (String)

The type of the product

Optional

product.insurance.coverDuration (Number)

The duration of the cover, in days.

Optional

product.insurance.paymentFrequency (String)

The frequency of when the payments happen.

Optional

product.insurance.excess (Price)

The excess required.

Optional

product.insurance.excess.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

product.insurance.excess.currency (String)

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

Optional

product.savings.aer (Number)

The annual equivalent rate. Representats the interest rate if it was ompounded and paid. in one sum annualy.

Optional

product.savings.minimumDeposit (Number)

Minimum deposit value required to apply for the product.

Optional

product.savings.maximumDeposit (Number)

Maximum depoist value.

Optional

product.savings.monthlyAccountFees (Number)

Account fees of the product.

Optional

product.savings.depositValue (Number)

Amount deposited to create the account.

Optional

product.mortage.interestRateType (String)

The type of the interest rate.

Optional

product.mortage.interestRate (Number)

The interest rate in percent.

Optional

product.mortage.bookingFee (Price)

Fees upon booking.

Optional

product.mortage.bookingFee.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

product.mortage.bookingFee.currency (String)

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

Optional

product.mortage.completionFee (Price)

Fees payable upon full mortgage repayment.

Optional

product.mortage.completionFee.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

product.mortage.completionFee.currency (String)

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

Optional

product.mortage.maxLoanToValue (Price)

Maximum loan amount available as a percent of the property.

Optional

product.mortage.maxLoanToValue.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

product.mortage.maxLoanToValue.currency (String)

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

Optional

product.mortage.deposit (Price)

The deposit value.

Optional

product.mortage.deposit.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

product.mortage.deposit.currency (String)

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

Optional

product.mortage.loanAmount (Price)

The amount borrowed.

Optional

product.mortage.loanAmount.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

product.mortage.loanAmount.currency (String)

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

Optional

product.mortage.repaymentTerm (Number)

The set repayment term in years.

Optional

product.mortage.actualLoanToValue (Number)

Value of the loan relative to the value of the property.

Optional

product.mortage.baseSalary (Price)

Annual base salary.

Optional

product.mortage.baseSalary.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

product.mortage.baseSalary.currency (String)

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

Optional

product.mortage.expectedBonus (Price)

Any additional expected salary that is not guaranteed.

Optional

product.mortage.expectedBonus.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

product.mortage.expectedBonus.currency (String)

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

Optional

product.mortage.firstTimeBuyer (Boolean)

Describes whether the visitor is a first time buyer.

Optional

product.loan.loanValue (Price)

The value of the loan taken.

Optional

product.loan.loanValue.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

product.loan.loanValue.currency (String)

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

Optional

product.loan.startDate (Epochtimems)

The start date of the loan.

Optional

product.loan.endDate (Epochtimems)

The end date of the loan.

Optional

product.loan.loanTerm (Number)

Duration of the repayment term in days.

Optional

product.loan.paymentFrequency (String)

The frequency of when the payments happen.

Optional

product.loan.apr (Number)

The annual percentage rate.

Optional

product.loan.loanFees (Price)

Fees payable during arrangement

Optional

product.loan.loanFees.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

product.loan.loanFees.currency (String)

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

Optional

product.loan.completionFees (Price)

Fees payable on completion

Optional

product.loan.completionFees.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

product.loan.completionFees.currency (String)

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

Optional

product.investment.shareName (String)

The name of the share.

Optional

product.investment.sharePrice (Price)

The price of the share.

Optional

product.investment.sharePrice.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

product.investment.sharePrice.currency (String)

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

Optional

product.investment.openingPrice (Price)

The opening price is the price at which a security first trades upon the opening of an exchange.

Optional

product.investment.openingPrice.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

product.investment.openingPrice.currency (String)

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

Optional

product.investment.highPrice (Price)

Today’s high is the highest price at which a stock traded during the course of the day.

Optional

product.investment.highPrice.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

product.investment.highPrice.currency (String)

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

Optional

product.investment.lowPrice (Price)

Today’s low is the lowest price at which a stock traded during the course of the day.

Optional

product.investment.lowPrice.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

product.investment.lowPrice.currency (String)

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

Optional

product.investment.closePrice (Price)

The final price at which a security is traded on in a previous trading day.

Optional

product.investment.closePrice.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

product.investment.closePrice.currency (String)

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

Optional

product.investment.currency (String)

The share currency.

Optional

product.investment.symbol (String)

The share symbol.

Optional

product.investment.securityType (String)

The security type of the share.

Optional

product.investment.exchange (String)

The location where the product is being traded.

Optional

product.investment.fundType (String)

The type of the fund.

Optional

product.investment.fundManager (String)

The manager of the fund.

Optional

product.investment.launchDate (Epochtimems)

The launch date of the fund.

Optional

product.investment.fundSize (Price)

The size of the fund.

Optional

product.investment.fundSize.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

product.investment.fundSize.currency (String)

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

Optional

product.investment.holdingsAmount (Number)

The amount of holdings.

Optional

product.productId (String)

ID uniquely identifying the finance product.

Optional

product.price (Price)

The price of the product after discounts.

Optional

product.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

product.price.currency (String)

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

Optional

product.originalPrice (Price)

The original price of the product.

Optional

product.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

product.originalPrice.currency (String)

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

Optional

product.onSale (Boolean)

Is item on sale?

Optional

product.categories (String[])

A list of one or more product categories this product belongs to. Each category is a full path of a category where each level is separated by ' > '.

Optional

eventType (String)

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

Optional

index (Number)

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

Optional

Example JavaScript

uv.emit('fiProduct', {
  product: {
    name: 'Finance product A',
    category: [
      'Car Insurance',
      'European cover'
    ],
    productType: 'loan',
    insurance: {
      coverDuration: 210,
      paymentFrequency: 'annual',
      excess: {
        value: 9.99,
        currency: 'USD'
      }
    },
    savings: {
      aer: 1.25,
      minimumDeposit: 1000,
      maximumDeposit: 100000,
      monthlyAccountFees: 5,
      depositValue: 2000
    },
    mortage: {
      interestRateType: 'variable',
      interestRate: 4.79,
      bookingFee: {
        value: 9.99,
        currency: 'USD'
      },
      completionFee: {
        value: 9.99,
        currency: 'USD'
      },
      maxLoanToValue: {
        value: 9.99,
        currency: 'USD'
      },
      deposit: {
        value: 9.99,
        currency: 'USD'
      },
      loanAmount: {
        value: 9.99,
        currency: 'USD'
      },
      repaymentTerm: 25,
      actualLoanToValue: null,
      baseSalary: {
        value: 9.99,
        currency: 'USD'
      },
      expectedBonus: {
        value: 9.99,
        currency: 'USD'
      },
      firstTimeBuyer: null
    },
    loan: {
      loanValue: {
        value: 9.99,
        currency: 'USD'
      },
      startDate: 1461236327,
      endDate: 1461236361,
      loanTerm: 1325,
      paymentFrequency: 'monthly',
      apr: 4.5,
      loanFees: {
        value: 9.99,
        currency: 'USD'
      },
      completionFees: {
        value: 9.99,
        currency: 'USD'
      }
    },
    investment: {
      shareName: 'BT',
      sharePrice: {
        value: 9.99,
        currency: 'USD'
      },
      openingPrice: {
        value: 9.99,
        currency: 'USD'
      },
      highPrice: {
        value: 9.99,
        currency: 'USD'
      },
      lowPrice: {
        value: 9.99,
        currency: 'USD'
      },
      closePrice: {
        value: 9.99,
        currency: 'USD'
      },
      currency: 'USD',
      symbol: 'BEL20',
      securityType: 'index',
      exchange: 'Brussels',
      fundType: 'UCITS',
      fundManager: 'Paul Gibson',
      launchDate: 1461236327,
      fundSize: {
        value: 9.99,
        currency: 'USD'
      },
      holdingsAmount: 50
    },
    productId: 'abc123',
    price: {
      value: 9.99,
      currency: 'USD'
    },
    originalPrice: {
      value: 9.99,
      currency: 'USD'
    },
    onSale: null,
    categories: [
      'Car insurance > European cover',
      'Special offers'
    ]
  },
  eventType: 'detail',
  index: 1
})

fiUserLogin

Optional

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

Optional

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.email (String)

The user’s primary email address

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.device (String)

Device the user is browsing on - for example kiosk.

Optional

user.phone (String)

The user’s phone number.

Optional

user.dateOfBirth (String)

The user’s date of birth.

Optional

firstLogin (Boolean)

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

Optional

Example JavaScript

uv.emit('fiUserLogin', {
  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',
    device: 'kiosk',
    phone: '555-555-5555',
    dateOfBirth: '12/31/1982'
  },
  firstLogin: true
})

fiUserSignup

Optional

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

Optional

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.email (String)

The user’s primary email address

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.device (String)

Device the user is browsing on - for example kiosk.

Optional

user.phone (String)

The user’s phone number.

Optional

user.dateOfBirth (String)

The user’s date of birth.

Optional

type (String)

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

Optional

name (String)

A meaningful name unique to the sign up.

Optional

Example JavaScript

uv.emit('fiUserSignup', {
  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',
    device: 'kiosk',
    phone: '555-555-5555',
    dateOfBirth: '12/31/1982'
  },
  type: 'newsletter',
  name: 'loyaltyaccount'
})

fiVoucher

Optional

Emitted when a voucher code is entered.

Example schema

Field (JS Data Type) Description Required for

entry (String)

Actual voucher code the user enters.

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)

Should be an ID unique to the basket.

Optional

basket.subtotal (Price)

The total cost of the basket excluding tax and discounts.

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 basket including tax and discounts.

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.quantity (Number)

The number of items in the basket.

Optional

basket.discount (Price)

The amount discounted from vouchers or promotions.

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 tax for the basket.

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.subtotalIncludingTax (Price)

The total cost of the basket including tax, excluding discounts.

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('fiVoucher', {
  entry: '12321',
  entrySuccess: true,
  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: 'BASK123',
    subtotal: {
      value: 9.99,
      currency: 'USD'
    },
    total: {
      value: 9.99,
      currency: 'USD'
    },
    quantity: 10,
    discount: {
      value: 9.99,
      currency: 'USD'
    },
    tax: {
      value: 9.99,
      currency: 'USD'
    },
    subtotalIncludingTax: {
      value: 9.99,
      currency: 'USD'
    }
  }
})