Jump to content

Google Analytics - электронная торговля


Recommended Posts

Настраивал для себя код электронной торговли Гугл Аналитикса. Первые сутки проработал. Вроде все работает как надо. Решил поделиться, вдруг кому понадобится.
1. Учитывает все товары которые добавлены в заказ, не только последний.
2. Не дублирует транзакции в ГА если пользователь заходит несколько раз посмотреть статус заказа.

Вот готовый код:

{literal}<!-- Google Analitycs--><script type="text/javascript">  var _gaq = _gaq || [];  _gaq.push(['_setAccount', 'UA-********-*']); // Ваш айди аналитикса  _gaq.push(['_trackPageview']);  _gaq.push(['_addTrans',    '{/literal}{$order->id}{literal}', // ID - заказа    'Название вашего магазина',  // Название магазина    '{/literal}{$order->total_price}{literal}', // Итоговая цена    '', // Налоги (оставляем пустой, вместо них можно вывести другую инфу)    '{/literal}{$order->delivery_price|convert}{literal}', // Стоимость доставки    '{/literal}{$order->address|escape}{literal}',       // Адрес заказа    '', // Город или область (если кто привяжет через ip будет здорово)    '' // Страна  ]);  _gaq.push(['_addItem',    '{/literal}{$order->id}{literal}', // ID - Заказа    {/literal}{foreach $purchases as $purchase}{literal}    '{/literal}{$purchase->variant->sku|escape}{literal}', // Артикул товара    '{/literal}{$purchase->product_name|escape} {$purchase->variant->sku|escape}{literal}',// Название товара (имя, артикул)    '{/literal}{$purchase->product->cat|escape}{literal}',// Категория товара (кажется не работает)    '{/literal}{$purchase->price}{literal}',// Цена товара    '{/literal}{$purchase->amount}{literal}'// Количество товара    {/literal}{if $purchase@last} {else},{/if}     {/foreach}{literal}  ]);  _gaq.push(['_trackTrans']);   (function() {    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);  })();</script>{/literal}
Link to post
Share on other sites
  • 4 weeks later...

Отчего транзакции могут считаться несколько раз? В некоторых заказах (транзакциях) сумма и количество товара в Гугл Аналитикс в несколько раз отличается от реальной.

Link to post
Share on other sites
  • 4 months later...

 

Вот готовый код:

...
    '{/literal}{$order->address|escape}{literal}',       // Адрес заказа
    '', // Город или область (если кто привяжет через ip будет здорово)
    '' // Страна
...

 

Ну во первых спасибо за идею :)

Я привязал автоматическое получение города, страны, региона по IP адресу на основе базы ipgeobase.ru

Результат можно посмотреть тут http://simpla.gloobus.ru/cart/ 

Пообновляйте страницу несколько раз и увидите, что определение срабатывает не всегда! Причина в том, что данные из http://ipgeobase.ru:7020/geo/?ip= берутся через curl и он не всегда успевает вернуть результат, что бы записать его в переменные и вернуть в шаблон. file_get_contents тут тоже не прокатит, ибо если повиснет ipgeobase.ru, у вас повиснет корзина!

Единственное, что приходит в голову, это делать локальную базу, по данные пытаться брать с ipgeobase.ru и в случае не успеха, брать их еще раз уже из локальной базы...

 

Или... заводить в цикл функцию, пока она не врнет результат )))))))

 

В общем, онлайн брать это не получится :(

Link to post
Share on other sites

Ну во первых спасибо за идею :)

Я привязал автоматическое получение города, страны, региона по IP адресу на основе базы ipgeobase.ru

Результат можно посмотреть тут http://simpla.gloobus.ru/cart/

Пообновляйте страницу несколько раз и увидите, что определение срабатывает не всегда! Причина в том, что данные из http://ipgeobase.ru:7020/geo/?ip= берутся через curl и он не всегда успевает вернуть результат, что бы записать его в переменные и вернуть в шаблон. file_get_contents тут тоже не прокатит, ибо если повиснет ipgeobase.ru, у вас повиснет корзина!

Единственное, что приходит в голову, это делать локальную базу, по данные пытаться брать с ipgeobase.ru и в случае не успеха, брать их еще раз уже из локальной базы...

 

Или... заводить в цикл функцию, пока она не врнет результат )))))))

 

В общем, онлайн брать это не получится :(

 

как вариант можно использовать 

<script src="//api-maps.yandex.ru/2.0/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
ymaps.ready(init);
function init() {
// Данные о местоположении, определённом по IP
 var geolocation = ymaps.geolocation;
// Результат смотрим в консоли
 console.log(geolocation.country, geolocation.city, geolocation.region);
}

Но конечно не самое лучшее решение

 

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...