Готовые решения для 1С-Битрикс
Карточка решения
База знаний по решению:
Электронная коммерция для Яндекс.Метрики и Google Analytics

Все часто задаваемые вопросы по решению: Электронная коммерция для Яндекс.Метрики и Google Analytics

Валюта представления GA4

В Google Аналитике валюта по умолчанию – доллар США. Для изменения на Российский рубль перейдите в Настройки (Администратор), на открывшейся странице перейдите в "Настройки ресурса". В настройках ресурса, в поле "Валюта" выберите Российский рубль. Сохраните.

currency.jpg

Режимы работы решения

В данный момент у решения 3 режима работы: "Запросы по событиям", "Запросы с интервалом" и "Без фоновых запросов". Каждый из них имеет свои преимущества, ниже мы рассмотрим все 3 режима.

Один из частых вопросов в поддержку: Зачем решению нужен запрос?

Ответ достаточно прост: запросы нужны что бы более точно собирать события добавления в корзину и оформления заказа в 1 клик. Они будут собираться и без дополнительного запроса, но менее точно. Скрипт к которому идёт запрос максимально оптимизирован и безопасен. Запросов к бд или логики в нём нет, подключение пролога + чек сессии. 

1. Режим "Запросы с интервалом". Устаревший режим работы, решение с определенной переодичностью проверяет не произошли ли события. Стабильный, но ресурсоемкий режим

2. Режим "Запросы по событиям". Актуальный и рекомендуемый режим работы с реакцией на действия пользователей. Значительно эффективнее режима "Запросы с интервалом" и в плане производительности и в плане качества сбора.

3. Режим "Без фоновых запросов". Режим для разработчиков. Фоновые запросы в нём решение самостоятельно не делает, их можно делать вручную вручную из js когда это необходимо (выполняя функцию "agMetricScriptRequest();")

Работа с заказами в 1 клик

Один из самых частых вопросов по данному модулю: Работает ли решение с заказами в 1 клик?

Ответ:
Да, модуль работает с любыми любыми компонентами создающими заказ. Модуль одинаково хорошо работает как со стандартными и кастомизированными компонентами оформления заказа, так и с оформлением заказа в 1 клик и быстрым заказом.
Единственно необходимое условие - заказы должны попадать в стандартный список заказов битрикса.

Старые и созданные через админку или api заказы

Вопрос: Передаёт ли решение данные старых заказов, заказах созданных через админку, заказах выгруженных с других платформ или созданных через API?
Ответ:
Нет, решение не передаёт данные о старых, созданных через админ панель, выгруженных с других платформ и созданных через API заказах.

На мой взгляд корректно это сделать невозможно. У всех сохраненных/созданных через в админ панель заказов отсутствует главный статистический объект - пользователь создавший его. Соответственно, получение каких-либо ценных статистических данных (таких как поведение пользователя, канал привлечения, время на сайте и т.п.) - становится невозможным.

Для корректной работы электронной коммерции (в том числе идентификации пользователя совершающего действия) данные коммерции должны передаваться во время совершения действий и от сеанса пользователя совершающего действия.

Советы по улучшению доходимости событий

Достаточно часто сталкиваюсь с вопросом:
У нас на сайте за последние 3 дня условно 50 заказов, а метрика показывает только 47. Почему так?
Увы, небольшой процент не дошедших событий электронной коммерции есть всегда (какие бы способы и методы мы не использовали).

Это связано с самими механизмами сбора данных в электронные коммерции. Сбор работает так: решение видит событие, передаёт его счётчику (яндекс.метрики например), а счётчик отправляет данные непосредственно в систему.

Решение в 100% случаев видит событие и отдаёт его счётчику, но вот счётчик и дальнейшая передача подвержены внешнему воздействию.

Счётчики сервисов встраиваются в страницу и уязвимы - они зависят от прочего кода сайта, особенностей бразуера, расширений установленных в браузере и поведения пользователей (более подробно негативные факторы опишу ниже).

В каких случаях стоит переживать?


В нормальной ситуации потери не должны быть более 10%. Если у вас большой процент недохождений событий (более 25%) - это явный знак того, что есть проблемы с настройкой решения, счётчиком или сайтом.


Что негативно влияет на доходимость, что может блокировать передачу данных


  1. Поведение пользователя. Например заказ долго оформляется, пользователь закрывает сайт до того, как пройдет загрузка и откроется страница страница подтверждения. Получаем что заказ есть, а отправка не произошла, т.к. страница сайта закрылась раньше отправки данных.

  2. Оптимизация счётчиков. Последнее время часто встречаю, что для ускорения загрузки откладывают загрузку счётчиков на сайт на несколько секунд, это хорошо для скорости загрузки, но губительно для качества сбора данных.

  3. Защита от трекинга браузеров и устройств. Для повышения конфиденциальности всё большее количество устройств и браузеров добавляют блокировки отслеживания поведения. Например Firefox в режиме инкогнито полностью блокирует работу счётчика Яндекс.Метрики т.к. видит что это "Tracking"

  4. JavaScript ошибки на сайте. Опытным путём уже множество раз приходил к тому, что для хорошей доходимости в консоли не должно быть JS ошибок.

  5. Расширения браузера для блокировки рекламы (AdBlock) и встроенные в браузер механизмы защиты от отслеживания.

  6. Доступность серверов сервисов. Например: решение передаёт данные в счётчик Аналитики, счётчик аналитики делает отправку запроса на сервера гугла, которые в этот момент недоступны

