Google Analytics для магазина у ИМ Simpla
Дата: 24 Апр ' 11 Автор: mart Рубрики: Программирование
У счетчиков Google Analytics есть возможность отслеживать транзакции по заказам. Система удобная, т.к. любая дополнительная статистика не помешает владельцу магазина (какой товар ходовой, по регионам и т.п.).
В этой статье решил дать небольшие инструкции по коду, чтобы данная система заработала и у нас.
Итак, если у Вас еще не не аккаунта на гугле — самое время его завести. Как создавать аккаунт и привязывать домен к сервису статистики расписывать не буду. Статей в сети много по данному вопросу, а мы рассматриваем именно интеграцию расширенной статистики в магазин Simpla.
В настройках счетчика в панели Google Analytics (Настройки Google Analytics > Настройки профиля > Изменение информации профиля) устанавливаем переключатель на «Сайт электронной торговли». Тут же выбираем базовую валюту нашего магазина, т.к. будет транзакции считать по ней. Гугл предложил инструкции по вставке кода в страницу в разделе отслеживания (Настройки Google Analytics > Настройки профиля > Код отслеживания) — надо их выполнить, т.к. мы используем этот же код, только адаптированный под нашу систему с учетом методов электронной торговли (все инструкции есть в помощи по Аналитиксу).
Теперь непосредственно изменяем код отслеживания.
<script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-*******-**']); //меняем на свой идентификатор _gaq.push(['_trackPageview']); {if $order} _gaq.push(['_addTrans', '{$order->order_id}', '[Название_магазина]', '{$order->total_amount*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}', '', '{if $order->delivery_price>0}{$order->delivery_price*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}{else}0{/if}', 'Москва', 'Москва', 'Россия']); {foreach from=$order->products item=product} _gaq.push(['_addItem', '{$order->order_id}', '{$product->sku|escape}', '{$product->product_name|escape}', '{$product->category|escape}', '{$product->price*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}', '{$product->quantity}' ]); {/foreach} {/if} _gaq.push(['_trackTrans']); {literal} (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); })(); {/literal} </script> |
Можно просто вместо кода, данного гугом вставить мой, только заменив все необходимые данные на свои (обязательно в 3 строке кода поменять на свой номер счетчика). Также поменять информацию о заказе (не путать с информацией о товаре в заказе, которых может быть несколько) в строке
_gaq.push(['_addTrans', '{$order->order_id}', 'Название_магазина', '{$order->total_amount*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}', '', '{if $order->delivery_price>0}{$order->delivery_price*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}{else}0{/if}', 'Город', 'Область', 'Страна']); |
- Название_магазина
- Город
- Область
- Страна
Вот и все! Кому что не понятно: спрашиваем — не стесняемся.
3 комментария
-
alive
01|Май|2011 1Не совсем понятно что нужно вставить вместо Название_магазина
Город
Область
Страна -
alive
12|Май|2011 2При вставлении этого кода аналитикс перестает отслеживать. Что не так?
-
Евгений
09|Июл|2011 3в самом деле, чего-то не хочет отслеживать!
пишет вот что:
Проблема при загрузке отчета «Статистика страницы»
В ваших настройках обнаружены ошибки. Они могут привести к проблемам при загрузке статистики страницы.
Код ga.js на вашем сайте не загружается с сервера Google. Если код отслеживания Google размещен на собственном сервере, он не будет обновляться автоматически. Вы можете пропустить важные изменения.
Не удалось найти фрагмент кода отслеживания на вашем сайте. Невозможно загрузить статистику страницы. Убедитесь, что код отслеживания был установлен правильно. Если фрагмент включен в отдельный файл JavaScript, необходимо вручную проверить его загрузку.