Записи с меткой "Я.Метрика"
Отслеживание продаж в Я.Метрике
Владельцы интернет-магазинов могут получать в Яндекс.Метрике детальную информацию о заказах, совершенных на сайте магазина.
Подключение Ecommerce
Перейдите в Метрику. Выберите счетчик, к которому нужно подключить электронную коммерцию. В настройках счетчика включите опцию Электронная коммерция. В код счетчика добавится контейнер для сбора данных dataLayer.

Убедитесь, что код счетчика на сайте содержит строку:
ecommerce:"dataLayer"
Установите код счетчика на страницах вашего сайта.
Представление и передача данных в Ecommerce
Чтобы передать данные в виде Ecommerce-объектов сервису Яндекс.Метрики, необходимо поместить их в специальный JavaScript-массив методом push. Такой массив будем называть контейнером данных.
- В разделе Настройки перейдите на вкладку Цели.
- Нажмите кнопку Добавить цель.
- Укажите тип условия JavaScript-событие, которое позволяет указать событие на сайте, которое является индикатором эффективности работы сайта.
- Установите Идентификатор цели в ORDER, сохраните номер цели.

- Нажмите кнопку Добавить цель. Созданная цель отображается в списке целей.
- Нажмите кнопку "Сохранить".
- В конец файла
bootstrap.phpдобавьте наблюдателя к событию создания заказа Shop_Payment_System_Handler.onAfterProcessOrder и внесите следующий код обработчика события. Не забудьте заменить идентификатор цели (goal_id) в коде обработчика:
PHP
-
// Цели Яндекс.Метрики при оформлении заказа class HostCms_Yandex_Metrika { static public function onAfterProcessOrder($oShop_Payment_System_Handler) { $oShop_Order = $oShop_Payment_System_Handler->getShopOrder(); // ЗАМЕНИТЕ ЗНАЧЕНИЕ goal_id НА ИДЕНТИФИКАТОР ВАШЕЙ ЦЕЛИ ORDER // Код метрики должен быть выше блока оформления заказа ?> <script type="text/javascript"> // $(window).load(function(){ try { window.dataLayer = window.dataLayer || []; dataLayer.push({ "ecommerce": { "currencyCode": "<?php echo htmlspecialchars($oShop_Order->Shop_Currency->code)?>", "purchase": { "actionField": { "id" : "<?php echo htmlspecialchars($oShop_Order->invoice)?>", "goal_id" : "999999999" }, "products": [ <?php $aShop_Order_Items = $oShop_Order->Shop_Order_Items->findAll(FALSE); $len = count($aShop_Order_Items); foreach ($aShop_Order_Items as $key => $oShop_Order_Item) { ?>{ name: "<?php echo htmlspecialchars($oShop_Order_Item->name)?>", price: <?php echo htmlspecialchars($oShop_Order_Item->getPrice())?>, quantity: <?php echo htmlspecialchars($oShop_Order_Item->quantity)?> }<?php if ($key < $len - 1) { echo "," . PHP_EOL; } } ?> ] } } }); } catch(e) { } //}); </script> <?php } } Core_Event::attach('Shop_Payment_System_Handler.onAfterProcessOrder', array('HostCms_Yandex_Metrika', 'onAfterProcessOrder')); // /Цели Яндекс.Метрики - Проверьте оформление заказа, информация о достижении цели должна появиться в конверсиях.
Цели Метрики
Как создать цель «JavaScript-событие»
- Перейдите на страницу Цели в левом меню и нажмите кнопку Добавить цель.
- В поле Название укажите имя создаваемой цели.
- Выберите тип цели JavaScript-событие.
- Укажите нужное условие и идентификатор цели. Под полем с идентификатором появится строка Код цели для сайта. Скопируйте код. Он понадобится для настройки метода reachGoal на вашем сайте.
Примеры использования метода reachGoal на страницах сайта:
Нажатие кнопки
... <form action=""> ... <input type="button" onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;" value="Заказать" /> </form> ...Заполнение формы... <form action="" method="get" onsubmit="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;"> ... </form> ...Отправка дохода по цели... <form action=""> ... <input type="button" onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME', {order_price: '1000.35', currency: 'RUB'}); return true;" value="Заказать"/> </form> ...XXXXXX — номер вашего счетчика.TARGET_NAME — идентификатор цели.order_price — доход по цели. Можно указать доход в валюте или в условных единицах.currency — валюта дохода по цели. Метрика распознает трехбуквенный код валюты по ISO 4217 - Нажмите кнопку Добавить цель. Созданная цель отобразится в списке целей. Метрика начнет сбор статистики по ней в течение нескольких минут.