2017-05-22 4 views
0

私はさまざまな国で運営されている国際的なeコマースプロジェクトに取り組んでいます。各国は互いに独立しています。シングルページアプリケーションをリロードせずにFacebook PixelIDを変更するにはどうすればよいですか?

私は、国ごとに異なるトラッキングピクセルを持つシングルページアプリケーション(SPA/Angular)を持っています。 AT(オーストリア)、DE(ドイツ)、BE(ベルギー)、DK(デンマーク) www.example.co.uk。各国は独自のデータをトラッキングする必要があります。 BEデータをBEに送信することはできません! (addPixelIdは解決策ではありません)

ユーザーはコンボボックスを使用して国を変更できます。選択した国のピクセルIDを変更する必要があります。 Googleピクセルでも可能ですが、faceboookピクセルについてのドキュメントは見当たらないのです。

私はGoogle Analytics TrackingIDについて同じ質問をし、解決策を見つけました。しかし、私は現在、Facebook PixelIDのソリューションをまだ見つけることができませんでした。

シングルページアプリケーションをリロードせずにFacebookのピクセルIDを変更するにはどうすればよいですか?アプリケーションのモックアップの

スクリーンショット: enter image description here

+0

こんにちは。 GoogleタグマネージャやAdobeタグマネージャなどのプロジェクトでタグマネージャツールを使用していますか?基本的には、タグマネージャを使用している場合は、国とピクセルIDのリストを作成し、国のドメインサイトに基づいてロードピクセルを制御できます。 –

答えて

0

は、技術的にこれを行うには、正式にサポートされている方法はありません。

あなたwindowfbq_fbqと呼ばれるメソッドを定義することであるFBピクセルの作品は、nullし、新しいピクセルIDと再呼び出しピクセルコードとしてこれらを再定義する方法を見て可能性があります。

これはおそらく動作しますが、副作用があるかどうかはわかりません。

!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','https://connect.facebook.net/en_US/fbevents.js'); 
fbq('init', 'PIXEL_ID_1'); // Insert your pixel ID here. 
fbq('track', 'PageView'); 

今、あなたはピクセルIDを変更する必要があります:あなたが最初にこのようなものを使用してピクセルを初期化していると仮定すると、

。ピクセルIDは、上記のピクセルコードによって定義されたfbqメソッド内の関数スコープ変数に格納されます。

この方法を再定義する必要があります。ピクセルIDを削除してください。

window.fbq = window._fbq = null; 

あなたは、新しいIDで、画素全体のコードを再呼び出すことができます。

!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','https://connect.facebook.net/en_US/fbevents.js'); 
fbq('init', 'PIXEL_ID_2'); // Insert your 2nd pixel ID here. 
fbq('track', 'PageView'); 

をあなたはChromeのFacebookのピクセルヘルパーはこれをデバッグするために、私たち必要があります。

+0

実行後にブラウザメモリから実装を削除することはできません! –

+0

どういう意味ですか?必要に応じてメソッドを再定義することができ、ピクセルのIDは関数スコープのときにこれらのメソッドに格納されます。 –

+0

どのようにfb( 'init'、.....)を2回呼び出すことができますか? –

関連する問題