You are here

Google Analytics Enhanced Ecommerce

setup

Please refer to the container setup instructions

Execute Demo Hits

Feel free to activate gaDebugger and your Chrome console

promotionImpression and promotionClick are part of santiano.io 1.1 coming live by the end of march 2019 :)

promotionImpression

Execute promotionImpression now

promotionClick

Execute promotionClick now

productImpression

Execute productImpression now

productClick

Execute productClick now

productDetail

Execute productDetail now

cartProductAdded

Execute cartProductAdded now

checkoutStep

Execute checkoutStep now

orderConfirmation

Execute orderConfirmation now

tagging plans

santianoEcommerce Flat Object

santianoEcommerce Flat Object
santianoEcommerce has a totally flat architecture that facilitates its implementation, covers all Google Analytics Enhanced Ecommerce Tags + other tags needed by other vendors for Ecommerce tracking

  // the santianoEcommerce flat Ecommerce object 
dataLayer.push({
    'event': 'santianoEcommerce',
    'eventCommand': '[eventCommand]',
// overview of all supported eventCommand values:
  // [eventCommand] == 'productImpression'-> products are seen on a list
  // [eventCommand] == 'productClick' -> product is clicked from a list
  // [eventCommand] == 'productDetail' -> product page is viewed
  // [eventCommand] == 'cartProductAdded' -> product is added to cart
  // [eventCommand] == 'cartProductRemoved' -> product is removed from cart
  // [eventCommand] == 'cartContent' -> updates the content of the cart
  // [eventCommand] == 'checkoutStep' -> one step of checkout is loaded or executed 
  // [eventCommand] == 'orderConfirmation' -> thank you for your purchase, receipt here
  // [eventCommand] == 'wishlistProductAdded' -> a product is added to the wishlist
  // [eventCommand] == 'wishlistProductRemoved' -> a product is removed from wishlist
  // [eventCommand] == 'wishlistContent' -> the content of the wishlist
  // [eventCommand] == 'orderRefund' -> order is being canceled altogether
  // [eventCommand] == 'productRefund' -> some products are being refunded
  // [eventCommand] == 'promotionImpression' -> impression count
  // [eventCommand] == 'promotionClick' -> click count

// always defined
  'currencyCode': 'EUR', 
  // what currency here ? https://en.wikipedia.org/wiki/ISO_4217

// only when:
  // 'eventCommand' == 'productImpression'
  // 'eventCommand' == 'productClick'
  'productImpressionListName' : '[ListName]', // string
    // name for that list of products

// only when 'eventCommand' == 'checkoutStep'
  'checkoutStepNumber': 1, // Whole positive number
  'checkoutStepName' : '[checkoutStepName]', // string
  'checkoutStepOption': '[checkoutStepOption]', // string
    
// only when 'eventCommand' == orderConfirmation
  'orderId': '1234569-ABCDEFG', // string - the Id of the Order
  'orderRevenue' : '695.00', // floating number - The Revenue of the order
  'orderTax' : '579.17', // floating number - Tax for that order
  'orderShippingCost' : '15.00', // floating number - The Cost of shipping
  'orderShopName' : '[orderShopName]', // string - 
  'orderCoupon' : '[orderCoupon]', //  string - The Coupons used for that order
  // optional order variables:
    // 'orderPaymentPlatform': '[orderPaymentPlatform]', // string - 
    // 'orderPaymentMethod': '[orderPaymentMethod]', // string - 
    // 'orderShippingCountry': '[orderShippingCountry]', // string - 
    // 'orderShippingRegion': '[orderShippingRegion]', // string - 
    // 'orderShippingCity': '[orderShippingCity]', // string - 
    // 'orderShippingPostCode': '[orderShippingPostCode]', // string - 
    // 'orderBillingCountry': '[orderBillingCountry]', // string - 
    // 'orderBillingRegion': '[orderBillingRegion]', // string - 
    // 'orderBillingCity': '[orderBillingCity]', // string - 
    // 'orderBillingPostCode': '[orderBillingPostCode]', // string - 
    // 'orderTimeStamp' : '[orderTimeStamp]', // string - 

// here is the standard ProductList of each individual productObject:
  'productList': [{
      'productName': '[productName]', // string -The unique Name of that product
      'productId': '[productId]', // string- The product unique Id
      'productUnitPrice': '19.99', // floating - the price of that product
      'productCategory1' : '[productCategory1]', // string - 
      'productCategory2' : '[productCategory2]', // string -
      'productCategory3' : '[productCategory3]', // string -
      'productCategory4' : '[productCategory4]', // string -
      'productCategory5' : '[productCategory5]', // string -
      'productBrand': '[productBrand]', // string - Brand of the product
      'productVariant': '[productVariant]', // string - 
      // optional product variables
        // 'productColor': '[productColor]', // string - 
        // 'productSize': '[productSize]', // string - 
        // 'productReleaseDate': 'DD/MM/AAAA', // string - 
        // 'productType': '[productType]', // string - 
        // 'productInSale': false, // boolean - 
        // 'productOriginalPrice': '67.5', // string - 

      // only for the following 'eventCommand':
          // [eventCommand] == 'productImpression'
          // [eventCommand] == 'productClick'
             'productImpressionListPosition': 1, 
                // ON what position is the product on that ListName ?
                //  Starts With 1 always.

      // only for the following 'eventCommand':
          // [eventCommand] == 'cartProductAdded'
          // [eventCommand] == 'cartProductRemoved'
          // [eventCommand] == 'cartContent'
          // [eventCommand] == 'wishlistProductAdded'
          // [eventCommand] == 'wishlistProductRemoved'
          // [eventCommand] == 'wishlistContent'
          // [eventCommand] == 'checkoutStep'
          // [eventCommand] == 'orderConfirmation'
          // [eventCommand] == 'productRefund'
              'productQuantity': 1 // The quantity of product
  },
  {
       // and so on if there are multiple products.
  }]
  
// Applies for the following 'eventCommand':
    // [eventCommand] == 'promotionImpression'
    // [eventCommand] == 'promotionClick'
  'promotionList': [{
      'promotionName': '[promotionName]',         // string - The Name of that promotion
      'promotionId': '[promotionId]',             // string - The Id of that promotion
      'promotionCreative': '[promotionCreative]', // string - name of the creative
      'promotionPosition' : '[promotionPosition]' // string - name of the position for that creative
      
  },
  {
       // and so on if there are multiple promotions displayed or clicked
  }]
});
close
productImpression

