Отслеживаем транзакции в ShopXML спомощью Google Analytics

Click to rate this post!
[Total: 0 Average: 0]

Для тех, кому лень искать мануалы 🙂

Транзакции в Гугле можно отследить двумя способами

1) По посещениям страницы Ok.html. Как настроить цель читать по ссылке

2) Информированием Гугля о том, что транзакция таки случилась. Вот об этом способе хочу рассказать чуть подробнее.

Во-первых, нужно сообщить гуглю, что сайт у нас коммерческий. Это делается в настройках профиля – E-Commerce Website  ставим гордое Yes.  Теперь нужно лезть в код файла /common/all_tail.php,  где очень удобное место для размещение кода аналитикс (можно размещать код и в начале страницы, но тогда при подтормаживании Гугль Аналитикс будет тормозить сайт, что не есть гуд).

Там у вас должен стоять такой код (дефолтный от аналитика):
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-777777-1");
pageTracker._trackPageview();
} catch(err) {}</script>

У меня же стоит такой:

<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-777777-1");
pageTracker._initData();
pageTracker._trackPageview();
<?if (isset($_REQUEST["result"])){$ordarray = split("\|",($_REQUEST["result"]));?>
pageTracker._addTrans(
"<?=$ordarray[0]?>",            // Order ID
"AiK Shop",                     // Affiliation
"<?=$ordarray[2]?>",            // Total
"0",                            // Tax
"<?=$ordarray[5]?>",            // Shipping
" ",                            // City
" ",                            // State
"USA"                           // Country
);
pageTracker._trackTrans();

<?}?>
} catch(err) {}</script>
Объясняю что делают выделенные строчки:

pageTracker._initData(); – инициализация кода аналитикса. Гооворят, что эта строчка устарела. Я же пользуюсь старым программерским правилом: работает – не трогай.

<?if (isset($_REQUEST[“result”])){$ordarray = split(“\|”,($_REQUEST[“result”]));?> – это уже кусок php кода. Суть такая: посетитель после осуществления транзакции попадает на URL вида OK_52156.html?result=52156|1|40.94|31.99|0|8.95|0|0|0|0

Вот кусок этой URL мы вытягиваем и складываем в массив $ordarray, который дальше используем в параметрах функции pageTracker._addTrans() , которая и сообщает гуглю все параметры транзакции. Комментарии в коде (после двух палок //  🙂 ) по-моему разжовывают их целиком и полностью.

После чего мы информируем Гугль, что мы тут не погулять вышли, а  хотим транзакцию лицезреть в отчёте при помощи строчки pageTracker._trackTrans()

Собственно и все премудрости, которые можно было самостоятельно извлечь из мануалов 🙂

Поделиться Вконтакте
Плюсануть

6 комментариев к “Отслеживаем транзакции в ShopXML спомощью Google Analytics

  1. Артем, ну это же не серьезно! 🙂 Так вы видите только общую сумму и все. Почему бы не распарсить $res в том же ok.php или через xml, и иметь полное представление от том, какие именно товары продались по конкретным кеям.

  2. Во-первых, такая информация полезна только если продвигать морду и на неё же вывалить весь список товаров (т.е. поставить опцию показывать bestsellers). Т.е. я для активно продвигаемых кивордам и так знаю, какие товары по ним продаются.

    Во-вторых, задача так в лоб не решается – в ok.php уже нет информации о товарах 🙂

    1. Почему же нет? Кастомеру же на ок.html выводится же табличка того, что он заказал. Вот эту табличку ($res) и можно распарсить. А можно еще проще, наверное, через api получить все товары в заказе.

  3. >распарсить
    >через API
    можно. Но можно и заранее всю информацию в сессию сохранить, к примеру. Я просто обратил внимание, что это не самая простая задача – тут хоть чуть-чуть, но надо подумать и прилично покодить.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *