creatonio Posted April 7, 2013 Report Share Posted April 7, 2013 Настраивал для себя код электронной торговли Гугл Аналитикса. Первые сутки проработал. Вроде все работает как надо. Решил поделиться, вдруг кому понадобится.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} Quote Link to post Share on other sites
Sid_Vishez Posted April 9, 2013 Report Share Posted April 9, 2013 creatonio, спасибо огромное!Отчего-то у меня за первый день у одной транзакции кол-во товара вместе с суммой умножились на 2. Quote Link to post Share on other sites
egorjazz Posted May 7, 2013 Report Share Posted May 7, 2013 {$purchase->product->cat|escape} действительно не работает. А как получить название категории к которой принадлежит продукт непонятно. Quote Link to post Share on other sites
Sid_Vishez Posted May 13, 2013 Report Share Posted May 13, 2013 Отчего транзакции могут считаться несколько раз? В некоторых заказах (транзакциях) сумма и количество товара в Гугл Аналитикс в несколько раз отличается от реальной. Quote Link to post Share on other sites
CyberLab Posted October 1, 2013 Report Share Posted October 1, 2013 А где размещать этот код ? Quote Link to post Share on other sites
Gloobus Posted October 1, 2013 Report Share Posted October 1, 2013 Вот готовый код: ... '{/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 и в случае не успеха, брать их еще раз уже из локальной базы... Или... заводить в цикл функцию, пока она не врнет результат ))))))) В общем, онлайн брать это не получится Quote Link to post Share on other sites
osben Posted October 1, 2013 Report Share Posted October 1, 2013 Ну во первых спасибо за идею Я привязал автоматическое получение города, страны, региона по 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); } Но конечно не самое лучшее решение Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.