Skip to main content

Retail/Ecommerce Schema

Intilery’s e-commerce Schema helps define the journey for a customer as they browse your store, click on promotions, view products, add those products to a cart, and complete a purchase.

Note: The convention in the UK is to call the cart a "basket", keeping to the Segment spec "basket" is called a "cart"

Event Lifecycles#

Here is a list of supported events for our various categories within the customer journey.

Browsing Overview#

ActionDescription
Products SearchedUser searched for products
Product List ViewedUser viewed a product list or category
Product List FilteredUser filtered a product list or category

Promotions Overview#

ActionDescription
Promotion ViewedUser viewed promotion
Promotion ClickedUser clicked on promotion

Core Ordering Overview#

ActionDescription
Product ClickedUser clicked on a product
Product ViewedUser viewed a product details
Product AddedUser added a product to their shopping cart
Product RemovedUser removed a product from their shopping cart
Cart ViewedUser viewed their shopping cart
Checkout StartedUser initiated the order process (a transaction is created)
Checkout Step ViewedUser viewed a checkout step
Checkout Step CompletedUser completed a checkout step
Payment Info EnteredUser added payment information
Order CompletedUser completed the order
Order UpdatedUser updated the order
Order RefundedUser refunded the order
Order CancelledUser cancelled the order

Coupons Overview#

ActionDescription
Coupon EnteredUser entered a coupon on a shopping cart or order
Coupon AppliedCoupon was applied on a user’s shopping cart or order
Coupon DeniedCoupon was denied from a user’s shopping cart or order
Coupon RemovedUser removed a coupon from a cart or order

Wishlisting Overview#

ActionDescription
Product Added to WishlistUser added a product to the wish list
Product Removed from WishlistUser removed a product from the wish list
Wishlist Product Added to CartUser added a wishlist product to the cart

Sharing Overview#

ActionDescription
Product SharedShared a product with one or more friends
Cart SharedShared the cart with one or more friends

Reviewing Overview#

ActionDescription
Product ReviewedUser reviewed a product

The following section lists more detail for each lifecycle event as well as an example API call.

Browsing#

Browsing lifecycle events represent key events that a customer might have while browsing your apps.

Products Searched#

Fire this event when a visitor searches for products.

This event supports the following semantic properties:

PropertyTypeDescription
queryObjectQuery the user searched with, populate with appropriate filters you define
query.stringStringThe text entered by the customer for the search

Example:

analytics.track('Products Searched', {  query: {      "string": "blue rose",      "filters": {          "category":"flowers"      }  }});

Product List Viewed#

Fire this event when a visitor views a product list or category.

This event supports the following semantic properties:

PropertyTypeDescription
list_idStringProduct list being viewed
categoryStringProduct category being viewed
productsArray<Product>Products displayed in the product list
products.$.product_idStringProduct id displayed on the list
products.$.skuStringSku of the product being viewed
products.$.categoryStringProduct category being viewed
products.$.nameStringName of the product being viewed
products.$.brandStringBrand associated with the product
products.$.variantStringVariant of the product (e.g. Black)
products.$.priceNumberPrice ($) of the product being viewed
products.$.quantityNumberQuantity of a product
products.$.couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
products.$.positionNumberPosition in the product list (ex. 3)
products.$.urlStringURL of the product page
products.$.image_urlStringImage url of the product
products.$.currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Product List Viewed', {  list_id: 'hot_deals_1',  category: 'Deals',  products: [    {      product_id: '507f1f77bcf86cd799439011',      sku: '45790-32',      name: 'Monopoly: 3rd Edition',      price: 19,      position: 1,      category: 'Games',      url: 'https://www.example.com/product/path',      image_url: 'https://www.example.com/product/path.jpg',      currency: 'GBP'    },    {      product_id: '505bd76785ebb509fc183733',      sku: '46493-32',      name: 'Uno Card Game',      price: 3,      position: 2,      category: 'Games',      currency: 'GBP'    }  ]});

Note: the Product List Viewed event is aliased to the Viewed Product Category event (from e-commerce v1 spec).

Product List Filtered#

Send this event when a visitor filters a product list or category.

This event supports the following semantic properties:

