Theo dõi Enhanced Ecommerce là một cải tiến hoàn chỉnh so với Ecommerce truyền thống. Nó cung cấp nhiều phương thức để thu thập và phân tích dữ liệu thương mại điện tử, giúp người sử dụng công cụ này có cái nhìn sâu hơn về tương tác thương mại điện tử của người dùng website.
Hướng dẫn theo dõi Enhanced Ecommerce trong Google Analytics (Phần 1)
Enhanced Ecommerce là gì?
Danh sách 11 hoạt động mua sắm quan trọng nhất
- Người dùng xem chiến dịch quảng cáo nội bộ (như banner nội bộ trên trang chủ).
- Người dùng nhấp vào chiến dịch quảng cáo nội bộ và sau đó chuyển đến trang danh sách sản phẩm (có thể là loại trang sản phẩm hoặc trang kết quả tìm kiếm nội bộ).
- Người dùng xem một sản phẩm trong danh sách sản phẩm.
- Người dùng nhấp vào một trong các liên kết sản phẩm trong danh sách sản phẩm để xem thêm chi tiết về sản phẩm.
- Người dùng sau đó xem trang chi tiết sản phẩm.
- Người dùng sau đó quyết định mua sản phẩm. Do đó họ thêm một hoặc nhiều sản phẩm vào giỏ hàng của mình.
- Người dùng sau đó có thể quyết định xóa một hoặc nhiều sản phẩm ra khỏi giỏ hàng trước khi bắt đầu quá trình thanh toán.
- Người dùng quyết định bắt đầu quá trình thanh toán và hoàn tất các bước khác nhau trong quy trình thanh toán.
- Người dùng cung cấp thông tin bổ sung trong quá trình thanh toán (như chọn phương thức thanh toán hoặc vận chuyển).
- Người dùng cuối cùng đã hoàn tất quy trình thanh toán bằng cách mua hàng.
- Người dùng có thể sau đó quyết định yêu cầu hoàn lại tiền của mình.
1. Đo lường số lượt xem của chiến dịch quảng cáo nội bộ
Quảng cáo nội bộ, còn gọi là internal promotion: là những quảng cáo (như banner ads trên trang chủ) đưa người dùng đến những phần khác của website. Ví dụ: bạn có thể chay quảng cáo biểu ngữ trên trang chủ, quảng bá danh mục sản phẩm cụ thể và khi người dùng nhấp vào biểu ngữ sẽ được chuyển đến trang danh mục sản phẩm. Vì vậy, nếu người dùng xem quảng cáo nội bộ 2 lần thì internal promotion impression là 2. Dưới đây là ví dụ về mã theo dõi đo lường internal ad impression:
<script>
(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,’script’,’//www.google-analytics.com/analytics.js’,’ga’);
ga(‘create’, ‘UA-XXXXX-YY’, ‘auto’);
ga(‘require’, ‘ec’);
ga(‘ec:addPromo’,{
// promoFieldObject stores internal promotion impression data
‘id’: ‘[Server Variable]’, // internal ad ID – Required – Type: string – Example: ‘homeBanner1’
‘name’: ‘[Server Variable]’, // internal promotion campaign Name – Type: string – Example: ‘Spring sale’
‘creative’: ‘[Server Variable]’, // internal ad name – Type: String – Example: ‘Spring Sale banner1’
‘position’: ‘[Server Variable]’ // Position of the internal ad – Type: string – Example: ‘home top banner’
});
ga(‘send’, ‘pageview’);
</script>
Mã theo dõi này được đặt trên trang web nơi bạn đang chạy quảng cáo nội bộ và bạn muốn đo lượt hiển thị.
Ở đây:
ga(‘require’, ‘ec’); là một lệnh Google Analytics được sử dụng để tải plugin enhanced ecommerce. Nếu không có plugin này thì mã theo dõi enhanced ecommerce sẽ không hoạt động.
ga(‘ec:addPromo’,promoFieldObject); là lệnh enhanced ecommerce được cải tiến được sử dụng để thu thập và lưu trữ dữ liệu hiển thị của chiến dịch quảng cáo nội bộ. Lệnh này được tạo thành bởi
– ec:addPromo đó là lệnh của Google Analytics được sử dụng để đo lường số lần hiển thị quảng cáo nội bộ và gửi dữ liệu hiển thị tới promoFieldObject.
– promoFieldObject là một đối tượng JavaScript được sử dụng để lưu dữ liệu hiển thị của các chiến dịch quảng cáo nội bộ:
{
// promoFieldObject stores internal promotion impression data
‘id’: ‘[Server Variable]’, // internal ad ID – Required – Type: string – Example: ‘homeBanner1’
‘name’: ‘[Server Variable]’, // internal promotion campaign Name – Type: string – Example: ‘Spring sale’
‘creative’: ‘[Server Variable]’, // internal ad name – Type: String – Example: ‘Spring Sale banner1’
‘position’: ‘[Server Variable]’ // Position of the internal ad – Type: string – Example: ‘home top banner’
}
- id
- name
- creative
- position
Giới thiệu về hit và hit type
Trong ngữ cảnh của Google Analytics, một hit là một tương tác của người dùng với trang web hoặc ứng dụng trên di động. Dữ liệu đó được gửi đến Google Analytics Web Property còn được gọi là hit. Loại dữ liệu được gửi đến Google Analytics Web Property còn được gọi là hit type. Ví dụ như, ‘pageview’, ‘event’, ‘transactions’, ‘item’ v.v. tất cả đều là hit type.Giới thiệu về tracker
Tracking object (hay còn được gọi là tracker) được sử dụng để gửi dữ liệu truy cập đến Google Analytics Web Property. Nếu không tạo và sử dụng tracking object đầu tiên thì bạn không thể gửi dữ liệu hit đến Google Analytics Web Property. Lệnh “create” trong Google Analytics được sử dụng để tạo một tracking object và liên kết tracking object với thuộc tính web. Ví dụ như dòng mã sau đây tạo một đối tượng theo dõi mặc định.ga(‘create’, ‘UA–XXXXX–YY’, ‘auto’);
Bạn có thể xem dòng mã này trong đoạn code Google Analytics của mình.
Giới thiệu về Plugin Enhanced Ecommerce
Để thực hiện theo dõi enhanced ecommerce trên website của bạn, thì bạn cần phải sử dụng plugin enhanced ecommerce (còn được gọi tắt là “ec”). Lệnh GA được sử dụng để tải plugin thương mại điện tử nâng cao là:ga(‘require’, ‘ec’);// load enhanced ecommerce library
ga(‘require’, ‘ecommerce’);// load traditional ecommerce library
Cách sử dụng Plugin Enhanced Ecommerce
Cũng giống như plugin thương mại điện tử truyền thống, plugin thương mại điện tử nâng cao cũng phải được tải, sau tracking object và trước khi bạn sử dụng bất kỳ lệnh theo dõi thương mại điện tử nâng cao nào (ví dụ như: ec: addProduct). Ví dụ như:<script>
(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,’script’,’//www.google-analytics.com/analytics.js’,’ga’);
ga(‘create’, ‘UA–XXXXX–YY’, ‘auto’);
ga(‘require’, ‘ec’); // load enhanced ecommerce plugin
ga(‘ec:addPromo’,{
// promoFieldObject stores internal promotion impression data
‘id’: ‘[Server Variable]’, // internal ad ID – Required – Type: string – Example: ‘homeBanner1’
‘name’: ‘[Server Variable]’, // internal promotion campaign Name – Type: string – Example: ‘Spring sale’
‘creative’: ‘[Server Variable]’, // internal ad name – Type: String – Example: ‘Spring Sale banner1’
‘position’: ‘[Server Variable]’ // Position of the internal ad – Type: string – Example: ‘home top banner’
});
ga(‘send’, ‘pageview’);
</script>
<script>
(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,’script’,’//www.google-analytics.com/analytics.js’,’ga’);
ga(‘require’, ‘ec’);
ga(‘create’, ‘UA–XXXXX–YY’, ‘auto’);
ga(‘ec:addPromo’,{
// promoFieldObject stores internal promotion impression data
‘id’: ‘[Server Variable]’, // internal ad ID – Required – Type: string – Example: ‘homeBanner1’
‘name’: ‘[Server Variable]’, // internal promotion campaign Name – Type: string – Example: ‘Spring sale’
‘creative’: ‘[Server Variable]’, // internal ad name – Type: String – Example: ‘Spring Sale banner1’
‘position’: ‘[Server Variable]’ // Position of the internal ad – Type: string – Example: ‘home top banner’
});
ga(‘send’, ‘pageview’);
</script>
Gửi dữ liệu enhanced ecommerce cùng với hit
Bạn có thể gửi dữ liệu ecommerce / enhanced ecommerce chỉ cùng với một hit (pageview, event v.v.). Do đó, nếu bạn sử dụng lệnh enhanced ecommerce nhưng không gửi bất kỳ hit nào thì dữ liệu ecommerce của bạn sẽ không được gửi đến Google Analytics. Ví dụ như mã theo dõi sau sẽ không gửi dữ liệu quảng cáo nội bộ đến GA (như mã ga(‘send’, ‘pageview’); bị thiếu):<script>
(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,’script’,’//www.google-analytics.com/analytics.js’,’ga’);
ga(‘create’, ‘UA–XXXXX–YY’, ‘auto’);
ga(‘require’, ‘ec’);
ga(‘ec:addPromo’,{
// promoFieldObject stores internal promotion data
‘id’: ‘[Server Variable]’, // internal ad ID – Required – Type: string – Example: ‘homeBanner1’
‘name’: ‘[Server Variable]’, // internal promotion campaign Name – Type: string – Example: ‘Spring sale’
‘creative’: ‘[Server Variable]’, // internal ad name – Type: String – Example: ‘Spring Sale banner1’
‘position’: ‘[Server Variable]’ // Position of the internal ad – Type: string – Example: ‘home top banner’
});
<< code to send the hit data is missing >>
</script>
<script>
(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,’script’,’//www.google-analytics.com/analytics.js’,’ga’);
ga(‘require’, ‘ec’);
ga(‘create’, ‘UA–XXXXX–YY’, ‘auto’);
ga(‘ec:addPromo’,{
// promoFieldObject stores internal promotion data
‘id’: ‘[Server Variable]’, // internal ad ID – Required – Type: string – Example: ‘homeBanner1’
‘name’: ‘[Server Variable]’, // internal promotion campaign Name – Type: string – Example: ‘Spring sale’
‘creative’: ‘[Server Variable]’, // internal ad name – Type: String – Example: ‘Spring Sale banner1’
‘position’: ‘[Server Variable]’ // Position of the internal ad – Type: string – Example: ‘home top banner’
});
ga(‘send’, ‘pageview’);
</script>
Sử dụng lệnh enhanced ecommerce trước khi gửi hit
Nếu bạn sử dụng lệnh enhanced ecommerce sau khi hit được gửi thì dữ liệu ecommerce cũng sẽ không được chuyển đến Google Analytics. Ví dụ như mã theo dõi sau sẽ không gửi dữ liệu hiển thị của quảng cáo nội bộ đến Google Analytics:<script>
(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,’script’,’//www.google-analytics.com/analytics.js’,’ga’);
ga(‘require’, ‘ec’);
ga(‘create’, ‘UA–XXXXX–YY’, ‘auto’);
ga(‘send’, ‘pageview’);
ga(‘ec:addPromo’,{
// promoFieldObject stores internal promotion impression data
‘id’: ‘[Server Variable]’, // internal ad ID – Required – Type: string – Example: ‘homeBanner1’
‘name’: ‘[Server Variable]’, // internal promotion campaign Name – Type: string – Example: ‘Spring sale’
‘creative’: ‘[Server Variable]’, // internal ad name – Type: String – Example: ‘Spring Sale banner1’
‘position’: ‘[Server Variable]’ // Position of the internal ad – Type: string – Example: ‘home top banner’
});
</script>
<script>
(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,’script’,’//www.google-analytics.com/analytics.js’,’ga’);
ga(‘require’, ‘ec’);
ga(‘create’, ‘UA–XXXXX–YY’, ‘auto’);
ga(‘ec:addPromo’,{
// promoFieldObject stores internal promotion impression data
‘id’: ‘[Server Variable]’, // internal ad ID – Required – Type: string – Example: ‘homeBanner1’
‘name’: ‘[Server Variable]’, // internal promotion campaign Name – Type: string – Example: ‘Spring sale’
‘creative’: ‘[Server Variable]’, // internal ad name – Type: String – Example: ‘Spring Sale banner1’
‘position’: ‘[Server Variable]’ // Position of the internal ad – Type: string – Example: ‘home top banner’
});
ga(‘send’, ‘pageview’);
</script>
2. Đo lường click trên chiến dịch Quảng cáo nội bộ
Trong quá trình mua hàng, người dùng có thể nhấp vào những chiến dịch quảng cáo nội bộ trên website. Sử dụng JavaScript Event Handler onClick để đo lường những nhấp chuột vào chiến dịch quảng cáo nội bộ (như banner):// Call this function when promo click occurs.
function onPromoClick() {
ga(‘ec:addPromo’, {
// promoFieldObject stores internal promotion impression data
‘id’: ‘[Server Variable]’, // internal ad ID – Required – Type: string – Example: ‘homeBanner1’
‘name’: ‘[Server Variable]’, // internal promotion campaign Name – Type: string – Example: ‘Spring sale’
‘creative’: ‘[Server Variable]’, // internal ad name – Type: String – Example: ‘Spring Sale banner1’
‘position’: ‘[Server Variable]’ // Position of the internal ad – Type: string – Example: ‘home top banner’
});
// Send the promo_click action with an event.
ga(‘ec:setAction’, ‘promo_click’);
ga(‘send’, ‘event’, ‘enhanced ecommerce’, ‘Internal Promotion Click’, ‘[INTERNAL PROMOTION NAME]’);
}
- ec:setAction – đây là lệnh của Google Analytics được sử dụng để đo lường những dữ liệu hoạt động của thương mại điện tử và sau đó gửi dữ liệu đến actionFieldObject.
- <action-type> – biểu thị những hành động ecommerce của người dùng. 1. ‘promo_click’: ví dụ như ga(‘ec:setAction’, ‘promo_click’); // đo lường nhấp chuột lên quảng cáo nội bộ 2. ‘detail’: ví dụ như ga(‘ec:setAction’, ‘detail’); // xem chi tiết sản phẩm 3. ‘add’: ví dụ như ga(‘ec:setAction’, ‘add’); // đo lường sản phẩm thêm vào giỏ hàng 4. ‘remove’: ví dụ như ga(‘ec:setAction’, ‘remove’); // đo lường xóa sản phẩm khỏi giỏ hàng 5. ‘checkout‘: ví dụ như ga(‘ec:setAction’,’checkout’, {‘option’: ‘visa’}); // đo thêm thông tin về bước thanh toán 6. ‘purchase’: ví dụ như ga(‘ec:setAction’, ‘purchase’,{…}); // đo lường mua hàng 7. ‘refund’: ví dụ như ga(‘ec:setAction’, ‘promo_click’); // đo lường hoàn tiền lại của một hoặc nhiều sản phẩm.
- actionFieldObject – nó là một đối tượng JavaScript được sử dụng để lưu trữ dữ liệu hành động ecommerce. Ví dụ đối tượng này có thể là những loại sau:
{
// actionFieldObject stores action data
‘id’: ‘VBT145346’, // Transaction id – Type: string
‘affiliation’: ‘VB Store’, // Store name – Type: string
‘revenue’: ‘37.39’, // Total Revenue – Type: numeric
‘tax’: ‘2.85’, // Tax – Type: numeric
‘shipping’: ‘5.34’, // Shipping – Type: numeric
‘coupon’: ‘SUMMER2018’ // Order/Transaction coupon – Type: string
‘list’: ‘Danh muc Ao Thun’, // Product list – Type: string
‘step’: 1, // Number representing a step in the checkout process – Type: numeric
‘option’: ‘paypal’, // Used to provide additional info about a checkout step like payment method used- Type: string
};
- id
- affiliation
- revenue
- tax
- shipping
- coupon
- list
- step
- option
<a href=”/tops/” onClick=”onPromoClick();”><img src=”/prod/summersalepromo.jpg”></a>
<script>
(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,‘script’,‘//www.google-analytics.com/analytics.js’,‘ga’);
ga(‘create’, ‘UA-XXXXX-YY’, ‘auto’);
ga(‘require’, ‘ec’);
// Call this function when promo click occurs.
function onPromoClick() {
ga(‘ec:addPromo’, {
// promoFieldObject stores internal promotion impression data
‘id’: ‘[Server Variable]’, // internal ad ID – Required – Type: string – Example: ‘homeBanner1’
‘name’: ‘[Server Variable]’, // internal promotion campaign Name – Type: string – Example: ‘Spring sale’
‘creative’: ‘[Server Variable]’, // internal ad name – Type: String – Example: ‘Spring Sale banner1’
‘position’: ‘[Server Variable]’ // Position of the internal ad – Type: string – Example: ‘home top banner’
});
// Send the promo_click action with an event.
ga(‘ec:setAction’, ‘promo_click’);
ga(‘send’, ‘event’, ‘enhanced ecommerce’, ‘Internal Promotion Click’, ‘[INTERNAL PROMOTION NAME]’);
}
ga(‘send’, ‘pageview’);
</script>
3. Đo lường số lượt xem sản phẩm
Trong quá trình mua hàng, người dùng có thể xem sản phẩm trong danh sách sản phẩm (trang danh mục sản phẩm hoặc trang kết quả tìm kiếm). Số lượt xem sản phẩm trong một danh sách sản phẩm được gọi là product impression (số lần hiển thị của sản phẩm) Dưới đây là ví dụ về mã theo dõi để đo lường product impression được gắn trên trang danh sách sản phẩm:<script>
(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,‘script’,‘//www.google-analytics.com/analytics.js’,‘ga’);
ga(‘create’, ‘UA-XXXXX-YY’, ‘auto’);
ga(‘require’, ‘ec’);
ga(‘ec:addImpression’,{
// ImpressionFieldObject stores product impression data
‘id’: ‘[Server Variable]’, // Product ID/SKU – Type: string
‘name’: ‘[Server Variable]’, // Product name – Type: string
‘category’: ‘[Server Variable]’, // Name of the Product category.
// Use / as a delimiter to specify up to 5 levels of hierarchy (e.g Men/Shirts/T-Shirts) – Type: string
‘brand’: ‘[Server Variable]’,// Name of Product brand – Type: string
‘variant’: ‘[Server Variable]’, // Variant of the product like: color, size etc – Type:string
‘list’: ‘[Server Variable]’, // Name of the Product list like ‘search results’ – Type: string
‘position’: [Server Variable] // Product position in a list. For example 2 – Type: numeric
});
ga(‘ec:addImpression’,{
// ImpressionFieldObject stores product impression data
‘id’: ‘[Server Variable]’, // Product ID/SKU – Type: string
‘name’: ‘[Server Variable]’, // Product name – Type: string
‘category’: ‘[Server Variable]’, // Name of the Product category.
// Use / as a delimiter to specify up to 5 levels of hierarchy (e.g Men/Shirts/T-Shirts) – Type: string
‘brand’: ‘[Server Variable]’,// Name of Product brand – Type: string
‘variant’: ‘[Server Variable]’, // Variant of the product like: color, size etc – Type:string
‘list’: ‘[Server Variable]’, // Name of the Product list like ‘search results’ – Type: string
‘position’: [Server Variable] // Product position in a list. For example 2 – Type: numeric
});
ga(‘send’, ‘pageview’);
</script>
- ec:addImpression – đây là lệnh GA thu thập / đo lường số lần hiển thị sản phẩm và gửi dữ liệu đến impressionFieldObject.
- impressionFieldObject – đây là một JavaScript Object được sử dụng để lưu trữ product impression.
- id
- name
- category
- brand
- variant
- list
- position
4. Đo lường click vào sản phẩm trong danh sách sản phẩm
Trong quá trình mua hàng, người dùng có thể nhấp vào sản phẩm trong danh sách sản phẩm, để xem chi tiết về sản phẩm. Để đo lường phải thêm Javascript event handler ‘onClick’ vào các liên kết của tất cả các sản phẩm được liệt kê trên trang (như trang kết quả tìm kiếm sản phẩm hoặc trang danh mục sản phẩm).// Called when a link to a product is clicked.
function onProductClick() {
ga(‘ec:addProduct’,{
// productFieldObject stores product click and other details
‘id’: ‘[Server Variable]’, // Product ID/SKU – Type: string
‘name’: ‘[Server Variable]’, // Product name – Type: string
‘category’: ‘[Server Variable]’, // Product category – Type: string
‘brand’: ‘[Server Variable]’, // Product brand – Type: string
‘variant’: ‘[Server Variable]’, // Variant of the product like: color, size etc – Type: string
‘position’: [Server Variable] // Product position in a list – Type: numeric Example: 10
});
ga(‘ec:setAction’, ‘click’, {list: ‘[Server Variable]’});
// Send click with an event, then send user to product page.
ga(‘send’, ‘event’, ‘enhanced ecommerce’, ‘Product clicks’, [Product]});
}
- Các sản phẩm đơn lẻ được xem trong danh sách sản phẩm
- Sản phẩm có trang chi tiết đã được xem
- Sản phẩm được thêm vào giỏ hàng
- Sản phẩm đã được xóa khỏi giỏ hàng
- Sản phẩm ở các bước của quá trình thanh toán
- Sản phẩm được mua
- Sản phẩm được hoàn lại tiền
- id
- name
- category
- brand
- variant
- price
- quantity
- coupon
- position
<a href=”/tops/figber/” onClick=”onProductClick();”><img src=”/prod/figber.jpg”></a>
<script>
(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,‘script’,‘//www.google-analytics.com/analytics.js’,‘ga’);
ga(‘create’, ‘UA-XXXXX-YY’, ‘auto’);
ga(‘require’, ‘ec’);
// Called when a link to a product is clicked.
function onProductClick() {
ga(‘ec:addProduct’,{
// productFieldObject stores product click and other details
‘id’: ‘[Server Variable]’, // Product ID/SKU – Type: string
‘name’: ‘[Server Variable]’, // Product name – Type: string
‘category’: ‘[Server Variable]’, // Product category – Type: string
‘brand’: ‘[Server Variable]’, // Product brand – Type: string
‘variant’: ‘[Server Variable]’, // Variant of the product like: color, size etc – Type: string
‘position’: [Server Variable] // Product position in a list – Type: numeric Example: 10
});
ga(‘ec:setAction’, ‘click’, {list: ‘[Server Variable]’});
// Send click with an event, then send user to product page.
ga(‘send’, ‘event’, ‘enhanced ecommerce’, ‘Product clicks’, [Product]});
ga(‘send’, ‘pageview’);
</script>