productImpression
On the category pages listing your products

  // the santianoEcommerce in case of a productImpression
dataLayer.push({
    'event': 'santianoEcommerce',
    'eventCommand': 'productImpression',
    'currencyCode': 'EUR', 
    // what currency here ? https://en.wikipedia.org/wiki/ISO_4217

    'productImpressionListName' : '[ListName]', // string
    // name for that list of products

// here is the standard ProductList of each individual productObject:
    'productList': [{
        'productName': '[productName]', // string -The unique Name of that product
        'productId': '[productId]', // string- The product unique Id
        'productUnitPrice': '19.99', // floating - the price of that product
        'productCategory1' : '[productCategory1]', // string - 
        'productCategory2' : '[productCategory2]', // string -
        'productCategory3' : '[productCategory3]', // string -
        'productCategory4' : '[productCategory4]', // string -
        'productCategory5' : '[productCategory5]', // string -
        'productBrand': '[productBrand]', // string - Brand of the product
        'productVariant': '[productVariant]', // string - 
   
        'productImpressionListPosition': 1
                  // ON what position is the product on that ListName ?
                  //  Starts With 1 always.

  },
  {
       // and so on if there are multiple products.
  }]
  
});
close
productClick

productClick
Anytime a user clicks on a link pointing to a product detail page

  // the santianoEcommerce in case of a productClick