PropertyTypeDescription
list_idStringProduct list being viewed
categoryStringProduct category being viewed
filtersArrayProduct filters that the customer is using
filters.$.typeStringId of the filter type that the customer is using
filters.$.valueStringId of the selection that the customer chose
sortsArray<Sort>Product sorting that the customer is using
sorts.$.typeStringId of the sort type that the customer is using
sorts.$.valueStringId of the selection type the the customer is using (ascending, descending)
productsArrayProducts displayed in the product list
products.$.product_idStringProduct id displayed on the list
products.$.skuStringSku of the product being viewed
products.$.categoryStringProduct category being viewed
products.$.nameStringName of the product being viewed
products.$.brandStringBrand associated with the product
products.$.variantStringVariant of the product (e.g. Black)
products.$.priceNumberPrice ($) of the product being viewed
products.$.quantityNumberQuantity of a product
products.$.couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
products.$.positionNumberPosition in the product list (ex. 3)
products.$.urlStringURL of the product page
products.$.image_urlStringImage url of the product
products.$.currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Product List Filtered', {  list_id: 'todays_deals_may_11_2019',  filters: [    {      type: 'department',      value: 'beauty'    },    {      type: 'price',      value: 'under-$25'    },  ],  sorts: [    {      type: 'price',      value: 'desc'    }  ],  products: [    {      product_id: '507f1f77bcf86cd798439011',      sku: '45360-32',      name: 'Special Facial Soap',      price: 12.60,      position: 1,      category: 'Beauty',      url: 'https://www.example.com/product/path',      image_url: 'https://www.example.com/product/path.jpg'      currency: 'GBP'    },    {      product_id: '505bd76785ebb509fc283733',      sku: '46573-32',      name: 'Fancy Hairbrush',      price: 7.60,      position: 2,      category: 'Beauty'      currency: 'GBP'    }  ]});

Promotions#

Promotion view and click events help you gather analytics on internal offers within your web or mobile app. For example, when a banner advertisement is shown in your web or app’s home page, you can fire a Viewed Promotion event. If the user proceeds to click the advertisement, fire the Clicked Promotion event.

Promotion Viewed#

Fire this event when a user views a promotion.

This event supports the following semantic properties:

PropertyTypeDescriptionType
promotion_idStringpromotion’s IDpromo_1
creativeStringPromotion’s creativetop_banner_2
nameStringPromotion’s name75% store-wide shoe sale
positionStringPromotion’s positionhome_banner_top

Example:

analytics.track('Promotion Viewed', {  promotion_id: 'promo_1',  creative: 'top_banner_2',  name: '75% store-wide shoe sale',  position: 'home_banner_top'});

Promotion Clicked#

Fire this event when a visitor clicks an internal offer promotion.

This event supports the following semantic properties:

PropertyTypeDescriptionType
promotion_idStringpromotion’s IDpromo_1
creativeStringPromotion’s creativetop_banner_2
nameStringPromotion’s name75% store-wide shoe sale
positionStringPromotion’s positionhome_banner_top

Example:

analytics.track('Promotion Clicked', {  promotion_id: 'promo_1',  creative: 'top_banner_2',  name: '75% store-wide shoe sale',  position: 'home_banner_top'});

Core Ordering#

These events represent the customer journey in regards to product ordering.

Product Clicked#

Fire this event when a visitor clicks a product.

This event supports the following semantic properties:

PropertyTypeDescription
product_idStringDatabase id of the product being viewed
skuStringSku of the product being viewed
categoryStringProduct category being viewed
nameStringName of the product being viewed
brandStringBrand associated with the product
variantStringVariant of the product (e.g. Black)
priceNumberPrice of the product being viewed
quantityNumberQuantity of a product
couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
positionNumberPosition in the product list (ex. 3)
urlStringURL of the product page
image_urlStringImage url of the product
currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Product Clicked', {  product_id: '507f1f77bcf86cd799439011',  sku: 'G-32',  category: 'Games',  name: 'Monopoly: 3rd Edition',  brand: 'Hasbro',  variant: '200 pieces',  price: 18.99,  quantity: 1,  coupon: 'MAYDEALS',  position: 3,  url: 'https://www.example.com/product/path',  image_url: 'https://www.example.com/product/path.jpg',  currency: 'GBP'});

Note:

  • The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Product Viewed#

Fire this event when a visitor views a product. That view might happen on a page, screen, or preview modal.

This event supports the following semantic properties:

