在特定历史更改上激发GTM数据层变量



我在我的react项目中使用react gtm模块在我的项目中添加谷歌标签管理器。到目前为止,我正在根据以下代码的要求启动dataLayer变量

window.dataLayer = window.dataLayer || []
window.dataLayer.push({
Car_NewUser_Create: 'Yes'
})

但现在有一个特殊的情况,我需要发射同样的可变";Car_ NewUser_ Create;当我们从"/simulcao";路由到"/pacotes";路线

GTM中有一个用于历史触发器更改的配置,它可以检测历史路线中的每一个更改,但对于这个特定的路线更改,我需要传递这个变量,并且我找不到任何关于如何实现它的来源。

谢谢!

您可以在历史更改事件中使用两个未记录的变量,即gtm.oldUrlgtm.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设置历史更改触发器:

  1. gtm.oldUrl等于https://example.com/old-url
  2. gtm.newUrl等于https://example.com/new-url

下面是一个例子。

最新更新