Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you may not be able to execute some actions.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
Попросили настроить расширенную коммерцию через GTM в магазинах на CS-Cart. Залез разбираться и постепенно забываю приличные слова. 1 модуль — только вставляет код вызова GTM, умеет отслеживать конверсию в Google Conversion, шлет пользовательские ивенты типа добавить в корзину и так далее, но это не события ecommerce, просто ивенты, которые на стороне GTM потом можно использовать. 2 модуль — Google Analytics. Ставит код на все страницы, со страницы чекаута отправляет ecommerce конверсию. То есть пользователя как бы нигде не было, продукт не смотрел, в корзину не клал, адрес не вводил и вдруг — бац! — уже купил. 3 модуль — Яндекс.Метрика. Прелесть полная, всё отслеживает, все присылает в Метрику, всё прекрасно. Ну, думаю, хоть и не совсем прямо, но данные-то он в datalayer отправил, сейчас на стороне GTM на каждый пользовательский ивент повесим триггер и будем их в GA отправлять.
А фиг тут. Потому что те, кто писал модуль для интеграции с Метрикой, решили, что пользоваться datalayer не патриотично и задали свой уровень данных. Опции определения имени этого уровня, как в Метрике сделано, — нет.
Переопределить в коде модуля GTM имя datalayer тоже нельзя.
И самое прикольное — все три модуля разработаны одной компанией.
Ну вот как?
В общем, если попадете с этим так же, то надо найти в админке шаблоны модуля Метрики и там с корнем выдрать все упоминания кастомного имени dataLayer.
И как, помогло? Там, вроде, все модули один другого чуднее…
Не очень. То есть для целей GTM вообще не помогло — кажется, у Метрики нет обязательного требования объявлять datalayer до загрузки счетчика, а GTM не видит ничего, что записано в datalayer в середине страницы.