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

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

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

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

currency.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ниже мы рассмотрим, что может повлиять на счётчики и процесс передачи данных электронной коммерции от браузера пользователя до метрики или аналитики.

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

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

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

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

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

Негативные для доходимости факторы, на которые мы не можем повлиять:

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

  2. Режим инкогнито. Например Firefox в режиме инкогнито блокирует работу счётчика Яндекс.Метрики

  3. Поведение пользователя. Например: после нажатия оформить заказ пользователь не дождался подтверждения и закрыл сайт

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

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

В данной главе будут публиковаться подсказки по размещению компонента в карточке товара для популярных типовых решений.
("Шаг 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); } ?>