【发布时间】:2020-02-11 14:26:24
【问题描述】:
我想根据用户是否登录来跟踪网站上的用户行为。 我想在 JavaScript 中创建自己的变量,一种具有不同值的 userState,比如说,logged 和 guest,我想将它传递给 dataLayer。 怎么做?我可以做这样的事情吗
dataLayer.push({‘userType’: userState})
?
【问题讨论】:
标签: google-tag-manager data-layers
我想根据用户是否登录来跟踪网站上的用户行为。 我想在 JavaScript 中创建自己的变量,一种具有不同值的 userState,比如说,logged 和 guest,我想将它传递给 dataLayer。 怎么做?我可以做这样的事情吗
dataLayer.push({‘userType’: userState})
?
【问题讨论】:
标签: google-tag-manager data-layers
基本上这会起作用。但是,GTM 只会在注册 GTM 事件时更新其内部状态。当您dataLayer.push({‘userType’: userState}) 时,userType 的新值将不会自动可用。它后面需要一个事件,可以是通过 GTM 自动事件变量设置的事件(例如使用点击触发器时的 gtm.click),也可以是自定义事件:
dataLayer.push({
"userType": userState,
"event":"updateUserState"
});
(另请注意,您在示例中使用了反引号,这会产生错误 - 您必须使用直引号或双引号)。
自定义事件实际上是键“事件”,具有推送到数据层的自定义值。 GTM 会覆盖 dataLayer 数组的 push 方法以扫描新的推送事件关键字,然后更新 GTM 中的可用变量。
【讨论】: