Долгое время у меня этот плагин работал через хуки (настройка "Добавить код контейнера GTM вручную" выключена). Но однажды я начал использовать блоги и обнаружил, что на страницах блогов кода GTM нет (и соответственно никаких счетчиков и метрик). Смотрел отсутствие в исходном коде страницы в браузере. В теме с настройками рекомендуется для других приложений вставить: {if $wa->shop}{if class_exists('shopKmgtmPlugin')}{shopKmgtmPlugin::getGTMCode()}{/if}{/if}.
Вставил после <body> в шаблон index.html - код в блогах появился. Но ведь шаблон index общий для всех приложений? Это разве не дублирует код? Т.е. это вроде как универсальный вариант вставки вручную? Но в настройках указано, что вручную надо вставлять двумя конструкциями: getGTMHeadCode и getGTMBodyCode, соответственно, в двух местах (хотя они получаются рядом). Попробовал включить галочку "установка вручную" и прописать эти две конструкции - в исходном коде страниц появился только код Google Analytics, без яндекс, фейсбук, контейнера с е-коммерц данными и т.п.
Как в итоге надо правильно сделать, чтобы весь код работал во всех приложениях?
1 ответ
Нет, код
не будет вызывать дублей.
Вы можете это проверить добавив его и посмотреть исходный код страницы магазина.
Спасибо.
В итоге: настройка "Добавить код контейнера GTM вручную" выключена (плагин работает через хуки) + добавлен вышеуказанный код (сразу после <body...>). Вроде всё работает.
Смущает только одно. В <head>, т.е. раньше загрузки этого кода, у меня грузятся всякие скрипты темы, которые по словам программиста темы, нельзя переносить в конец (сайт https://grillhousestore.ru). Получается, что все счётчики, прописанные в GTM, загружаются после этих скриптов? По данным замеров (Google PageSpeed), это происходит через несколько секунд (!) после начала загрузки (если я правильно понимаю эти замеры). И те посетители, которые что-то сделали или ушли за это время, никак не учитываются? И с этим ничего поделать нельзя?