Javascript 网络应用程序中与新 Facebook 像素的高级匹配
Advanced Matching with New Facebook Pixel in Javascript Web App
我有一个单页 javascript 应用程序,我正在尝试使用新的 Facebook 像素实施 Advanced Matching 以便更好地归因于我们的广告。
我们目前 init 首次加载应用时的 FB 像素,然后根据用户在应用中的行为触发标准跟踪事件,例如在用户完成订单时购买。
下面是对正在发生的事情的简化视图...
// App loads
// URL: xxxx.com/[client]/
!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');
// Pixel Initialised
// we don't know any user details at this stage
fbq('init', '[PIXELID]');
fbq('track', 'PageView');
// User selects the event they want to purchase tickets from
// URL: xxxx.com/[client]/event/[productid]/
fbq('track', 'PageView');
fbq('track', 'ViewContent', {
content_name: 'Store',
content_ids: '[productid]',
content_type: 'product_group'
});
// User goes through rest of purchase process
// More Standard Events sent, e.g. Add To Cart
// User completes purchase
// URL: xxxx.com/[client]/order/completed/
// At this point we now know email address, name & phone, but pixel is already initialised. How do we do Advanced Matching?
fbq('track', 'PageView');
fbq('track', 'Purchase', {
content_type: 'Store',
value: 75.00,
currency: 'USD',
num_items: 4,
order_id: '20160710090000',
});
高级匹配建议在初始化像素时设置字段。然而,由于我们只在应用程序加载时初始化像素一次(当我们不知道任何用户详细信息时),我不确定如何实现高级匹配。再次初始化同一个像素会引发错误,而且似乎没有办法在跟踪事件中传递高级匹配字段,也没有办法重新初始化像素。
有没有人在单页 js 应用程序中使用高级匹配成功?
一旦您可以使用 PII,您就可以再次调用 fbq('init', '<pixel_id>', '<PII>')
,所有后续的 Pixel 触发都会接收到它。您提到的错误可能是由于暂时性错误造成的。
我有一个单页 javascript 应用程序,我正在尝试使用新的 Facebook 像素实施 Advanced Matching 以便更好地归因于我们的广告。
我们目前 init 首次加载应用时的 FB 像素,然后根据用户在应用中的行为触发标准跟踪事件,例如在用户完成订单时购买。
下面是对正在发生的事情的简化视图...
// App loads
// URL: xxxx.com/[client]/
!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');
// Pixel Initialised
// we don't know any user details at this stage
fbq('init', '[PIXELID]');
fbq('track', 'PageView');
// User selects the event they want to purchase tickets from
// URL: xxxx.com/[client]/event/[productid]/
fbq('track', 'PageView');
fbq('track', 'ViewContent', {
content_name: 'Store',
content_ids: '[productid]',
content_type: 'product_group'
});
// User goes through rest of purchase process
// More Standard Events sent, e.g. Add To Cart
// User completes purchase
// URL: xxxx.com/[client]/order/completed/
// At this point we now know email address, name & phone, but pixel is already initialised. How do we do Advanced Matching?
fbq('track', 'PageView');
fbq('track', 'Purchase', {
content_type: 'Store',
value: 75.00,
currency: 'USD',
num_items: 4,
order_id: '20160710090000',
});
高级匹配建议在初始化像素时设置字段。然而,由于我们只在应用程序加载时初始化像素一次(当我们不知道任何用户详细信息时),我不确定如何实现高级匹配。再次初始化同一个像素会引发错误,而且似乎没有办法在跟踪事件中传递高级匹配字段,也没有办法重新初始化像素。
有没有人在单页 js 应用程序中使用高级匹配成功?
一旦您可以使用 PII,您就可以再次调用 fbq('init', '<pixel_id>', '<PII>')
,所有后续的 Pixel 触发都会接收到它。您提到的错误可能是由于暂时性错误造成的。