结合使用用户ID和Google跟踪代码管理器/分析

时间:2018-11-15 11:18:15

标签: google-analytics google-tag-manager

希望有人可以提供帮助,我正在使用GTM将userId变量推送到Google Analytics(分析),我可以在chrome控制台/ dataLayer中看到数据,但在Analytics(分析)的userID视图中什么都没有显示。我在顶部的网站上使用此代码:

<script>
   dataLayer = []
   dataLayer.push({ 'userId': <%= currentUser.number %> });
</script>
<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-XXXXXXXX');
</script>

在身体顶部:

<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXX"
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

在GTM上,我有一个设置为userId(数据层version2)的数据层变量,在标记配置(要设置的字段)中,我有字段名userId和值{{userId}}。

在分析方面,我已经设置了UserId视图和userId的自定义维度名称(范围为User,索引为1)。

我错过了什么吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

我上面使用的代码/设置确实可以在分析的userID视图中显示userId-正如Easy女士所说,您必须等待24小时才能对其进行更新。

答案 1 :(得分:0)

这可能不起作用,因为您已在GTM容器上方声明了dataLayer.push方法。 您只能在GTM容器上方声明dataLayer=[]方法。 要将用户ID发送到GA,请使用以下代码:

<script>
   dataLayer = [{ 'userId': <%= currentUser.number %> }];
</script>
<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-XXXXXXXX');
</script>

在身体顶部:

<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXX"
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

现在,在GTM中设置dataLayer变量和标记以捕获该值并将其发送到GA。

希望这会有所帮助!