dataLayer.push({
    'event': 'santianoEcommerce',
    'eventCommand': 'productClick',
// always defined
  'currencyCode': 'EUR', 
  // what currency here ? https://en.wikipedia.org/wiki/ISO_4217

// only when:
  // 'eventCommand' == 'productImpression'
  // 'eventCommand' == 'productClick'
  'productImpressionListName' : '[ListName]', // string
    // name for that list of products

// here is the standard ProductList of each individual productObject:
  'productList': [{
      'productName': '[productName]', // string -The unique Name of that product
      'productId': '[productId]', // string- The product unique Id
      'productUnitPrice': '19.99', // floating - the price of that product
      'productCategory1' : '[productCategory1]', // string - 
      'productCategory2' : '[productCategory2]', // string -
      'productCategory3' : '[productCategory3]', // string -
      'productCategory4' : '[productCategory4]', // string -
      'productCategory5' : '[productCategory5]', // string -
      'productBrand': '[productBrand]', // string - Brand of the product
      'productVariant': '[productVariant]', // string - 
 
      // only for the following 'eventCommand':
          // [eventCommand] == 'productImpression'
          // [eventCommand] == 'productClick'
            'productImpressionListPosition': 1
      // ON what position is the product clicked on that ListName ?

  },
  {
       // and so on if there are multiple products.
  }]
  
});
close
productDetail

productDetail
To record impressions of detail pages

  <script>
// the santianoEcommerce in case of a productDetail
dataLayer.push({
    'event': 'santianoEcommerce',
    'eventCommand': 'productDetail',
// always defined
    'currencyCode': 'EUR', 
  // what currency here ? https://en.wikipedia.org/wiki/ISO_4217

// here is the standard ProductList of each individual productObject:
    'productList': [{
        'productName': '[productName]', // string -The unique Name of that product
        'productId': '[productId]', // string- The product unique Id
        'productUnitPrice': '19.99', // floating - the price of that product
        'productCategory1' : '[productCategory1]', // string - 
        'productCategory2' : '[productCategory2]', // string -
        'productCategory3' : '[productCategory3]', // string -
        'productCategory4' : '[productCategory4]', // string -
        'productCategory5' : '[productCategory5]', // string -
        'productBrand': '[productBrand]', // string - Brand of the product
        'productVariant': '[productVariant]' // string - 
   
  },
  {
       // and so on if there are multiple products.
  }]
  
});
</script>
close
cartProductAdded

cartProductAdded
When one or more products are added to cart

  // the santianoEcommerce in case of a cartProductAdded
dataLayer.push({
    'event': 'santianoEcommerce',
    'eventCommand': 'cartProductAdded',
// always defined
    'currencyCode': 'EUR', 
  // what currency here ? https://en.wikipedia.org/wiki/ISO_4217

// here is the standard ProductList of each individual productObject:
    'productList': [{
        'productName': '[productName]', // string -The unique Name of that product
        'productId': '[productId]', // string- The product unique Id
        'productUnitPrice': '19.99', // floating - the price of that product
        'productCategory1' : '[productCategory1]', // string - 
        'productCategory2' : '[productCategory2]', // string -
        'productCategory3' : '[productCategory3]', // string -
        'productCategory4' : '[productCategory4]', // string -
        'productCategory5' : '[productCategory5]', // string -
        'productBrand': '[productBrand]', // string - Brand of the product
        'productVariant': '[productVariant]', // string - 

         // added quantity
         'productQuantity': 1 // The quantity of product
  },
  {
       // and so on if there are multiple products.
  }]
  
});
close
cartProductRemoved

cartProductRemoved
When a product is removed from cart

  // the santianoEcommerce in case of a cartProductRemoved
dataLayer.push({
    'event': 'santianoEcommerce',
    'eventCommand': 'cartProductRemoved',
// always defined
    'currencyCode': 'EUR', 
  // what currency here ? https://en.wikipedia.org/wiki/ISO_4217

// here is the standard ProductList of each individual productObject:
    'productList': [{
        'productName': '[productName]', // string -The unique Name of that product
        'productId': '[productId]', // string- The product unique Id
        'productUnitPrice': '19.99', // floating - the price of that product
        'productCategory1' : '[productCategory1]', // string - 
        'productCategory2' : '[productCategory2]', // string -
        'productCategory3' : '[productCategory3]', // string -
        'productCategory4' : '[productCategory4]', // string -
        'productCategory5' : '[productCategory5]', // string -
        'productBrand': '[productBrand]', // string - Brand of the product
        'productVariant': '[productVariant]', // string - 

         // how many of that product is removed ?
              'productQuantity': 1 // The quantity of product
  },
  {
       // and so on if there are multiple products.
  }]
  
});
close
checkoutStep

