我在我的react项目中使用react gtm模块在我的项目中添加谷歌标签管理器。到目前为止,我正在根据以下代码的要求启动dataLayer变量
window.dataLayer = window.dataLayer || []
window.dataLayer.push({
Car_NewUser_Create: 'Yes'
})
但现在有一个特殊的情况,我需要发射同样的可变";Car_ NewUser_ Create;当我们从"/simulcao";路由到"/pacotes";路线
GTM中有一个用于历史触发器更改的配置,它可以检测历史路线中的每一个更改,但对于这个特定的路线更改,我需要传递这个变量,并且我找不到任何关于如何实现它的来源。
谢谢!
您可以在历史更改事件中使用两个未记录的变量,即gtm.oldUrl
和gtm.newUrl
。
这是一个示例,说明当启用并触发历史更改事件时,GTM将向数据层推送什么:
dataLayer.push({
event: "gtm.historyChange",
gtm.historyChangeSource: "pushState",
gtm.oldUrlFragment: "",
gtm.newUrlFragment: "",
gtm.oldHistoryState: "",
gtm.newHistoryState: {key: "", state: ""},
gtm.oldUrl: "https://example.com/old-url",
gtm.newUrl: "https://example.com/new-url",
gtm.uniqueEventId: 0000
})
由于某些原因,变量文档中没有记录变量,并且不能作为要启用的内置变量使用。
只需配置两个新的dataLayer变量即可捕获它们。一旦解决了这个问题,您就可以在GTM中应用所需的任何逻辑中使用它们。
在您的情况下,为dataLayer.push({ Car_NewUser_Create: 'Yes' })
设置一个标签,并使用两个规则为Some History Changes
设置历史更改触发器:
gtm.oldUrl
等于https://example.com/old-url
gtm.newUrl
等于https://example.com/new-url
下面是一个例子。