Отслеживаем транзакции в ShopXML спомощью Google Analytics
Для тех, кому лень искать мануалы 🙂
Транзакции в Гугле можно отследить двумя способами
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()
Собственно и все премудрости, которые можно было самостоятельно извлечь из мануалов 🙂