checkoutStep
For every numbered and named step of your checkout funnel

  // the santianoEcommerce in case of a checkoutStep
dataLayer.push({
    'event': 'santianoEcommerce',
    'eventCommand': 'checkoutStep',
    'currencyCode': 'EUR', 

  // checkout steps specific variables
    'checkoutStepNumber': 1, // Whole positive number, starts with 1
    'checkoutStepName' : '[checkoutStepName]', // string
    'checkoutStepOption': '[checkoutStepOption]', // string

// here is the standard ProductList of each individual productObject:
    'productList': [{
        'productName': '[productName]', // string -The unique Name of that product
        'productId': '[productId]', // string- The product unique Id
        'productUnitPrice': '19.99', // floating - the price of that product
        'productCategory1' : '[productCategory1]', // string - 
        'productCategory2' : '[productCategory2]', // string -
        'productCategory3' : '[productCategory3]', // string -
        'productCategory4' : '[productCategory4]', // string -
        'productCategory5' : '[productCategory5]', // string -
        'productBrand': '[productBrand]', // string - Brand of the product
        'productVariant': '[productVariant]', // string - 

        // how many products are in the cart at that moment ???
        'productQuantity': 1 // The quantity of product
  },
  {
       // and so on if there are multiple products.
  }]
  
});
close
orderConfirmation

orderConfirmation
The favorite moment !!! The Full Receipt of the order with its orderVariables and the full content of the products purchased.

  // the santianoEcommerce in case of a orderConfirmation
dataLayer.push({
    'event': 'santianoEcommerce',
    'eventCommand': 'orderConfirmation',
    'currencyCode': 'EUR', 

  // orderConfirmation specific variables
    'orderId': '1234569-ABCDEFG', // string - the Id of the Order
    'orderRevenue' : '695.00', // floating number - The Revenue of the order
    'orderTax' : '579.17', // floating number - Tax for that order
    'orderShippingCost' : '15.00', // floating number - The Cost of shipping
    'orderShopName' : '[orderShopName]', // string - 
    'orderCoupon' : '[orderCoupon]', //  string - The Coupons used for that order

// here is the standard ProductList of each individual productObject:
    'productList': [{
        'productName': '[productName]', // string -The unique Name of that product
        'productId': '[productId]', // string- The product unique Id
        'productUnitPrice': '19.99', // floating - the price of that product
        'productCategory1' : '[productCategory1]', // string - 
        'productCategory2' : '[productCategory2]', // string -
        'productCategory3' : '[productCategory3]', // string -
        'productCategory4' : '[productCategory4]', // string -
        'productCategory5' : '[productCategory5]', // string -
        'productBrand': '[productBrand]', // string - Brand of the product
        'productVariant': '[productVariant]', // string - 

        // how many products are puchased ???
        'productQuantity': 1 // The quantity of product
  },
  {
       // and so on if there are multiple products.
  }]
  
});
close
orderRefund

orderRefund
When a full order is returned or canceled.

  // the santianoEcommerce in case of a orderRefund
dataLayer.push({
    'event': 'santianoEcommerce',
    'eventCommand': 'orderRefund',

  // the order that is cancelled
    'orderId': '1234569-ABCDEFG' // string - the ID of the Order
  
});
close
productRefund

productRefund
To return some products from one particular orderId

  // the santianoEcommerce in case of a productRefund
dataLayer.push({
    'event': 'santianoEcommerce',
    'eventCommand': 'productRefund',

  // the order related
    'orderId': '1234569-ABCDEFG', // string - the Id of the Order
    
// products being returned
    'productList': [{
        'productID': '[productID]', // string- The product unique Id
        'productQuantity': 1 // The quantity of product
  },
  {
       // and so on if there are multiple products.
  }]
  
});
close

Download

older versions

	An easy way to integrate Enhanced Ecommerce

- Full GA Enhanced Ecommerce Features

santianoEcommerce flat object
gaEcommerceProducts
santianoEcommerce to gaEnhancedEcommerce
gaEnhancedEcommerce
container dependencies