PropertyTypeDescription
product_idStringDatabase id of the product being viewed
skuStringSku of the product being viewed
categoryStringProduct category being viewed
nameStringName of the product being viewed
brandStringBrand associated with the product
variantStringVariant of the product (e.g. Black)
priceNumberPrice ($) of the product being viewed
quantityNumberQuantity of a product
couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
currencyStringCurrency of the transaction
positionNumberPosition in the product list (ex. 3)
valueNumberTotal value of the product after quantity
urlStringURL of the product page
image_urlStringImage url of the product
currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Product Viewed', {  product_id: '507f1f77bcf86cd799439011',  sku: 'G-32',  category: 'Games',  name: 'Monopoly: 3rd Edition',  brand: 'Hasbro',  variant: '200 pieces',  price: 18.99,  quantity: 1,  coupon: 'MAYDEALS',  currency: 'usd',  position: 3,  value: 18.99,  url: 'https://www.example.com/product/path',  image_url: 'https://www.example.com/product/path.jpg',  currency: 'GBP'});

Note:

  • The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Product Added#

Fire this event when a visitor adds a product to their shopping cart.

This event supports the following semantic properties:

PropertyTypeDescription
cart_idStringCart ID to which the product was added to
product_idStringDatabase id of the product being viewed
skuStringSku of the product being viewed
categoryStringProduct category being viewed
nameStringName of the product being viewed
brandStringBrand associated with the product
variantStringVariant of the product (e.g. Black)
priceNumberPrice ($) of the product being viewed
quantityNumberQuantity of a product
couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
positionNumberPosition in the product list (ex. 3)
urlStringURL of the product page
image_urlStringImage url of the product
currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Product Added', {  cart_id: 'skdjsidjsdkdj29j',  product_id: '507f1f77bcf86cd799439011',  sku: 'G-32',  category: 'Games',  name: 'Monopoly: 3rd Edition',  brand: 'Hasbro',  variant: '200 pieces',  price: 18.99,  quantity: 1,  coupon: 'MAYDEALS',  position: 3,  url: 'https://www.example.com/product/path',  image_url: 'https://www.example.com/product/path.jpg',  currency: 'GBP'});

Note:

  • The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Product Removed#

Fire this event when a visitor removes a product from their shopping cart.

This event supports the following semantic properties:

PropertyTypeDescription
cart_idStringCart ID to which the product was removed from
product_idStringDatabase id of the product being viewed
skuStringSku of the product being viewed
categoryStringProduct category being viewed
nameStringName of the product being viewed
brandStringBrand associated with the product
variantStringVariant of the product (e.g. Black)
priceNumberPrice ($) of the product being viewed
quantityNumberQuantity of a product
couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
positionNumberPosition in the product list (ex. 3)
urlStringURL of the product page
image_urlStringImage url of the product
currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Product Removed', {  cart_id: 'ksjdj92dj29dj92d2j',  product_id: '507f1f77bcf86cd799439011',  sku: 'G-32',  category: 'Games',  name: 'Monopoly: 3rd Edition',  brand: 'Hasbro',  variant: '200 pieces',  price: 18.99,  quantity: 1,  coupon: 'MAYDEALS',  position: 3,  url: 'https://www.example.com/product/path',  image_url: 'https://www.example.com/product/path.jpg',  currency: 'GBP'});

Note:

  • The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Cart Viewed#

Fire this event when a visitor views a shopping cart.

This event supports the following semantic properties:

PropertyTypeDescription
cart_idStringShopping cart ID
productsArrayProducts displayed in the product list
products.$.product_idStringProduct ID displayed on the list
products.$.skuStringSku of the product being viewed
products.$.categoryStringProduct category being viewed
products.$.nameStringName of the product being viewed
products.$.brandStringBrand associated with the product
products.$.variantStringVariant of the product (e.g. Black)
products.$.priceNumberPrice ($) of the product being viewed
products.$.quantityNumberQuantity of a product
products.$.couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
products.$.positionNumberPosition in the product list (ex. 3)
products.$.urlStringURL of the product page
products.$.image_urlStringImage url of the product
products.$.currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Cart Viewed', {  cart_id: 'd92jd29jd92jd29j92d92jd',  products: [    {      product_id: '507f1f77bcf86cd799439011',      sku: '45790-32',      name: 'Monopoly: 3rd Edition',      price: 19,      position: 1,      category: 'Games',      url: 'https://www.example.com/product/path',      image_url: 'https://www.example.com/product/path.jpg'      currency: 'GBP'    },    {      product_id: '505bd76785ebb509fc183733',      sku: '46493-32',      name: 'Uno Card Game',      price: 3,      position: 2,      category: 'Games',      currency: 'GBP'    }  ]});

