您好,我最近在我们使用 PrestaShop 构建的网站中添加了一个 Facebook 像素。我已经在所有页面上添加了带有页面查看事件的默认像素代码,并在各个页面上添加了单独的事件(购买、添加到购物车等)。事件代码在 javascript 中。我只添加了页面查看事件作为 img 标记,其他轨道仅使用 javascript 调用。问题是我在 Facebook 中得到的静态数据与我从 PrestaShops 后台得到的静态数据相比是不相关的。代码看起来不错(我已经用 Facebook 的 chrome 像素扩展淹没了它)。我必须为每个事件都放置 img 标记和 javascript 代码才能覆盖回退?(没有 js)当我尝试时,调试器会发出错误。有人可以提供 2 个事件的示例代码吗?Facebook 文档有点误导,因为它们在新旧像素中都有引用。标题中的代码:
<!-- Facebook Pixel Code -->
{literal}
<script>
!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','//connect.facebook.net/en_US/fbevents.js');
{/literal}
fbq('init', 'pixel_code_here');
fbq('track', "PageView");
{$product_page_facebook_tracking['js_event']}
</script>
<noscript>
<img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=pixel_code_here&ev=PageView&noscript=1"
/>
</noscript>
<!-- End Facebook Pixel Code -->
从产品控制器:
$facebook_event = "fbq('track', 'ViewContent', {
content_name: '$product_name',
content_category: '$product_category_name',
content_type: 'product',
content_ids: ['$product_id'],
value: $product_price,
currency: 'EUR',
referrer: document.referrer,
userAgent: navigator.userAgent,
language: navigator.language,
});";
$this->context->smarty->assign(array(
'product_page_facebook_tracking' => array(
'js_event' => $facebook_event,
),
));
我得到的错误是像素没有加载。上面的代码是在产品页面中触发事件,我用 javascript 触发 fbq,我是否必须在事件中添加第二个作为后备?如果是的话在哪里?