如何通过JavaScript添加Google跟踪代码管理器代码

时间:2018-06-22 09:57:41

标签: javascript google-tag-manager multi-tenant

我有一个具有通用标头的多租户网站,目前正在通过以下简单的JavaScript注入Google Analytics(分析)代码。

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个变量中来添加代码,并使用JavaScript的append命令将其注入head和body,但这没有用。

请注意,GTM脚本有2个部分,接下来必须要介绍。

<!-- 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) -->

有没有办法动态处理此问题?意思是,我想通过JavaScript为不同站点放置3套或更多套GTM脚本?

0 个答案:

没有答案