モバイルアプリ用のAdvantage+カタログ広告

Facebook SDKを使用して、モバイルでAdvantage+カタログ広告をセットアップできます。ディープリンクとディファードディープリンクをアプリに統合し、アプリの利用者に可能な限り最高のサービスを提供します。

ステップ1: iOS/Android用FacebookモバイルSDKのセットアップ

iOS用またはAndroid用のFacebook SDKを統合します。

ステップ2: モバイルアプリイベントのセットアップ

ウェブでは、ViewContentなどのMetaピクセルイベントを使用してイベントのインタラクションをトラッキングします。モバイルでは、アプリイベントを使用して同じイベントをトラッキングできます。

ピクセルから送信したものと同じ3つの必須イベントViewContentAddToCartPurchaseを、アプリから送信する必要があります。Advantage+カタログ広告では、これらのイベントが正しく動作する必要があります。

iOSイベントAndroidイベント対応するウェブイベント

FBSDKAppEventNameViewedContent

AppEventsConstants:: EVENT_NAME_VIEWED_CONTENT

ViewContent

FBSDKAppEventNameAddedToCart

AppEventsConstants:: EVENT_NAME_ADDED_TO_CART

AddToCart

[[FBSDKAppEvents shared] logPurchase:(double) currency:(NSString *) parameters:(NSDictionary *)];

AppEventsConstants:: EVENT_NAME_PURCHASED

Purchase

次の例では、利用者がアプリで商品を表示したときにViewContentイベントが発生します。

[[FBSDKAppEvents shared] logEvent:FBSDKAppEventNameViewedContent
  valueToSum:54.23
  parameters:@{
    FBSDKAppEventParameterNameCurrency    : @"USD",
    FBSDKAppEventParameterNameContentType : @"product",
    FBSDKAppEventParameterNameContentID   : @"123456789"
  }
];
Bundle parameters = new Bundle();
parameters.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD");
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "1234");

logger.logEvent(AppEventsConstants.EVENT_NAME_VIEWED_CONTENT,
                120.00,
                parameters);

複数の商品に対して1つのイベントを発生させる場合は、複数の商品IDの値を指定したJSON配列を使うこともできます。例えば、Purchaseイベントで複数の商品を送信できます。

[[FBSDKAppEvents shared] logPurchase:54.23 currency : @"USD" parameters:@{
  FBSDKAppEventParameterNameContentID   : @"['1234','5678']",
  FBSDKAppEventParameterNameContentType : @"product"
  }
];
Bundle parameters = new Bundle();
parameters.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD");
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "['1234', '5678']");

logger.logEvent(AppEventsConstants.EVENT_NAME_PURCHASED,
                180.00,
                parameters);

複数のコンテンツID

複数のコンテンツIDがある場合は、エスケープされたJSON配列を指定します。以下に例を示します。

"[\"1234\",\"5678\"]"

任意のパラメーター

各アプリイベントに関して、以下の追加パラメーターを送信できます。これらのパラメーターは、利用者が購入を行うときに送信する必要があります。

名前説明

_valueToSum

文字列

任意。
商品価格または購入額

fb_currency

文字列

任意。
商品価格または購入額の通貨

モバイル測定パートナー(MMP)の利用

イベントをFacebookに報告するために承認されたMobile Measurement Partner(MMP)を使用する場合、必須のイベントも送信するように実装を調整できます。その方法はMMPによって異なりますが、通常は次の手順を実施します。

  1. MMPに3つの必須イベントを必須パラメーターとともに報告するように統合を調整します。
  2. MMPで、イベント名をFacebookのイベント名にマッピングします。
  3. アプリイベントをテストします。

MMPの必須イベント

以下のイベントが必須です。

名前説明

fb_mobile_content_view

アカウントセンターアカウントが商品を表示した

fb_mobile_add_to_cart

アイテムがカートに追加された

fb_mobile_purchase

1つまたは複数のアイテムが購入された

Advantage+カタログ広告が機能するためには、次の2つの追加パラメーターも送信する必要があります。

  • 表示されたアイテム、カートに追加されたアイテム、または購入されたアイテムのID
  • IDがproductであるかproduct_groupであるか

追加できるパラメーターは以下のとおりです。

名前説明

fb_content_type

文字列

productまたはproduct_groupのどちらか

fb_content_id

文字列

必須。
JSONでエンコードされた、小売店の商品IDまたは商品グループIDの配列を含む文字列

_valueToSum

文字列

任意。
商品の購入額

fb_currency

文字列

任意。
商品価格または購入額の通貨

注: 利用者がアイテムを購入した場合は、_valueToSumおよびfb_currencyパラメーターも送信する必要があります。

