На самом деле, там все сложнее. В теме только отслеживание транзакции (последнего шага покупки).
Чтобы видеть всю воронку нужно:
1. Чтобы видеть, какие товары были добавлен в корзину:
- добавить в teaser и в full товара где-нибудь возле вывода кнопки "добавить в корзину"
<?php
$arr = $item->getElements();
foreach($arr as $value){
if($value->config->type == 'jbpriceadvance'){
$basic = $value->getElementData()->basic;
$sku = $basic['sku'];
break;
}
}
?>
<script>
function onProductClick() {
ga('ec:addProduct', {
'id': '<?php echo $sku; ?>',
'name': '<?php echo strip_tags($this->renderPosition("title")); ?>',
});
ga('ec:setAction', 'add');
}
</script>
- в шаблоне кнопок /media/zoo/applications/jbuniversal/elements/jbpriceadvance/tmpl/_buttons.php немного переделать код кнопки добавления в корзину. На примере шаблона обычной кнопки:
<a rel="nofollow" href="#add-to-cart" id="<?php echo $this->getItem()->id;?>" class="jsAddToCart jbzoo-button green"
title="<?php echo JText::_('JBZOO_JBPRICE_ADD_TO_CART'); ?>" onclick="onProductClick(); return !ga.loaded;"><?php echo JText::_('JBZOO_JBPRICE_ADD_TO_CART'); ?></a>
Т.е повесить на все нужные кнопки ту самую функцию onProductClick.
2. Чтобы видеть, что товары были просмотрены добавить в teaser и в full товара код
<script>
ga("create", "UA-XXXXX-Y");
ga('require', 'ec');
ga('ec:addImpression', {
'id': '<?php echo $sku; ?>',
'name': '<?php echo strip_tags($this->renderPosition("title")); ?>'
});
ga('ec:setAction', 'detail');
ga('send', 'pageview');
</script>
3. Чтобы видеть, сколько человек перешло в корзину: добавить в /media/zoo/applications/jbuniversal/templates/*шаблон*/renderer/basket/_default.php код отслеживания просмотра корзины
<script>
ga("create", "UA-XXXXX-Y");
ga('require', 'ec');
ga('ec:setAction','checkout', {
'step': 1
});
ga('send', 'pageview');
</script>
4. Чтобы видеть, кто оформил заказ, добавить тот код, что был в теме. Т.е. в /media/zoo/applications/jbuniversal/templates/*название шаблона*/renderer/payment_success/_default.php
<script>
ga("create", "UA-XXXXX-Y");
ga('require', 'ec');
<?php
$cartItems = $view->orderDetails->getOrderItems();
foreach ($cartItems as $cartItem) {
echo "ga('ec:addProduct', {";
echo "'id': '".$cartItem['sku']."',";
echo "'name': '".$cartItem['name']."',";
echo "'price': '".round($cartItem['price'],2)."',";
echo "'quantity': ".$cartItem['quantity']."";
echo "});";
}
?>
ga('ec:setAction', 'purchase', {
'id': <?php echo "'".$view->order->id."'" ?>,
'revenue': <?php echo "'".round($view->orderDetails->getTotalPrice(),2)."'" ?>
});
ga('ecommerce:send');
</script>
В итоге мы будем видеть все красиво
Хотя там все равно еще остается отслеживание возвратов товара, купонов и т.п. Я в это не вникал.
PS Может быть, что-то забыл или перепутал. Настраивал это все давно.
Сообщение отредактировал Sliapy: 26 January 2016 - 01:28
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]