gpt4 book ai didi

google-analytics - Google Analytics Gtag 多个分析帐户跟踪 ID

转载 作者:行者123 更新时间:2023-12-03 15:24:39 26 4
gpt4 key购买 nike

据我所知,谷歌现在似乎正在逐步淘汰 analytics.js 以支持他们的标签管理器。

如何为多个分析帐户触发谷歌分析新的 gtag 跟踪代码?

像这样的东西:

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-108285779-2"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

gtag('config', 'UA-108285779-2');
gtag('config', 'ANOTHER CODE');
gtag('config', 'ANOTHER CODE');
</script>

最佳答案

简而言之:

Yes, you can add the same type of product multiple times by calling gtag('config', ...) for each respective Google account + property ID you have.


详情:
现在是 2021 年,我有同样的问题,但我太偏执了,无法相信这个帖子的最高投票答案,因为它在测试其工作原理时描述了与我自己不同的体验。不过,首先,为了在 2021 年回答 OP 的问题,我们必须查看 两个 Google 官方文档中的条目,因为这两个条目都没有完全回答问题,但是当它们汇集在一起​​时,它们可以让我们对如何解决这个问题更有信心:
  • 我可以使用 添加一种以上的产品吗? gtag('config', ...) ? ( 答案 :是。) ( Docs )
  • 我可以使用 添加多个相同类型的产品吗? gtag('config', ...) ? ( 答案 :是。) ( Docs )

  • 这是我如何使用 JavaScript 完成 OP 场景的示例片段。如果您在浏览器的控制台中尝试此操作,您应该会看到为您在以下代码段的 googleIds 中设置的每个 ID 添加了一个唯一的脚本。大批。
    备注:
  • 请注意,该代码段的 googleIds数组包含五个 ID。
  • 请注意,在浏览器控制台中运行代码段后,五个 <script>标签设置为页面,但代码片段本身仅显式构建并将其中一个标签设置为 .
  • 其余标签在它们各自的 ID 被推送到数据层之后,以及在第一个脚本初始化之后(即元素被构造 + 设置为 )被添加。这两个步骤的顺序无关紧要(即您可以先初始化然后将您的 ID 推送到数据层,或者将您的 ID 推送到数据层然后再初始化)。

  • // An array of IDs I want to load on the same page(s) at the same time
    var googleIds = ["AW-00000000", "AW-00000001", "AW-00000002", "DC-00000000", "UA-00000000-1"];

    // Setting dataLayer & gtag to window because I'm using a custom code text field in a tag management system
    window.dataLayer = window.dataLayer || [];
    window.gtag =
    window.gtag ||
    function() {
    window.dataLayer.push(arguments);
    };
    window.gtag("js", new Date());

    // Flag used to ensure script only set with first ID, and rest of IDs are pushed to dataLayer
    var gtagScriptExists = false;

    // ID validation regex. Only tested with AW-*, but DC & UA are also valid prefixes
    var validIdStructure = new RegExp(/(AW|DC|UA)-[0-9]{8,}(-[0-9]{1,})?/);

    // Push IDs into dataLayer and set initial gtag/js?id= script to page using first ID in googleIds array
    for (var i = 0; i < googleIds.length; i++) {
    var gtagId = googleIds[i];

    // Validate that the ID being passed isn't a big weirdo
    var idIsValid =
    typeof gtagId === "string" && gtagId.match(validIdStructure);

    if (idIsValid) {
    window.gtag("config", gtagId);

    // NOTE: gtag script only needs to be set to page once, but each gtag('config', <ID>) that's pushed to the dataLayer will add subsequent gtag/js?id=<ID> scripts to the page
    if (!gtagScriptExists) {
    // Set initial gtag/js?id=<first ID> script to <head>
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.async = true;
    script.src = "//www.googletagmanager.com/gtag/js?id=" + gtagId;
    document.getElementsByTagName("head")[0].appendChild(script);

    // Update gtag/js?id= script status flag so this initialization script is only set for the first ID, and not all the IDs in the array
    gtagScriptExists = true;
    }
    }
    }

    关于google-analytics - Google Analytics Gtag 多个分析帐户跟踪 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46789189/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com