Почему Google Tag Manager не отображается в коде страницы?

Ссылка скопирована
1 ответ

Здравствуйте, на сайте вордпресс устанавливаю Google Tag Manager, 1 часть кода в head, 2 в body, но при просмотре исходного кода страницы Google Tag Manager нет вообще.
Возможно кто-то сталкивался, почему так происходит?

Дополнительно:

Отсюда не видно где как что ты устанавливаешь.

Ответы:

потому что JS работает за счет браузера, а гугл тег менеджер это JS
чтобы его найти надо посмотреть код любого элемента на сайте, потом нажать contrl+f и написать туда google, ну или часть кода которую он должен рисовать, не помню что там тег рисует...
А в исходном коде не работает JS , там он и не нарисуется никак

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Стас DB Ответ

Google Tag Manager должен быть виден в исходном HTML как минимум первой частью кода в head. Если Вы открываете “Просмотр кода страницы” и вообще не видите googletagmanager.com/gtm.js или ID контейнера вида GTM-XXXX, значит код не вставился в шаблон или его убрал кэш/оптимизатор.

Проверяйте по шагам:

  • код вставлен в активную тему, а не в старую/дочернюю неактивную;
  • в теме есть wp_head() перед </head> и wp_body_open() после <body>;
  • очищен кэш WordPress, CDN и плагина оптимизации;
  • плагин оптимизации не отложил/не удалил GTM;
  • ID контейнера опубликован в интерфейсе GTM.

В WordPress лучше вставлять код через хук:

add_action('wp_head', function () {
    ?&gt;
    &lt;script&gt;(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&amp;l='+l:'';j.async=true;j.src=
    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-XXXXXXX');&lt;/script&gt;
    &lt;?php
});

add_action('wp_head', function () { ?&gt; &lt;script&gt;(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&amp;l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-XXXXXXX');&lt;/script&gt; &lt;?php });

Вторую noscript-часть вставляйте через wp_body_open. После этого проверяйте не только исходный код, но и вкладку Network/Tag Assistant. Если в Network есть запрос к GTM, контейнер загружается.

Если тема старая и в ней нет wp_body_open(), noscript-блок может просто не выводиться. Тогда добавьте этот хук в header.php сразу после открывающего <body>. Это нормальная современная практика для WordPress-тем.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно