こんにちは 最近、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 秒を追加する必要がありますか? はいの場合、どこですか?