Как добавить код Google Tag Manager через JavaScript

У меня есть мультитенантный сайт с общим заголовком, куда я в настоящее время вставляю код Google Analytics с помощью следующего простого JavaScript.

if (window.location.href.startsWith("https://docs.domain1.com"))
{
   loadGroupDocsCloudResources('UA-xxxxxxx-x');
}
function addGoogleTrackingCode(trackingCode)
{
  var s = document.createElement("script");
    s.type = "text/javascript";
    s.src = "https://www.googletagmanager.com/gtag/js?id = " + trackingCode;
    s.setAttribute('async','');
    $("head").append(s);

  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', trackingCode);
}

Это работает нормально, однако теперь мы определили контейнеры GTM для каждого сайта, и поэтому необходимо обновить код, чтобы вставить то же самое.

До сих пор я пытался добавить код, сохранив сценарии GTM в 2 переменных и введя их в head и body с помощью команды добавления JavaScript, которая не сработала.

Обратите внимание, что скрипты GTM состоят из двух частей, следующие должны войти в голову.

<!-- 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=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-xxxxxx');</script>
<!-- End Google Tag Manager -->

Следующее должно войти в тело.

<!-- Google Tag Manager (noscript) -->
<noscript><iframe src = "https://www.googletagmanager.com/ns.html?id=GTM-xxxxx"
height = "0" width = "0" style = "display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

Есть ли способ справиться с этим динамически? Значит, я хочу поставить 3 и более набора скриптов GTM для разных сайтов через JavaScript?

Не ответ, но я все же хочу отметить, что бессмысленно вводить тег noscript через Javascript, поэтому вы можете отказаться от второй части.

Eike Pierstorff 22.06.2018 12:00

@EikePierstorff, мне все еще нужно динамически добавлять noscript в многосайтовую настройку, построенную на JSP. Есть ли у вас предложения, как его добавить, если не использовать JavaScript.

Prorata 23.06.2018 16:55

Вы можете включить скрипт Диспетчера тегов Google так же, как и для gtag. 1. loadscript: googletagmanager.com/gtm.js?id=CONTAINERID&l=dataLayer 2. после загрузки скрипта инициализировать вызовом gtag ('gtm.start', new Date ());

chris 17.12.2020 14:36
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
3
1 756
0

Другие вопросы по теме