Checkout Started#

Fire this event whenever an order/transaction was started. Fire on the page that the customer lands on after they press the checkout button.

Be sure to include all items in the cart as event properties, with the same properties from the previous calls, like so:

This event supports the following semantic properties:

PropertyTypeDescription
order_idStringOrder/transaction ID
affiliationStringStore or affiliation from which this transaction occurred (e.g. Google Store)
valueNumberRevenue ($) with discounts and coupons added in. For better flexibility and total control over tracking, we let you decide how to calculate how coupons and discounts are applied
revenueNumberRevenue ($) associated with the transaction (excluding shipping and tax)
shippingNumberShipping cost associated with the transaction
taxNumberTotal tax associated with the transaction
discountNumberTotal discount associated with the transaction
couponStringTransaction coupon redeemed with the transaction
currencyStringISO 4217 3 letter currency code, e.g. GBP, USD
productsArrayProducts in the order
products.$.product_idStringDatabase id of the product being viewed
products.$.skuStringSku of the product being viewed
products.$.categoryStringProduct category being viewed
products.$.nameStringName of the product being viewed
products.$.brandStringBrand associated with the product
products.$.variantStringVariant of the product (e.g. Black)
products.$.priceNumberPrice ($) of the product being viewed
products.$.quantityNumberQuantity of a product
products.$.couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
products.$.positionNumberPosition in the product list (ex. 3)
products.$.urlStringURL of the product page
products.$.image_urlStringImage url of the product

Example:

analytics.track('Checkout Started', {  order_id: '50314b8e9bcf000000000000',  affiliation: 'Google Store',  value: 30,  revenue: 25.00,  shipping: 3,  tax: 2,  discount: 2.5,  coupon: 'hasbros',  currency: 'GBP',  products: [    {      product_id: '507f1f77bcf86cd799439011',      sku: '45790-32',      name: 'Monopoly: 3rd Edition',      price: 19,      quantity: 1,      category: 'Games',      url: 'https://www.example.com/product/path',      image_url: 'https://www.example.com/product/path.jpg'    },    {      product_id: '505bd76785ebb509fc183733',      sku: '46493-32',      name: 'Uno Card Game',      price: 3,      quantity: 2,      category: 'Games'    }  ]});

Note:

  • The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Checkout Step Viewed#

Fire this event whenever a checkout step is viewed.

This event supports the following semantic properties:

PropertyTypeDescription
checkout_idStringCheckout transaction ID
stepNumberNumber representing a step in the checkout process
shipping_methodStringString representing the shipping the method chosen
payment_methodStringString representing the payment method chosen

Example:

analytics.track('Checkout Step Viewed', {  checkout_id: '50314b8e9bcf000000000000',  step: 2,  shipping_method: 'Fedex',  payment_method: 'Visa'});

Note: shipping_method and payment_method are semantic properties so if you want to send that information, do so in this exact spelling!

You can have as many or as few steps in the checkout funnel as you’d like. Note that you’ll still need to track the Order Completed event as per this schema after you’ve tracked the checkout steps.

Checkout Step Completed#

Fire this event whenever a checkout step is completed.

This event supports the following semantic properties:

PropertyTypeDescription
checkout_idStringCheckout transaction ID
stepNumberNumber representing a step in the checkout process
shipping_methodStringString representing the shipping the method chosen
payment_methodStringString representing the payment method chosen

Example:

analytics.track('Checkout Step Completed', {  checkout_id: '50314b8e9bcf000000000000',  step: 2,  shipping_method: 'Fedex',  payment_method: 'Visa'});

Note: shipping_method and payment_method are semantic properties so if you want to send that information, do so in this exact spelling!

You can have as many or as few steps in the checkout funnel as you’d like. Note that you’ll still need to track the Order Completed event as per this schema after you’ve tracked the checkout steps.

Payment Info Entered#

Fire this event whenever payment information has been successfully entered.

This event supports the following semantic properties:

PropertyTypeDescription
checkout_idStringCheckout transaction ID
order_idStringOrder ID (optional)
stepNumberNumber representing a step in the checkout process
shipping_methodStringString representing the shipping the method chosen
payment_methodStringString representing the payment method chosen

Example:

