2017-10-27 81 views
3

Facebook Pixelの配信にGoogleタグマネージャを使用しています。Facebook Pixel + Googleタグマネージャー+ fbqイベント

はその後、私はこの

<body> 
... 
     <script> 
      fbq('track', 'ViewContent', { 
       content_type: 'product', 
       content_ids: ['1234'], 
       content_name: 'ABC Leather Sandal', 
       content_category: 'Shoes', 
       value: 0.50, 
       currency: 'USD' 
      }); 
     </script> 
    </body> 

のようなコードを使用してイベントを発生しかし、コードが実行されるとFacebookのピクセルが非同期的にロードされているので、私はエラーを持って、FBQはまだ利用できません。

Uncaught ReferenceError: fbq is not defined

どうすればよいですか?

答えて

3

タグシーケンシング機能を使用します。これにより、事前に定義された順序でタグを起動できます。タグは、タグが実行される前のタグを待機します。

FB初期コードをロードするタグを作成します。タグ発射オプションで「1ページに1回」を選択します(複数のタグで使用していても、1度だけ読み込む必要があります)。

Facebookのイベントタグに移動します。高度な設定では、タグシーケンスオプションを探します。設定します。

enter image description here

(FacebookのinitがFBライブラリをロードし、あなたのタグであり、私はあなたが彼らの標準のブートストラップコードを使用することをasummingています)。最後のチェックボックスを有効にすると、セットアップタグが失敗しても起動しません。

FBブートストラップコードはコマンドキューを持つfbqオブジェクトを設定するので、データをfbqにプッシュできるようになりました。ライブラリがまだダウンロードされていても、データがコマンドキューに入り、ライブラリがダウンロードされたときに呼び出しが実行されます。

タグシーケンスは、イベントの前にfbqオブジェクトが設定されていることを確認します。これがあなたの唯一のFBイベントであれば、問題を解決してイベントコードの上にローダーを貼り付けることができます。

+0

詳細な回答ありがとうございます。私はあなたの答えを見つけました。私のタグを正しく順番付けしていても、「fbqは定義されていません」というエラーが出ます。私はFacebookベースのピクセルに設定された設定タグを持っていますが、INIT部分のみです。私はSetupViewタグとしてBase Pixelを使っているPageViewイベントを別々に起動します。私はFacebookがPageViewイベントを他のイベントの前に発したかったのか、またはPageViewに関係なくすべてのイベントのために十分なピクセルのINIT部分ですか? –

関連する問題