Перейти к содержимому


Фотография
- - - - -

Отслеживание "Параметры интернет-магазинов" для GA

ga ecommerce

Лучший Ответ Sliapy , 25 January 2016 - 15:27

 

Судя по справке, теперь данные отсылаются через  ga('ecommerce:send');

 

Правильный код, значит, должен быть таким.

 

<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>
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 7

#1 beat_one

beat_one

Отправлено 25 January 2016 - 14:10

Добрый день. Уже четвертый день ломаю голову с настройкой отслеживания транзакции интернет-магазина для GA. По метрике топик подробный нашел(http://forum.jbzoo.c...erez-yandreksm/), а вот по GA нет(

Вот ссылка на документацию https://developers.g...ecommerce?hl=ru

Очень нужна помощь!


  • 0

#2 SmetDenis

SmetDenis

Отправлено 25 January 2016 - 14:14

Добрый день.

Можете показать код, который вы установили на сайт и он не сработал?
Можете показать страницу? Нет ошибок JS на странице?
Какая используется версия JBZoo ?
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 beat_one

beat_one

Отправлено 25 January 2016 - 14:28

Я на локалке делаю сейчас, код вот:

<script>
ga("create", "UA-XXXXX-Y");
ga("require", "ec");
ga('require', 'ecommerce', 'ecomerce.js');

$result = array(
    'order_id'      => $view->order->id,
    'order_price'   => $view->orderDetails->getTotalPrice(),
    'currency'      => "UAH",
    'exchange_rate' => 1,
    'goods'         => array(),
);
 
$cartItems = $view->orderDetails->getOrderItems();
foreach ($cartItems as $cartItem) {
    $result['goods'][] = array(
        'id'       => $cartItem['sku'],
        'name'     => $cartItem['name'],
        'price'    => $cartItem['price'],
        'quantity' => $cartItem['quantity'],
    );
}
</script>

 

Версия 2.1.3 Pro

Если с метрикой там еще понятно то с GA и настройкой транзакций я вообще уже мозг сломал


  • 0

#4 beat_one

beat_one

Отправлено 25 January 2016 - 14:34

Может быть у Вас уже есть какой то рецепт для GA?


  • 0

#5 Sliapy

Sliapy

Отправлено 25 January 2016 - 14:52

А что у вас за код такой? Как это вы яваскрипт объединяете с 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('send', 'pageview');

</script>

В revenue и в цене товара идет округление, потому что магазин работает в бел. рублях. Код помещается, естественно, в l/media/zoo/applications/jbuniversal/templates/*название шаблона*/renderer/payment_success/_default.php

 

Хотя, судя по всему, неправильно делать ga('send', 'pageview');, если он уже есть в основном коде аналитикса в heade. Как я понимаю, это может привести к дублированию данных.


  • 2
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#6 Sliapy

Sliapy

Отправлено 25 January 2016 - 15:27   Лучший Ответ

 

Судя по справке, теперь данные отсылаются через  ga('ecommerce:send');

 

Правильный код, значит, должен быть таким.

 

<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>

  • 2
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#7 beat_one

beat_one

Отправлено 25 January 2016 - 15:43

О спасибо Вам добрый человек!) Сейчас протестирую


  • 0

#8 beat_one

beat_one

Отправлено 25 January 2016 - 16:59

Да, работает, что интересно что и первый вариант работал и второй работает. Спасибо большое!)


  • 0




Click to return to top of page in style!