gpt4 book ai didi

facebook - 测试是否加载了 facebook 像素 ID

转载 作者:行者123 更新时间:2023-11-30 05:27:56 24 4
gpt4 key购买 nike

如果调用 facebook 函数:

fbq('init', <pixel_id>)

对于同一个像素 ID 不止一次,它会产生错误:

Facebook 像素错误:像素 ID 重复

this 上的解决方案答案是先用

if(typeof fbq === 'undefined') {
fbq('init', <pixel_id>)
}

但是我在同一个页面上使用了多个 pixel_id。因此,如果第一个像素 ID 已加载,则不会加载第二个像素 ID。

有没有办法检查是否加载了特定的 pixelid,而不仅仅是加载了 fbq?像这样的东西:

if(typeof fbq === 'undefined') {
fbq('init', <pixel_id>);
}
else {
if (!fbq.pixel_id)
fbq('init', <pixel_id>);
}

最佳答案

你应该可以使用

fbq.getState().pixels[0] 

识别哪个像素已经加载。

然后您只需再次调用 init 函数,但使用新的像素 ID

fbq('init', <pixel_id>);

然后您应该能够看到您加载了 2 个像素

fbq.getState().pixels.length

综上所述,修改你的初始代码,我相信你想要的是:

if(typeof fbq === 'undefined') {
fbq('init', <pixel_id1>);
}
else {
if (fbq.getState().pixels[0] === <pixel_id2>)
fbq('init', <pixel_id2>);
}

等等 - 您可以循环像素数组中的整个像素集合,以避免重复发布它们中的任何一个。

您甚至可以使用此 API 检查任何像素触发了多少事件(尽管不是触发了哪些事件)

fbq.getState().pixels[0].eventCount

如果您想通过检查计数是否为零来确保只触发一次事件,这可能会有所帮助。

当您随后决定跟踪事件时,将为所有像素触发此事件。

要验证此发送,如下所示

fbq('track', 'PageView');

并检查两个像素的 eventCount 是否已递增。您应该能够看到两个像素的 http 请求也被触发(通过 Chrome 开发者工具上的网络选项卡)

关于facebook - 测试是否加载了 facebook 像素 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42992575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com