尝试为我的网站实施Google Analytics增强型电子商务跟踪。
如何指定将产品添加到购物车的“列表”?
以下是将产品添加到购物篮的标准跟踪代码:
// Called when a product is added to a shopping cart.
function addToCart(product) {
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
ga('ec:setAction', 'add');
ga('send', 'event', 'UX', 'click', 'add to cart'); // Send data using an event.
}
没有任何功能可以指定单击“添加到购物车”按钮的产品列表的名称。
必须有这样的东西:
ga('ec:setAction', 'click', {'list': 'Search Results'});
但仅适用于“点击”操作,(不是“添加”)。 (根据https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#(product action))
此外,我需要在列表中指定产品的位置。 有什么想法吗?
答案 0 :(得分:0)
actionField中的列表变量仅对点击和详细信息操作有效。 如果您想跟踪客户旅程,则必须合并点击并添加到一个逻辑事件中。
因此,如果你可以直接从列表中添加,并且想要在UA中将数据绑定在一起,那么你可以做很少的解决方法,如:
function addToCart(product) {
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
ga('ec:setAction', 'click', {'list': 'Search Results'});
ga('send', 'event', 'automatic', 'click', 'add to cart',{'nonInteraction': 1}); // Send data using an event.
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
ga('ec:setAction', 'add');
ga('send', 'event', 'UX', 'click', 'add to cart'); // Send data using an event.
}
答案 1 :(得分:0)
您应该在添加list
操作时发送detail
属性(应在用户查看产品页面时发送)。
ga('ec:setAction', 'detail', { list: 'Search Results' });
考虑以下情况:
click
操作,然后该用户被重定向到产品页面。detail
操作,指定list
属性(作为setAction
中的参数)。add
操作。如果您未在list
操作中指定detail
属性,或者根本不发送detail
操作,请调用{{ 1}}操作,在Google Analytics中查看产品列表效果下的数据时,添加到购物车数据将显示在产品列表名称下< strong>(未设置)。
文档未能在其完整示例中包含这一重要信息,可以找到here
答案 2 :(得分:0)
我遇到了同样的问题并被困了好几个小时。
我的问题是我在不同的子域上进行结帐流程,而不是列出并点击产品展示的位置。
只需在GA页面视图标记i GTM上添加一个字段"cookieDomain" = "auto"
,所有内容都已开始工作 - Cross Domain Tracking with Google Tag Manager。
我需要添加有关列表的信息的唯一地方是:
'list' : 'Search result'
'actionField': {'list': 'Search Results'},
我没有为产品细节或结账过程中的任何地方添加它(添加到购物车,结帐,购买)。
对于结帐流程中的其他外部域名,我猜您需要跨域跟踪。
答案 3 :(得分:0)
你需要做三件事。
<强> 1。跟踪产品列表,点击产品列表页面
/**
* Binds click event on product detail page links at product list page.
*/
var bindProductListClickTracking = function() {
jQuery('a.detail-link-track:not(.ga-click-bound)').on('click', function (e) {
e.preventDefault();
var href = jQuery(this).attr('href');
//all my product data are attributes á la data-product-sku
var product = jQuery('li[data-product-detail-link="' + href + '"]')[0];
ga('ec:addProduct', {
'id': product.dataset.productSku,
'name': product.dataset.productName,
'category':product.dataset.productCategory,
'brand': product.dataset.productBrand,
'variant': product.dataset.productVariant,
'position': jQuery(product).index() + 1
});
var list = product.dataset.productList;
/**
* IMPORTANT: save your product list name into a cookie
*/
jQuery.cookie('productlist', list, { path: '/', domain: cookieDomain});
ga('ec:setAction', 'click', {list: list});
ga('send', 'event', {
eventCategory: 'productlist',
eventAction: 'click',
eventLabel: list,
hitCallback: function () {
if (!(e.ctrlKey || e.which == 2)) {
document.location = href;
}
}
});
}).addClass('ga-click-bound');
}
提示: 如果您有延迟加载或加载更多按钮,请注意不要在产品详细信息页面链接上绑定此事件两次。
<强> 2。将产品列表的actionObject添加到产品详细信息页面上的“添加到购物车”操作
var manipulationOfCart = function(product, type, productList) {
ga('ec:addProduct', {
'id': product.id,
'name': product.name,
'category': product.category,
'brand': product.brand,
'variant': product.variant,
'price': product.price,
'quantity': product.qty
});
ga('ec:setAction', type, {list: productList});
if (type == 'add') {
ga('send', {
hitType: 'event',
eventCategory: 'Cart',
eventAction: 'click',
eventLabel: 'Add To Cart',
nonInteraction: 1
});
} else if (type == 'remove') {
ga('send', {
hitType: 'event',
eventCategory: 'Cart',
eventAction: 'click',
eventLabel: 'Remove From Cart',
nonInteraction: 1
});
}
}
第3。将产品添加到购物车或用户离开产品详细信息页面后删除cookie
manipulationOfCart(productToBasket, 'add', productlist);
$.removeCookie('productlist', { path: '/', domain: cookieDomain});
和强>
$(window).unload(function() {
$.removeCookie('productlist', { path: '/', domain: cookieDomain});
});
实际上Google Analytics Docs是错误的 - 它不起作用。并且Google Analytics Bug Tracker已经报告了一个错误。