也许这是不可能的,但情况就是这样
我试图在页面视图中跟踪谷歌分析中的共享点页面上的用户ID。因为我必须使用sharepoint的 SP.js 脚本来让当前登录的用户检索他们的ID,所以我使用SP.SOD。 executeOrDelayUntilScriptLoaded 来运行我的部分获取用户ID然后将其推送到dataLayer的javascript
不幸的是,由于必须等待加载SP.js脚本,因此在GTM容器加载后,userid值被推送到数据层,因此显示为 undefined 跟踪代码管理器上的 PageView 标记
我已经考虑过在获得用户ID之后将GTM容器放入我的脚本中,但我不确定这对容器的非javascript部分意味着什么:
<noscript>
<iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXXX" height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
我的工作是在我拥有用户ID并向Google跟踪代码管理器发送事件时触发事件,但这意味着userId显示为事件而不是页面视图的一部分。
在标记管理器容器加载后,是否可以在Google Analytics Page View事件中设置字段?
答案 0 :(得分:1)
这里的答案是否定的。记录页面视图后,一旦发生跟踪,您就无法为同一页面视图设置字段。你正在做的事情正是你应该做的。您拥有的唯一其他选项是延迟记录页面视图,直到您的脚本完成,但这意味着延迟加载标签,因此记录错过的页面视图的百分比,或者您可以简单地让第一页面视图在没有用户的情况下进行记录id,然后设置一个cookie,以便记录在所有后续页面视图中。另外一个选项是,您可以在会话开始后的一年内将用户ID设置为浏览器上的cookie。然后,无论何时该人回来,您都可以方便地拥有用户ID。
答案 1 :(得分:-1)
您可以创建虚拟网页浏览并在用户ID可用时设置触发器,但这会增加您网站上的网页浏览量。
如何将脚本移动到GTM容器上方?这样SP.js脚本首先加载