0

您好,我最近在我们使用 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,我是否必须在事件中添加第二个作为后备?如果是的话在哪里?

4

0 回答 0