analytics.track('Payment Info Entered', {  checkout_id: '39f39fj39f3jf93fj9fj39fj3f',  order_id: 'dkfsjidfjsdifsdfksdjfkdsfjsdfkdsf'});

Note: shipping_method and payment_method are semantic properties so if you want to send that information, do so in this exact spelling!

You can have as many or as few steps in the checkout funnel as you’d like. Note that you’ll still need to track the Order Completed event as per this schema after you’ve tracked the checkout steps.

Order Updated#

Fire this event whenever an order/transaction was updated.

Be sure to include all items in the cart as event properties, with the same properties from the previous calls, like so:

This event supports the following semantic properties:

PropertyTypeDescription
order_idStringOrder/transaction ID
affiliationStringStore or affiliation from which this transaction occurred (e.g. Google Store)
totalNumberRevenue ($) with discounts and coupons added in Note that our Google Analytics Ecommerce destination accepts total or revenue, but not both. For better flexibility and total control over tracking, we let you decide how to calculate how coupons and discounts are applied
revenueNumberRevenue ($) associated with the transaction (excluding shipping and tax)
shippingNumberShipping cost associated with the transaction
taxNumberTotal tax associated with the transaction
discountNumberTotal discount associated with the transaction
couponStringTransaction coupon redeemed with the transaction
currencyStringCurrency code associated with the transaction
productsArrayProducts in the order
products.$.product_idStringDatabase id of the product being viewed
products.$.skuStringSku of the product being viewed
products.$.categoryStringProduct category being viewed
products.$.nameStringName of the product being viewed
products.$.brandStringBrand associated with the product
products.$.variantStringVariant of the product (e.g. Black)
products.$.priceNumberPrice ($) of the product being viewed
products.$.quantityNumberQuantity of a product
products.$.couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
products.$.positionNumberPosition in the product list (ex. 3)
products.$.urlStringURL of the product page
products.$.image_urlStringImage url of the product
products.$.currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Order Updated', {      order_id: '50314b8e9bcf000000000000',      affiliation: 'Google Store',      total: 27.50,      revenue: 25.00,      shipping: 3,      tax: 2,      discount: 2.5,      coupon: 'hasbros',      currency: 'GBP',      products: [        {          product_id: '507f1f77bcf86cd799439011',          sku: '45790-32',          name: 'Monopoly: 3rd Edition',          price: 19,          quantity: 1,          category: 'Games',          url: 'https://www.example.com/product/path',                  image_url: 'https://www.example.com/product/path.jpg'                  currency: 'GBP'        },        {          product_id: '505bd76785ebb509fc183733',          sku: '46493-32',          name: 'Uno Card Game',          price: 3,          quantity: 2,          category: 'Games',          currency: 'GBP'        }      ]    });

Note: The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Order Completed#

Fire this event whenever an order/transaction was successfully completed by the customer.

Be sure to include all items in the cart as event properties, with the same properties from the previous calls, like so:

This event supports the following semantic properties:

PropertyTypeDescription
checkout_idStringCheckout ID
order_idStringOrder/transaction ID
affiliationStringStore or affiliation from which this transaction occurred (e.g. Google Store)
subtotalNumberOrder total after discounts but before taxes and shipping
totalNumberRevenue ($) with discounts and coupons added in. Note that our Google Analytics Ecommerce destination accepts total or revenue, but not both. For better flexibility and total control over tracking, we let you decide how to calculate how coupons and discounts are applied
revenueNumberRevenue ($) associated with the transaction (excluding shipping and tax)
shippingNumberShipping cost associated with the transaction
taxNumberTotal tax associated with the transaction
discountNumberTotal discount associated with the transaction
couponStringTransaction coupon redeemed with the transaction
currencyStringCurrency code associated with the transaction
productsArrayProducts in the order
products.$.product_idStringDatabase id of the product being viewed
products.$.skuStringSku of the product being viewed
products.$.categoryStringProduct category being viewed
products.$.nameStringName of the product being viewed
products.$.brandStringBrand associated with the product
products.$.variantStringVariant of the product (e.g. Black)
products.$.priceNumberPrice ($) of the product being viewed
products.$.quantityNumberQuantity of a product
products.$.couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
products.$.positionNumberPosition in the product list (ex. 3)
products.$.urlStringURL of the product page
products.$.image_urlStringImage url of the product
products.$.currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Order Completed', {  checkout_id: 'fksdjfsdjfisjf9sdfjsd9f',  order_id: '50314b8e9bcf000000000000',  affiliation: 'Google Store',  total: 27.50,  subtotal: 22.50,  revenue: 25.00,  shipping: 3,  tax: 2,  discount: 2.5,  coupon: 'hasbros',  currency: 'USD',  products: [    {      product_id: '507f1f77bcf86cd799439011',      sku: '45790-32',      name: 'Monopoly: 3rd Edition',      price: 19,      quantity: 1,      category: 'Games',      url: 'https://www.example.com/product/path',      image_url: 'https:///www.example.com/product/path.jpg',      currency: 'GBP'    },    {      product_id: '505bd76785ebb509fc183733',      sku: '46493-32',      name: 'Uno Card Game',      price: 3,      quantity: 2,      category: 'Games',      currency:'GBP'    }  ]});

