Хотя Google называет скорость страницы важнейшим показателем производительности при определении пользовательского опыта и ее влияния на фактор ранжирования, это весьма иронично, поскольку их характеристики смехотворно медленны.
Содержание
Типичный скрипт Диспетчера тегов Google.
Обычно для реализации Диспетчера тегов Google требуется загрузить два скрипта: один в начале и один в конце тела. Пример:
Высоко в теге :
<!-- Google Tag Manager -->
<script>(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'?'&l="+l:"';j.async=true;j.src="
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->
После тега :
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
Однако некоторым компаниям приходится загружать более одного контейнера GTM и совершать ошибку, просто добавляя дополнительные теги скриптов. Этот метод работает, но требует дополнительных HTTP-запросов, что влияет на общую производительность сайта. Правильный метод — загрузить один скрипт и затем передать ему несколько идентификаторов контейнера.
Скрипт многоконтейнерного диспетчера тегов Google
При отправке нескольких идентификаторов контейнеров вам придется отказаться от стандартного кода копирования и вставки, предоставляемого Диспетчером тегов Google. В этом примере кода я загружаю два разных идентификатора контейнера из Диспетчера тегов Google:
Высоко в теге :
<!-- Google Tag Manager -->
<script>
dataLayer = {
'gtm.start': {
'GTM-XXXXXXX': true,
'GTM-YYYYYYY': true
}
};
</script>
<!-- Google Tag Manager script -->
<script src="
<script>
gtag('js', {
'gtm.start': dataLayer['gtm.start']
});
</script>
<!-- End Google Tag Manager -->
После тега :
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
Если у вас более двух идентификаторов контейнера, добавьте этот идентификатор контейнера в массив dataLayer в теге head и добавьте его в путь iframe в теле, разделенный запятой.
Обратите внимание, что это не сэкономит много времени. Когда скрипт запускается, ему все равно необходимо активировать каждый тег в вашей учетной записи Диспетчера тегов Google. Однако это экономит время между выполнением каждого сценария и выполнением каждого запроса из исходного сценария.