アプリイベントのテスト

統合が正しく機能しているかどうかをテストする最も簡単な方法は、アプリ広告ヘルパーでFacebookに報告されたイベントやパラメーターをリアルタイムで確認することです。

  1. アプリを選択します。
  2. ページの下部に2つのツールが表示されます。[アプリイベントのテスト]を選択します。
  3. 自分が報告したイベントを確認する、または特定の広告IDによって報告されたイベントを確認するという2つのオプションがあります。ほとんどの場合は[自分]を選択すれば事足ります。デバイスにFacebookをインストールしてログインしていることを確認します。
  4. アプリ内でアクションを実行すると、イベントがそのパラメーターとともにツールに表示されます。

統合が成功していれば、次の3つのイベント名が表示されます。

  • FB_MOBILE_CONTENT_VIEW
  • FB_MOBILE_ADD_TO_CART
  • FB_MOBILE_PURCHASE

iOSAndroidのアプリイベントについて詳しくは、それぞれのリンク先をご覧ください。

アプリイベントが機能しているかどうかを確認するには、

Facebookイベントマネージャ

ステップ3: ディープリンクのセットアップ

商品フィードにディープリンクを指定すると、Facebook上で広告に反応した利用者はアプリの特定の場所に直接移動できます。例えば、利用者がモバイルでFacebook内の広告をクリックすると、モバイルアプリでその商品が表示されます。詳しくは、ディープリンクおよびディープリンクの検証をご覧ください。

ウェブへのフォールバックとApp Storeへのフォールバックの対比

ディープリンクを使用する場合、利用者がアプリをインストールしていない場合のフォールバック動作を指定できます。商品フィードにディープリンクを指定した場合、アプリをインストールしていない利用者には広告内の商品のウェブURLが表示されます。

ほとんどの場合、広告主の目標はカタログの売上を増やすことなので、アプリをインストールすることよりも商品ページを閲覧することが期待されるはずです。そのため、デフォルトではウェブURLが表示されますが、別の動作を指定してもっときめ細かく制御することもできます。Advantage+カタログ広告を作成し、次のいずれか1つのオプションを使用する場合には、フォールバック動作をapplink_treatmentに設定します。

名前説明

web_only

利用者は常に指定されたウェブURLに誘導されます。このオプションを選択すると、フィード内のすべてのディープリンクがオーバーライドされます。

deeplink_with_web_fallback

アプリがインストールされていて、対応するディープリンクが指定されている場合、利用者はアプリに誘導されます。これらの条件のいずれかが満たされない場合、利用者はウェブサイトURLに誘導されます。

deeplink_with_appstore_fallback

アプリがインストールされていて、対応するディープリンク情報が指定されている場合、利用者はアプリに誘導されます。アプリがインストールされていない場合、利用者はそのアプリのアプリストアに誘導されます。

ステップ4: 商品フィードのセットアップ

ここでは、Advantage+カタログ広告の実際のディープリンクを指定する必要があります。詳しくは、商品カタログ、ディープリンクをご覧ください。

ステップ5: トラッキングスペック

ウェブサイトとモバイルアプリの両方でコンバージョンイベントを測定するには、すべてのAdvantage+カタログ広告で次のイベントに正しいトラッキングスペックを必ず設定します。

イベントトラッキングスペック

offsite_conversion

{ 'action.type': 'offsite_conversion', 'fb_pixel': FB_PIXEL_ID }

app_custom_event

{'action.type':'app_custom_event','application':APP_ID}

mobile_app_install

{'action.type':'mobile_app_install','application':APP_ID}

正しく設定されていれば、利用者がウェブサイトまたはアプリのいずれを表示したかに関係なく、FacebookはAdvantage+カタログ広告から発生するすべてのイベントをトラッキングできます。これらのトラッキングスペックを設定するには、次のようにします。

use FacebookAds\Object\Ad;
use FacebookAds\Object\Fields\AdFields;

$ad = new Ad(<AD_ID>);

$ad->{'tracking_spec'} = array(
  array(
    'action.type' => array('app_custom_event'),
    'application' => array($app_id),
  ),
  array(
    'action.type' => array('offsite_conversion'),
    'offsite_pixel' => array(<PIXEL_ID>),
  ),
  array(
    'action.type' => array('mobile_app_install'),
    'application' => array($app_id),
  ),

);
$ad->update();
curl \
  -F 'tracking_spec=[ 
    {"action.type":["app_custom_event"],"application":["101"]}, 
    {"action.type":["offsite_conversion"],"offsite_pixel":["<PIXEL_ID>"]}, 
    {"action.type":["mobile_app_install"],"application":["101"]} 
  ]' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<AD_ID>