gpt4 book ai didi

javascript - 使用 rails 和 turbolinks 运行 facebook pixel

转载 作者:行者123 更新时间:2023-11-29 17:51:21 25 4
gpt4 key购买 nike

Facebook像素的初始化代码和PageView代码建议放在section里面: https://developers.facebook.com/docs/facebook-pixel/using-the-pixel#get

问题是网页的头部永远不会用 Rails turbolinks 重新加载。 Pixel 确实在 pushState/popState 上向 Facebook 发送了一个 pageView 事件,但使用了错误的 URL——页面初始加载时的 URL。我假设像素保存初始位置(当调用 fbq('init') 时)然后将其重新用于 PageView 事件。

我试图将整个代码段放入主体中,但结果是“Facebook Pixel Error: Duplicate Pixel ID: XXXXXXXXXX”java 脚本错误。

我尝试拆分代码并将 fbq('init', XXXXX) 事件放在头部,然后在 page:change 事件上调用 fbq('track', 'PageView');但问题在于,这又一次使用了初始 URL。

我还尝试将 window.fbq 变量设置为未定义并在 PageView 之前再次调用 init - 所有这些都在 page:change 回调中。但后来我收到“Facebook 像素警告:在此页面上检测到多个具有冲突版本的像素”,并且再次使用错误的 url 调用了 PageView。

有没有人让 Facebook 像素与 turbolinks 一起工作?

最佳答案

我正在使用以下加载到头部的 JS:

/* insert pixel load function here */

function trackPageView() {
fbq('init', 'PIXEL_ID')
fbq('track', 'PageView')
}

document.addEventListener('turbolinks:load', trackPageView, true)

当我使用 Facebook Pixel Helper 在本地测试它时,它会在我使用 turbolinks 导航到的每个页面上显示一个 PageView 事件,并且没有任何警告。

关于javascript - 使用 rails 和 turbolinks 运行 facebook pixel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43416608/

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