eCommSender - отправка данных электронной коммерции
Приветствую! Представляю вашему вниманию компонент для отправки событий электронной коммерции в Яндекс Метрику и не только.
Компонент можно использовать для отправки данных в любой сервис сбора данных электронной коммерции, но из коробки он настроен на работу с Яндекс Метрикой.
Общий принцип работы: компонент отслеживает серверные события и события на фронте, после чего формирует объект данных и помещает их в dataLayer (параметр по умолчанию), а уже из dataLayer эти данные забирает скрипт метрики.
Зависимости:
1. UniversalEventBus
Как пользоваться:
1. Создать копию файла core/components/ecommsender/services/config.inc.php и изменить параметры
* templateIds — содержит массив id шаблонов ключевых страниц (корзина, форма заказа, страница благодарности)
* chunks — содержит массив шаблонов структуры данных для различных событий
* payedStatuses — содержит массив, где ключами являются id способов оплаты, а значениями — id статусов
* paymentKeyParams — содержит массив, где ключами являются id способов оплаты, а значениями — параметр в ссылке на оплату содержащий ключ оплаты
* counterId — id счетчика метрики (актуально только при использовании Яндекс метрики).
* measurementProtocolToken — токен для передачи события purchase в случае невозврата пользователя на сайт
после оплаты (актуально только при использовании Яндекс метрики).
2. Указать путь к вашему файлу конфигурации в системных настройках.
3. Установить код метрики на сайт.
После этого будут доступны следующие события:
* click
* detail
* add
* remove
* view_cart
* initiate_checkout
* order_created
* dl_purchase
* purchase
!!! ВАЖНО!!! События dl_purchase и purchase являются взаимоисключающими,
т.е. если было отправлено одно из них, второе отправлено не будет.
Для отслеживания событий просмотра списка товаров (impressions) необходимо каждому списку добавить следующие атрибуты:
* data-ecs-list
* data-ueb-event=«show»
* data-ueb-once=«1»
Для отслеживания просмотра миникорзины, если она у вас сделана в модальном окне, нужно добавить следующие атрибуты:
* data-ueb-event=«open»
* data-ueb-params=«eventName:ecsViewMiniCart»
И добавить в системные настройки селектор открытой миникорзины.
Для отслеживания открытия окна быстрого заказа нужно добавить следующие атрибуты:
* data-ueb-event=«open»
* data-ueb-params=«eventName:ecsFastOrderWithCart»
И добавить в системные настройки селектор открытого окна быстрого заказа.
Чтобы не отправлять данные о каких-либо событиях, можно просто оставить пустым имя чанка в конфигурации.
Чтобы не отслеживать события, нужно отключить привязку к системным событиям в настройках плагина ecsEventWatcher.
Для отмены отслеживания кликов, оставьте пустым системную настройку с селектором ссылок.
Системные события:
1. OnGetEcsWebConfig — можно добавить свои параметры в веб-конфиг
Компонент можно использовать для отправки данных в любой сервис сбора данных электронной коммерции, но из коробки он настроен на работу с Яндекс Метрикой.
Общий принцип работы: компонент отслеживает серверные события и события на фронте, после чего формирует объект данных и помещает их в dataLayer (параметр по умолчанию), а уже из dataLayer эти данные забирает скрипт метрики.
Зависимости:
1. UniversalEventBus
Как пользоваться:
1. Создать копию файла core/components/ecommsender/services/config.inc.php и изменить параметры
* templateIds — содержит массив id шаблонов ключевых страниц (корзина, форма заказа, страница благодарности)
* chunks — содержит массив шаблонов структуры данных для различных событий
* payedStatuses — содержит массив, где ключами являются id способов оплаты, а значениями — id статусов
* paymentKeyParams — содержит массив, где ключами являются id способов оплаты, а значениями — параметр в ссылке на оплату содержащий ключ оплаты
* counterId — id счетчика метрики (актуально только при использовании Яндекс метрики).
* measurementProtocolToken — токен для передачи события purchase в случае невозврата пользователя на сайт
после оплаты (актуально только при использовании Яндекс метрики).
2. Указать путь к вашему файлу конфигурации в системных настройках.
3. Установить код метрики на сайт.
После этого будут доступны следующие события:
* click
* detail
* add
* remove
* view_cart
* initiate_checkout
* order_created
* dl_purchase
* purchase
!!! ВАЖНО!!! События dl_purchase и purchase являются взаимоисключающими,
т.е. если было отправлено одно из них, второе отправлено не будет.
Для отслеживания событий просмотра списка товаров (impressions) необходимо каждому списку добавить следующие атрибуты:
* data-ecs-list
* data-ueb-event=«show»
* data-ueb-once=«1»
Для отслеживания просмотра миникорзины, если она у вас сделана в модальном окне, нужно добавить следующие атрибуты:
* data-ueb-event=«open»
* data-ueb-params=«eventName:ecsViewMiniCart»
И добавить в системные настройки селектор открытой миникорзины.
Для отслеживания открытия окна быстрого заказа нужно добавить следующие атрибуты:
* data-ueb-event=«open»
* data-ueb-params=«eventName:ecsFastOrderWithCart»
И добавить в системные настройки селектор открытого окна быстрого заказа.
Чтобы не отправлять данные о каких-либо событиях, можно просто оставить пустым имя чанка в конфигурации.
Чтобы не отслеживать события, нужно отключить привязку к системным событиям в настройках плагина ecsEventWatcher.
Для отмены отслеживания кликов, оставьте пустым системную настройку с селектором ссылок.
Системные события:
1. OnGetEcsWebConfig — можно добавить свои параметры в веб-конфиг
$object->webConfig['paramName'] = 'paramValue';
2. OnGetEcsHandleEvent — для обработки кастомных событий, можно вернуть массив с данными для добавления в dataLayer$object->output = ['eventName' => 'eventName', 'eventData' => 'eventData'];
Для внесения изменений в имеющиеся события (click, detail и т.д.) корректируйте содержимое чанков, предварительно скопировав их.
Поблагодарить автора
Отправить деньги
0