我用Google Tag Manager来处理Facebook像素。
该像素应该通过具有自定义参数:{ make、model }和自定义条件:{ make = ford、model = focus }的自定义事件触发。
我有两个基本实现(每个实现在自己的项目上)。
On项目1我正在使用JS香草代码并按照他们的建议集成GTM代码(更新头/体)。
然后,当我打电话:
dataLayer.push({
event: 'PageViewEvent',
make: 'ford',
model: 'focus',
});当条件与成功匹配时,触发器将被正确激活。
On Project 2我正在使用NPM包:react-gtm-module。
为了使用它,我首先用以下方法初始化它:
import TagManager from "react-gtm-module";
// ...
const tagManagerArgs = {
'gtmId': gtmId,
dataLayer: {
'js': new Date(),
'event': 'Initialize'
},
dataLayerName: 'MyCarDataLayer'
}
TagManager.initialize(tagManagerArgs);然后我尝试用以下方式激活触发器:
import TagManager from "react-gtm-module";
// ...
const tagManagerArgs = {
'gtmId': gtmId ,
dataLayer: {
'js': new Date(), // current date time,
event: 'PageViewEvent',
make: 'ford',
model: 'focus',
},
dataLayerName: 'MyCarDataLayer' // must match the name specified in the TagManager.initialize() call
}
TagManager.dataLayer(tagManagerArgs);但这一次扳机没有激活。
当我检查应该被激活的触发器的状态时,我得到以下信息:

在那里我可以看到,即使是事件名称也不匹配。它获得了当前路由的事件名,但我指定为event:PageViewEvent。
在这两个例子中,我都使用了相同的参数。然后,我认为我没有正确地使用NPM包:react-gtm-module。
你能帮帮我吗?
提前感谢!
发布于 2022-03-24 20:23:14
尝尝这个
import TagManager from "react-gtm-module";
// ...
TagManager.initialize({'gtmId': gtmId})
const tagManagerArgs = {
dataLayer: {
'js': new Date(), // current date time,
event: 'PageViewEvent',
make: 'ford',
model: 'focus',
}
}
TagManager.dataLayer(tagManagerArgs);这个答案来自github问题https://github.com/alinemorelli/react-gtm/issues/28
滚动到按钮,认为他们做了一些更新,所以答案从顶部不再起作用
https://stackoverflow.com/questions/66496608
复制相似问题