Note:

  • The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Order Refunded#

Fire this event whenever an order/transaction was refunded.

Be sure to include all items in the cart as event properties, with the same properties from the previous “Order Completed” call.

This event supports the following semantic properties:

PropertyTypeDescription
order_idStringOrder/transaction ID

Example:

analytics.track('Order Refunded', {  order_id: '50314b8e9bcf000000000000',  total: 30,  currency: 'USD',  products: [    {      product_id: '507f1f77bcf86cd799439011',      sku: '45790-32',      name: 'Monopoly: 3rd Edition',      price: 19,      quantity: 1,      category: 'Games',      url: 'https://www.example.com/product/path',      image_url: 'https://www.example.com/product/path.jpg',      currency: 'GBP'    },    {      product_id: '505bd76785ebb509fc183733',      sku: '46493-32',      name: 'Uno Card Game',      price: 3,      quantity: 2,      category: 'Games',      currency: 'GBP'    }  ]});

Note: The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Order Cancelled#

Fire this event whenever an order/transaction was cancelled.

Be sure to include all items in the cart as event properties, with the same properties from the previous calls.

This event supports the following semantic properties:

PropertyTypeDescription
order_idStringOrder/transaction ID
affiliationStringStore or affiliation from which this transaction occurred (e.g. Google Store)
totalNumberRevenue ($) with discounts and coupons added in.
revenueNumberRevenue ($) associated with the transaction (excluding shipping and tax)
shippingNumberShipping cost associated with the transaction
taxNumberTotal tax associated with the transaction
discountNumberTotal discount associated with the transaction
couponStringTransaction coupon redeemed with the transaction
currencyStringCurrency code associated with the transaction
productsArrayProducts in the order
products.$.product_idStringDatabase id of the product being viewed
products.$.skuStringSku of the product being viewed
products.$.categoryStringProduct category being viewed
products.$.nameStringName of the product being viewed
products.$.brandStringBrand associated with the product
products.$.variantStringVariant of the product (e.g. Black)
products.$.priceNumberPrice ($) of the product being viewed
products.$.quantityNumberQuantity of a product
products.$.couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
products.$.positionNumberPosition in the product list (ex. 3)
products.$.urlStringURL of the product page
products.$.image_urlStringImage url of the product
products.$.currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Order Cancelled', {  order_id: '50314b8e9bcf000000000000',  affiliation: 'Google Store',  total: 30,  revenue: 25.00,  shipping: 3,  tax: 2,  discount: 2.5,  coupon: 'hasbros',  currency: 'USD',  products: [    {      product_id: '507f1f77bcf86cd799439011',      sku: '45790-32',      name: 'Monopoly: 3rd Edition',      price: 19,      quantity: 1,      category: 'Games',      url: 'https://www.example.com/product/path',      image_url: 'https://www.example.com/product/path.jpg',      currency: 'GBP'    },    {      product_id: '505bd76785ebb509fc183733',      sku: '46493-32',      name: 'Uno Card Game',      price: 3,      quantity: 2,      category: 'Games',      currency: 'GBP'    }  ]});

Note: The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Coupons#

These are events that might occur when dealing with coupons in your ecommerce.

Coupon Entered#

Fire this event whenever a coupon is entered either on a cart or on an order/transaction.

This event supports the following semantic properties:

PropertyTypeDescription
order_idStringOrder/transaction ID, if applicable
cart_idStringCart ID, if applicable
coupon_idStringCoupon ID

Example:

