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