Для стабильной и высокой доходимости:

  1. Не должно быть ни одной ошибки javascript в консоли, особенно на страницах оформления заказа. Вне зависимости к какой части сайта js-ошибка относится, она может и будет влиять на tagmanager, событие загрузки контейнера или скрипт отправки данных в электронные коммерции.

  2. Не рекомендуется использовать несколько счётчиков одного типа на сайте с включенной электронной коммерцией. Доходимость будет низкой если у вас установлено несколько счётчиков Яндекс.метрики

  3. Не рекомендуется использовать ga, gtag и gtm счётчики совместно. Все 3 счётчика по сути являются оболочкой одной технологии, поэтому при наличии gtag и gtm на одной странице они будут "делить" между собой данные о событиях, доходимость будет уменьшаться

  4. Счётчики рекомендуется размещать в начале блока <head>. Если у вас автоматический перенос скриптов в футер, проследите что бы счётчики после переноса были ДО других <script>. Не рекомендуется так же оптимизировать счётчики, откладывать загрузку.

Подсказки по установке компонента в карточку товара для популярных решений

В данной главе будут публиковаться подсказки по размещению компонента в карточке товара для популярных типовых решений.
("Шаг 4. Установка компонента в карточку товара" текстовой инструкции)


Аспро: Некст, Максимум, Оптимус

Для решения "Аспро: Next" устанавливать компонент в карточку товара следует в файл по пути:

/bitrix/templates/#АЙДИ_АКТИВНОГО_ШАБЛОНА#/components/bitrix/catalog/main/element_normal.php

В конец файла в таком виде:
<? if(CModule::IncludeModule("arturgolubev.ecommerce")){ $APPLICATION->IncludeComponent("arturgolubev:ecommerce.detail", ".default", array( "COMPONENT_TEMPLATE" => ".default", "OFFERS_CART_PROPERTIES" => $arParams['OFFERS_CART_PROPERTIES'], "PRODUCT_ID" => $arElement["ID"], "CACHE_TYPE" => "A", "CACHE_TIME" => "360000" ), $component); } ?>


Digital Web: Deluxe

Для решения "Digital Web: Deluxe" устанавливать компонент в карточку товара следует в файл по пути:

/bitrix/templates/#АЙДИ_АКТИВНОГО_ШАБЛОНА#/components/dresscode/catalog/.default/element.php

В конец файла в таком виде:
<? if(CModule::IncludeModule("arturgolubev.ecommerce")){ $APPLICATION->IncludeComponent( "arturgolubev:ecommerce.detail", ".default", array( "COMPONENT_TEMPLATE" => ".default", "OFFERS_CART_PROPERTIES" => $arParams['OFFERS_CART_PROPERTIES'], "PRODUCT_ID" => (!empty($arResult["VARIABLES"]["ELEMENT_ID"]) ? $arResult["VARIABLES"]["ELEMENT_ID"] : (!empty($arResult["EXTRA"]["ID"]) ? $arResult["EXTRA"]["ID"] : "-")), "CACHE_TYPE" => "A", "CACHE_TIME" => "360000" ), $component ); } ?>


Некстайп: Магнит

Для решения "Некстайп: Магнитt" устанавливать компонент в карточку товара следует в файл по пути:

/bitrix/templates/#АЙДИ_АКТИВНОГО_ШАБЛОНА#/components/bitrix/catalog/main/catalog/element.php

В конец файла в таком виде:
<? if(CModule::IncludeModule("arturgolubev.ecommerce")){ $APPLICATION->IncludeComponent("arturgolubev:ecommerce.detail", ".default", array( "COMPONENT_TEMPLATE" => ".default", "OFFERS_CART_PROPERTIES" => $arParams['OFFERS_CART_PROPERTIES'], "PRODUCT_ID" => $elementId, "CACHE_TYPE" => "A", "CACHE_TIME" => "360000" ), $component); } ?>


Некстайп: Альфа

Для решения "Некстайп: Альфа" устанавливать компонент в карточку товара следует в файл по пути:

/bitrix/templates/#АЙДИ_АКТИВНОГО_ШАБЛОНА#/components/nextype/alpha.catalog/main/element.php

В конец файла в таком виде:
<? if(CModule::IncludeModule("arturgolubev.ecommerce")){ $APPLICATION->IncludeComponent("arturgolubev:ecommerce.detail", ".default", array( "COMPONENT_TEMPLATE" => ".default", "OFFERS_CART_PROPERTIES" => $arParams['OFFERS_CART_PROPERTIES'], "PRODUCT_ID" => $GLOBALS['CATALOG_CURRENT_ELEMENT_ID'], "CACHE_TYPE" => "A", "CACHE_TIME" => "360000" ), $component); } ?>