analytics.track('Coupon Entered', {      order_id: '50314b8e9bcf000000000000',      cart_id: '923923929jd29jd92dj9j93fj3',      coupon_id: 'may_deals_2016'    });

Coupon Applied#

Fire this event whenever a coupon is successfully applied to either a cart or an order/transaction.

This event supports the following semantic properties:

PropertyTypeDescription
order_idStringOrder/transaction ID, if applicable
cart_idStringCart ID, if applicable
coupon_idStringCoupon ID
coupon_nameStringCoupon name
discountNumberMonetary discount applied through the coupon

Example:

analytics.track('Coupon Applied', {      order_id: '50314b8e9bcf000000000000',      cart_id: '923923929jd29jd92dj9j93fj3'      coupon_id: 'may_deals_2016',      coupon_name: 'May Deals 2016',      discount: 23.32    });

Coupon Denied#

Fire this event whenever a coupon is denied from either a cart or an order/transaction.

This event supports the following semantic properties:

PropertyTypeDescription
order_idStringOrder/transaction ID, if applicable
cart_idStringCart ID, if applicable
coupon_idStringCoupon ID
coupon_nameStringCoupon name
reasonStringReason the coupon was denied

Example:

analytics.track('Coupon Denied', {      order_id: '50314b8e9bcf000000000000',      cart_id: '923923929jd29jd92dj9j93fj3'      coupon: 'may_deals_2016',      reason: 'Coupon expired'    });

Coupon Removed#

Fire this event whenever a coupon is removed from either a cart or an order/transaction.

This event supports the following semantic properties:

PropertyTypeDescription
order_idStringOrder/transaction ID, if applicable
cart_idStringCart ID, if applicable
coupon_idStringCoupon ID
coupon_nameStringCoupon name
discountNumberMonetary discount applied through the coupon

Example:

analytics.track('Coupon Removed', {  order_id: '50314b8e9bcf000000000000',  cart_id: '923923929jd29jd92dj9j93fj3'  coupon_id: 'may_deals_2016',  coupon_name: 'May Deals 2016',  discount: 23.32});

Wishlisting#

These events may occur if your ecommerce supports wishlist features.

Product Added to Wishlist#

Fire this event when a customer adds a product to their wish list.

This event supports the following semantic properties:

PropertyTypeDescription
wishlist_idStringWishlist ID to which the product was added to
wishlist_nameStringWishlist name to which the product was added to
product_idStringDatabase id of the product being viewed
skuStringSku of the product being viewed
categoryStringProduct category being viewed
nameStringName of the product being viewed
brandStringBrand associated with the product
variantStringVariant of the product (e.g. Black)
priceNumberPrice ($) of the product being viewed
quantityNumberQuantity of a product
couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
positionNumberPosition in the product list (ex. 3)
urlStringURL of the product page
image_urlStringImage url of the product
currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Product Added to Wishlist', {  wishlist_id: 'skdjsidjsdkdj29j',  wishlist_name: 'Loved Games',  product_id: '507f1f77bcf86cd799439011',  sku: 'G-32',  category: 'Games',  name: 'Monopoly: 3rd Edition',  brand: 'Hasbro',  variant: '200 pieces',  price: 18.99,  quantity: 1,  coupon: 'MAYDEALS',  position: 3,  url: 'https://www.example.com/product/path',  image_url: 'https://www.example.com/product/path.jpg',  currency: 'GBP'});

Note: The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Product Removed from Wishlist#

Fire this event when a customer removes a product from their wish list.

This event supports the following semantic properties:

PropertyTypeDescription
wishlist_idStringWishlist ID to which the product was added to
wishlist_nameStringWishlist name to which the product was added to
product_idStringDatabase id of the product being viewed
skuStringSku of the product being viewed
categoryStringProduct category being viewed
nameStringName of the product being viewed
brandStringBrand associated with the product
variantStringVariant of the product (e.g. Black)
priceNumberPrice ($) of the product being viewed
quantityNumberQuantity of a product
couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
positionNumberPosition in the product list (ex. 3)
urlStringURL of the product page
image_urlStringImage url of the product
currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Product Removed from Wishlist', {  wishlist_id: 'skdjsidjsdkdj29j',  wishlist_name: 'Loved Games',  product_id: '507f1f77bcf86cd799439011',  sku: 'G-32',  category: 'Games',  name: 'Monopoly: 3rd Edition',  brand: 'Hasbro',  variant: '200 pieces',  price: 18.99,  quantity: 1,  coupon: 'MAYDEALS',  position: 3,  url: 'https://www.example.com/product/path',  image_url: 'https://www.example.com/product/path.jpg',  currency: 'currencyStringISO 4217 3 letter currency code, e.g. GBP, USD'});

