0

我的目标是在谷歌分析报告中包含用户电子邮件地址,以便我可以为客户构建自定义报告。为此,我在管理员 -> 自定义定义 -> 自定义维度下添加了一个自定义维度“cdUserEmailAddress”,我将其范围设置为会话。

我在我的页面中设置了以下代码以添加测试值,但它不会在我可以在谷歌分析仪表板上找到的任何地方添加值。

<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
dataLayer.push({
    'cdUserEmailAddress': 'test@test.com',
    'event': 'sessionUserLoggedIn'
});
gtag('config', 'UA-xxxx-x');
ga('create', 'UA-xxxx-x', 'auto');
ga('set', 'cdUserEmailAddress', 'test@test.com');
ga('send', 'pageview');
console.log('working 2');
</script>

这没有用。然后我去了 Google TagManager(因为我读过的一篇文章建议我也需要设置它)并在那里添加了一个用户数据元素。粘贴了如下所示的自动生成的代码,但这也无济于事。

<!-- 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-xxx');</script>
<!-- End Google Tag Manager -->

我错过了什么?我到处寻找这个 test@test.com 值...通过创建自定义报告,在 Behavior -> Site content -> AllPages ...下找不到它。

请帮忙谢谢

4

1 回答 1

1

首先,您应该知道,向 Google Analytics发送电子邮件(或任何其他个人身份信息)违反了服务条款

不过,如果您决定使用任何其他自定义数据,则应在代码中更改以下内容。自定义维度和指标不是通过名称引用,而是通过 ID 引用,可以在 Google Analytics 的管理面板中查找。有关详细信息,请查看此详细指南

所以这部分:

ga('set', 'cdUserEmailAddress', 'test@test.com');

变成:

ga('set', 'dimension1', 'your non-pii data');  //update the number according to your settings

另外,请注意,通常不建议直接从 ga() 调用和 GTM 将数据发送到同一 Google Analytics(分析)媒体资源,因为您需要并行维护跟踪设置,并且您可以轻松发送两次综合浏览量,而这通常不会想要的。

如果您决定使用 GTM,那么您需要设置一个 dataLayer 变量,该变量引用您在 dataLayer 中使用的键(cdUserEmailAddress在您目前的情况下),并且您需要在 Universal Analytics 设置中使用此变量,您可以在其中设置向上自定义维度值,也通过引用它们的 ID。

于 2019-03-29T07:42:36.510 回答