Измерение клика продукта - Расширенная электронная коммерция 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(), он будет считать клики против "Результатов поиска", но если аргумент что-либо (например, "Страница категории"), кроме этого, он не может считать клики против него ("Страница категории") или "Поиск Результаты"

Есть ли что-то неправильное в коде или он ограничен для слов "Результаты поиска"?

Author: Dinesh Subhash Patil, 2014-08-22

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';
    }
});

Выполните тестирование и дайте мне знать, если это сработает.

 2
Author: Hitesh, 2014-08-22 17:52:34