【问题标题】:Google Analytics Custom dimension is undefined in gtaggtag 中未定义 Google Analytics(分析)自定义维度
【发布时间】:2020-06-08 16:24:46
【问题描述】:

我设置了 4 个维度。我的代码如下,

 <script>//<![CDATA[
        window.dataLayer = window.dataLayer || [];
        function gtag() {
            dataLayer.push(arguments);
        }
        gtag('js', new Date());
        gtag('config', 'UA-XXXXX-1');

        gtag('set', {
            'user_id': _spPageInfo.userId,
            'JobTitle': jobTitle,
            'Department': department,
            'UserLocation': Location
        });
        gtag('send', 'pageview');

        //]]>
    </script>
    <script>//<![CDATA[
        // <!-- Google Tag Manager -->
        (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-XXXX');

        // <!-- End Google Tag Manager -->

        //]]>
    </script>

我也在标签管理器中设置了维度。
在调试模式下,我可以看到“已加载容器”而不是“页面加载”,

在数据层中我看不到任何事件名称或维度名称。

24 小时后也显示未定义。 请问,谁能指导我这里缺少什么?

【问题讨论】:

    标签: google-analytics analytics google-tag-manager google-analytics-userid custom-dimensions


    【解决方案1】:

    您需要使用 config 命令传递 custom_map 参数,以便将命名维度值映射到自定义维度。请参阅示例here。此外,您需要在config 之前调用set,因为config 实际上将浏览量命中传递给谷歌分析,因此在配置后调用set 不会影响您的数据 最终,您的代码将如下所示:

    gtag('js', new Date());
    gtag('set', {'custom_map': {
      'dimension1': 'department',
      'dimension2': 'jobTitile',
      // the same for other custom dimensions
    }})
    gtag('config', 'UA-XXXXX-1', { 'jobTitile': 'engineer', 'department':'maintenance' });
    

    此外,请避免同时使用 GTM 和 gtag 代码,否则您会将重复的数据发送到分析。

    【讨论】:

    • 谢谢,现在我看到 Container Loaded: 1 {event: 'gtm.js', gtm.start: 1591683140892, gtm.uniqueEventId: 4} 并在文档加载或 Dom 加载窗口加载:{event: 'gtm.load', gtm.uniqueEventId: 215} 此消息后的数据层值:@987654331 @ 变量值仍未定义。
    • 您在 GTM 中看到的内容将是未定义的,因为 GTM 使用另一种机制来分析自定义维度。如果您要使用 GTM,请参阅各自的 GTM 文档support.google.com/tagmanager/answer/6164990?hl=en
    • 这是否意味着我需要从 GTM 中删除手动输入的自定义维度并且我必须只保留在 JS 代码中?因为我现在在职称两行下看到我的身份证号码,一排带有“JobTitle”,另一排带有“开发人员”。 “JobTitle”是我的维度名称。
    • 如果您要使用 gtag 分析实现,请保留代码中的所有 gtag 调用。如果您要使用 GTM 并希望在预览选项卡中查看数据,请删除所有代码。按照 GTM 说明正确配置分析代码。
    • 再一次 -- GTM 和 GTM 预览模式与您的 gtag 代码无关。即使您的gtag 代码工作正常,您也不会从 GTM 预览选项卡中看到任何确认。 GTM 和gtag 是两个截然不同的不兼容工具。
    猜你喜欢
    • 1970-01-01
    • 2019-07-20
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多