Измерение клика продукта - Расширенная электронная коммерция Google Analytics
Я хочу измерить количество показов и кликов по каждому продукту с помощью расширенной электронной коммерции Google Analytics. Я сделал две функции для показа и кликов.
// function to count clicks
<script type="text/javascript">
function product_click(id,name,list){
var script_open = '<script type="text/javascript">';
var require = "ga('require', 'ec');";
var product = "ga('ec:addProduct',{'id':'"+id+"','name':'"+ name+"'});";
var send = "ga('ec:send');";
var action = "ga('ec:setAction', 'click', {'list':'"+ list+"'}); </";
var script_closed = 'script>';
var clicks = script_open+require+product+send+action+script_closed;
jQuery('#click_code').html(clicks);
console.log(clicks);
return clicks;
}
</script>
<div id="click_code"></div>
<div class="category_thumbArea" onClick="return product_click('abcd','pqrs','Category_Page');">
</div> // call to product_click()
// function to count impressions
function addImpression($itemCode, $itemName, $list) {
$script_open = '<script type="text/javascript">';
$code = "ga('require', 'ec');
ga('ec:addImpression', {
'id': '".$itemCode."',
'name': '".$itemName."',
'list': '".$list."'
});
ga('send', 'pageview'); ";
$script_close = '</script>';
return $script_open.$code.$script_close;
}
echo $imp = addImpression($itemCode,$itemName,'Category_Page'); // call to addImpression()
Я могу правильно фиксировать показы, но не клики. Если аргумент "Результаты поиска" для product_click(), он будет считать клики против "Результатов поиска", но если аргумент что-либо (например, "Страница категории"), кроме этого, он не может считать клики против него ("Страница категории") или "Поиск Результаты"
Есть ли что-то неправильное в коде или он ограничен для слов "Результаты поиска"?
1 answers
Я упомянул Событие щелчка по продукту электронной коммерции , и похоже, что вы не отправили событие щелчка в GA.
// Send click with an event, then send user to product page.
ga('send', 'event', 'UX', 'click', 'Results', {
'hitCallback': function() {
document.location = '/product_details?id=P12345';
}
});
Добавление этого в вашу функцию product_click
непосредственно перед строкой script_closed
, вероятно, вызовет ее.
Вам нужно будет изменить источник document.location
в соответствии с вашим кодом.
Кроме того, зачем добавлять статический код javascript на свою страницу, когда вы должны напрямую выполнять его из своей функции? Замените все это просто этим -
ga('require', 'ec');
ga('ec:addProduct', {'id': id,'name': name});
ga('ec:send');
ga('ec:setAction', 'click', {'list': list});
// Send click with an event, then send user to product page.
ga('send', 'event', 'UX', 'click', 'Results', {
'hitCallback': function() {
document.location = '/product_details?id=P12345';
}
});
Выполните тестирование и дайте мне знать, если это сработает.