Metaピクセルの連携

Metaピクセルは、Metaが提供するWeb専用分析ツールです。Facebook SDKのv4.34では、アプリ内のweb viewでピクセルイベントを計測できます。MetaピクセルイベントをMeta Appイベントに変換することもできます。これを行うには、Hybrid Mobile App Eventsを使用します。

また、Facebook SDKを実装しなくても、Adjust SDKでMetaピクセルを使用できるようになりました。

事前準備

ご利用の条件

まずお使いのプラットフォーム用のAdjust SDKをダウンロードして設定してください。以下のリンク先の説明に従って、設定を開始してください。

⚙️ iOS / Android

サンプルアプリ

Metaとの連携

MetaアプリID

Metaピクセルの使用を開始するには、以下の手順に従ってください。

iOS Web View
Android Web View

MetaのiOS SDKガイドに記載されているように、以下を実行してアプリにMeta App IDを追加する必要があります。

  1. Xcodeで、プロジェクトのInfo.plistファイルを右クリックし、 Open As​ -> Source Code​ を選択します。
  2. 以下のXMLスニペットをファイルbodyの最後の</dict>要素の直前に挿入します。
<dict>
  ...
  <key>FacebookAppID</key>
  <string>{your-app-id}</string>
  ...
</dict>

{your-app-id}を対象アプリのアプリIDに置き換えます。 これはMeta App Dashboardで確認できます。

Metaピクセルの設定

Metaピクセルの実装方法については、Metaのガイドを参照してください。 Javascriptコードは以下のように記述してください。

<!-- id="sl-md7b66787"                   ><script>
  !function(f,b,e,v,n,t,s)
    ...
  fbq('init', <YOUR_PIXEL_ID>);
  fbq('track', 'PageView');
</script>
...
<!-- id="sl-md049b770"                       >

次に、Metaピクセルコードを更新します。 Hybrid Mobile App EventsガイドUpdate Your Pixel​ に手順が記載されています。

fbq('init', <your_pixel_id>);
fbq('set', 'mobileBridge', <your_pixel_id>, <your_fb_app_id>);
重要:
initを呼び出し、その直後にsetを呼び出してください。Metaが提供するスニペットにはtrackメソッドが含まれています。 initメソッドを呼び出した直後に、このメソッドを使用してページビューイベントを計測することができます。 ビューイベントを計測するには、 inittrackの間でsetを呼び出す必要があります。

Adjust SDKの実装

web viewの拡張

iOS
Android

iOS web viewアプリの連携ガイドに従ってください。 Web View bridgeをロードする際に、 augmentHybridWebViewメソッドへの呼び出しを追加します。

- (void)viewWillAppear:(BOOL)animated {
    ...
    UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
    // or with WKWebView:
    // WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.bounds];

    // add @property (nonatomic, strong) AdjustBridge *adjustBridge; on your interface
    self.adjustBridge = [[AdjustBridge alloc] init];
    [self.adjustBridge loadUIWebViewBridge:webView];
    // optionally you can add a web view delegate so that you can also capture its events
    // [self.adjustBridge loadUIWebViewBridge:webView webViewDelegate:(UIWebViewDelegate*)self];

    // or with WKWebView:
    // [self.adjustBridge loadWKWebViewBridge:webView];
    // optionally you can add a web view delegate so that you can also capture its events
    // [self.adjustBridge loadWKWebViewBridge:webView wkWebViewDelegate:(id<wknavigationdelegate>)self];
    [self.adjustBridge augmentHybridWebView];
    ...

イベント名の登録

Adjust Web bridge SDKは、MetaピクセルイベントをAdjustイベントに変換します。

この機能を使用するには、Metaピクセルを特定のAdjustイベントにマッピングする必要があります。 デフォルトのAdjustイベントトークンを設定することもできます。 デフォルトトークンを使用するには、Adjust SDKを開始してピクセルイベントを計測する前にトークンを追加する必要があります。 これには、Metaピクセル設定からコピーペーストされたfbq('track', 'PageView');イベントが含まれます。

イベントをマッピングするには、configインスタンスでaddFbPixelMappingメソッドを呼び出します。 Metaイベント名とAdjustイベントトークンをパラメーターとして使用してください。 Adjust SDKを初期化する前にこれを呼び出す必要があります。

adjustConfig.addFbPixelMapping('fb_mobile_search',adjustEventTokenForSearch);
adjustConfig.addFbPixelMapping('fb_mobile_purchase',adjustEventTokenForPurchase);
注意:
上記の例は、 fbq('track', 'Search')fbq('track', 'Purchase')を計測する場合に一致します。 Adjustは、Facebook SDKとJavascriptイベント間の完全なマップにアクセスすることはできません。

既知のピクセルイベント

Adjust SDKでは、特定のイベントについてデフォルトのイベントトークンが見つからない場合は、警告をログに記録します。

There is not a default event token configured or a mapping found for event named: 'fb_mobile_search'. It won't be tracked as an adjust event

マッピングを設定していない場合は、デフォルトのAdjustイベントを設定することも可能です。これを行うには、Adjust SDKを初期化する前にadjustConfig.setFbPixelDefaultEventToken(defaultEventToken);を呼び出します。