0

こんにちは 最近、PrestaShop で構築したサイトの 1 つに Facebook ピクセルを追加しました。すべてのページでのページ ビュー イベントと、さまざまなページでの個別のイベント (購入、カートへの追加など) を使用して、デフォルトのピクセル コードを追加しました。イベントコードはjavascriptです。ページ ビュー イベントのみを img タグとして追加しました。他のトラックは JavaScript でのみ呼び出されます。問題は、PrestaShops のバック オフィスから取得したものと比較して、Facebook で無関係な統計を取得することです。コードは良さそうです (Chrome 用の Facebook ピクセル拡張機能を使って大量に書き込んでいます)。フォールバックをカバーするために、すべてのイベントに 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 を起動したときにイベントを起動するためのものです。フォールバックのイベントで 1 秒を追加する必要がありますか? はいの場合、どこですか?

4

0 に答える 0