Для тех, кому лень искать мануалы 🙂
Транзакции в Гугле можно отследить двумя способами
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()
Собственно и все премудрости, которые можно было самостоятельно извлечь из мануалов 🙂
Чтобы загруска скрипта аналитикса не тормозила сайт, можно перейти на асинхронный трекинг http://code.google.com/intl/ru/apis/analytics/docs/tracking/asyncTracking.html.
Спасибо за инфу – не знал.
Артем, ну это же не серьезно! 🙂 Так вы видите только общую сумму и все. Почему бы не распарсить $res в том же ok.php или через xml, и иметь полное представление от том, какие именно товары продались по конкретным кеям.
Во-первых, такая информация полезна только если продвигать морду и на неё же вывалить весь список товаров (т.е. поставить опцию показывать bestsellers). Т.е. я для активно продвигаемых кивордам и так знаю, какие товары по ним продаются.
Во-вторых, задача так в лоб не решается – в ok.php уже нет информации о товарах 🙂
Почему же нет? Кастомеру же на ок.html выводится же табличка того, что он заказал. Вот эту табличку ($res) и можно распарсить. А можно еще проще, наверное, через api получить все товары в заказе.
>распарсить
>через API
можно. Но можно и заранее всю информацию в сессию сохранить, к примеру. Я просто обратил внимание, что это не самая простая задача – тут хоть чуть-чуть, но надо подумать и прилично покодить.