从技术上讲,没有官方支持的方式来做到这一点。
你可以看看FB像素是怎么工作的,就是在window上定义名为fbq和_fbq的方法,把这些重新定义为null然后重新调用具有新像素 ID 的像素代码。
这可能会起作用,但我不确定是否会有任何副作用。
假设您首先使用以下方法初始化了像素:
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'PIXEL_ID_1'); // Insert your pixel ID here.
fbq('track', 'PageView');
现在您需要更改像素 ID。像素 ID 存储在上述像素代码定义的 fbq 方法内的函数范围变量中。
因此您需要重新定义此方法以删除像素 ID。
window.fbq = window._fbq = null;
然后您可以使用新 ID 重新调用整个像素代码:
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'PIXEL_ID_2'); // Insert your 2nd pixel ID here.
fbq('track', 'PageView');
您应该使用 Facebook Pixel Helper for Chrome 来调试它。