Note: The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Wishlist Product Added to Cart#

Fire this event when a customer moves a product from their wish list to their cart.

This event supports the following semantic properties:

PropertyTypeDescription
wishlist_idStringWishlist ID to which the product was added to
wishlist_nameStringWishlist name to which the product was added to
cart_idStringCart ID to which this product was added to
product_idStringDatabase ID of the product being viewed
skuStringSku of the product being viewed
categoryStringProduct category being viewed
nameStringName of the product being viewed
brandStringBrand associated with the product
variantStringVariant of the product (e.g. Black)
priceNumberPrice ($) of the product being viewed
quantityNumberQuantity of a product
couponStringCoupon code associated with a product (e.g MAY_DEALS_3)
positionNumberPosition in the product list (ex. 3)
urlStringURL of the product page
image_urlStringImage url of the product
currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Wishlist Product Added to Cart', {  wishlist_id: 'skdjsidjsdkdj29j',  wishlist_name: 'Loved Games',  cart_id: '99j2d92j9dj29dj29d2d',  product_id: '507f1f77bcf86cd799439011',  sku: 'G-32',  category: 'Games',  name: 'Monopoly: 3rd Edition',  brand: 'Hasbro',  variant: '200 pieces',  price: 18.99,  quantity: 1,  coupon: 'MAYDEALS',  position: 3,  url: 'https://www.example.com/product/path',  image_url: 'https://www.example.com/product/path.jpg',  currency: 'GBP'});

Note: The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Sharing#

With many ecommerce stores integrating with social apps or other sharing capabilities, these events might be useful if you are tracking customers sharing product information.

Product Shared#

Fire this event when a customer shares a product.

This event supports the following semantic properties:

PropertyTypeDescription
share_viaStringMethod of sharing
share_messageStringMessage that the sender sent
recipientStringRecipient of the sharing
product_idStringDatabase ID of the product being viewed
skuStringSku of the product being viewed
categoryStringProduct category being viewed
nameStringName of the product being viewed
brandStringBrand associated with the product
variantStringVariant of the product (e.g. Black)
priceNumberPrice ($) of the product being viewed
urlStringURL of the product page
image_urlStringImage url of the product
currencyStringISO 4217 3 letter currency code, e.g. GBP, USD

Example:

analytics.track('Product Shared', {  share_via: 'email',  share_message: 'Hey, check out this item',  recipient: 'friend@example.com',  product_id: '507f1f77bcf86cd799439011',  sku: 'G-32',  category: 'Games',  name: 'Monopoly: 3rd Edition',  brand: 'Hasbro',  variant: '200 pieces',  price: 18.99,  url: 'https://www.example.com/product/path',  image_url: 'https://www.example.com/product/path.jpg',  currency: 'GBP'});

Note: The sku and product_id do not have to be different. If they are different, typically the product_id is a database identifier, like 9714107479 and the sku is a public-facing identifier like SEG-02.

Cart Shared#

Fire this event when a customer shares a shopping cart.

This event supports the following semantic properties:

PropertyTypeDescription
share_viaStringMethod of sharing
share_messageStringMessage that the sender sent
recipientStringRecipient of the sharing
cart_idStringShopping cart ID
productsArrayProducts displayed in the product list
products.$.product_idStringProduct id displayed on the list

Example:

analytics.track('Cart Viewed', {  share_via: 'email',  share_message: 'Hey, check out this item',  recipient: 'friend@example.com',  cart_id: 'd92jd29jd92jd29j92d92jd',  products: [    { product_id: '507f1f77bcf86cd799439011' },    { product_id: '505bd76785ebb509fc183733' }  ]});

Reviewing#

These events can be useful for tracking product related reviews.

Product Reviewed#

Fire this event when a customer reviews a product.

This event supports the following semantic properties:

PropertyTypeDescription
product_idStringProduct’s ID
review_idStringReview ID
review_bodyStringReview body
ratingStringReview rating

Example:

analytics.track('Product Reviewed', {  product_id: '507f1f77bcf86cd799439011',  review_id: 'kdfjrj39fj39jf3',  review_body: 'I love this product',  rating: '5'});