新しい統合でアプリイベントAPIを使用することは、非推奨となりました。コンバージョンAPIが、ウェブイベント、アプリイベント、オフラインイベントをサポートするようになったので、広告主の皆さんには、アプリイベントAPIの代わりにコンバージョンAPIを使用することをおすすめします。既存のアプリイベントAPIユーザーは引き続き使用できますが、当APIの開発は停止されます。今後のイノベーションはコンバージョンAPIで開発されます。アプリイベントのコンバージョンAPIの詳細をご確認ください。
アプリイベントAPIを使用すると、アプリのインストールイベントや購入イベントなど、モバイルアプリやウェブページで発生したアクションをトラッキングできます。これらのイベントをトラッキングすることにより、広告パフォーマンスを測定し、広告のターゲット設定で使うオーディエンスを作成できます。
ビジネスメッセージのアプリイベントのトラッキングについては、MessengerプラットフォームのドキュメントのビジネスメッセージのアプリイベントAPIをご覧ください。
アプリイベントには、次の3つのタイプがあります。
アプリイベントは、次の3つの要素で構成されます。
name
- イベントを説明する必須の文字列です。アプリイベントがAnalyticsに送信されると、この名前がイベントログに表示されます。valueToSum
- Analyticsが同じ名前の他のアプリイベントのValueToSum値に追加する任意の値です。parameters
- アプリイベントに含める任意の値です。使用できるイベント名の数は最大で1,000です。注: この上限に達すると、新しいイベントタイプはログ記録されなくなります。また、この上限を超過すると、ログで100 Invalid parameter
のエラーが表示される場合があります。ただし、使わなくなったイベントを無効化することができます。イベントの上限について詳しくは、よくある質問をご覧ください。
以下の情報が必要です。
POST
リクエストをサーバーから/{app-id}/activities
エンドポイントにapplication_tracking_enabled
パラメーターとadvertiser_tracking_enabled
パラメーターを指定して送信します。
curl -i -X POST "https://graph.facebook.com/{app-id}/activities ?event=MOBILE_APP_INSTALL &application_tracking_enabled=0 &advertiser_tracking_enabled=0 &advertiser_id={advertiser-tracking-id} &{app-access-token}"
成功すると、アプリは次の応答を受け取ります。
{ "success": true }
利用できるパラメーターのリストについては、Facebookのアプリアクティビティリファレンスガイドをご覧ください。
advertiser_tracking_enabled
フィールドは、ユーザーのデバイス上で広告トラッキングが有効になっているかどうかを指定します。無効の場合は0、有効の場合は1を設定します。広告トラッキングを最適化またはコンバージョンに使用できるかどうかを判断できるようにするため、このデータを取得してFacebookに送信してください。Metaはデータに関するポリシーに準拠している(パートナーからMeta以外でのユーザーアクティビティに関する)イベントデータを使用します。これには、広告レポート、不正行為の検出、製品(Metaの広告配信製品を含む)の改善という目的が含まれます。しかし、ユーザーの広告をパーソナライズするために個人に関するデータを使用することは制限しています。iOS 6より前のバージョンが実行されているデバイスでは、このパラメーターをデフォルトの1にする必要があります。
ユーザーのトラッキングのステータスを調べるには、AppleのAdSuppportのリファレンスをご覧ください。
次のコードスニペットは、トラッキング対応フラグの値を取得する方法を示しています。
トラッキング対応フラグの現在の設定は、Settings.shared.isAdvertiserTrackingEnabled
プロパティで確認できます。
print("isAdvertiserTrackingEnabled: \(Settings.shared.isAdvertiserTrackingEnabled)")
どのようなアプリにも、ユーザーがアプリ内で広告トラッキングをオフにできる設定を含めることができます。Facebookでは、パートナーに自社のSDKにこのオプションを含めることと、ユーザーの選択内容をインストールイベントやコンバージョンイベントと併せてFacebookに報告するよう要請しています。Facebookではインストールやコンバージョンのイベントを使用して広告レポートを作成していますが、これらのイベントを広告の最適化で使用することは制限しています。ユーザーの設定は、アプリの起動を繰り返しても持続しなければなりません。
POST
リクエストを/{app-id}/activities
エンドポイントに、event
をCUSTOM_APP_EVENTS
に設定し、advertiser_tracking_enabled
をそれぞれの個別のイベントに設定して送信します。advertiser_id
またはattribution
パラメーターは必須です。
curl -i -X POST "https://graph.facebook.com/{app-id}/activities ?event=CUSTOM_APP_EVENTS" &advertiser_id={advertiser-tracking-id} &advertiser_tracking_enabled=1 &application_tracking_enabled=1 &custom_events=[ {"_eventName":"fb_mobile_purchase", "event_id":"123456", "fb_content":"[ {"id": "1234", "quantity": 2,}, {"id": "5678", "quantity": 1,} ]", "fb_content_type":"product", "_valueToSum":21.97, "fb_currency":"GBP", } ] &{app-access-token}"
成功すると、アプリは次の応答を受け取ります。
{ "success": true }
attribution
エンドポイントは、過去28日以内の広告でのクリック数に基づいて、インストール数とコンバージョン数を返します。広告マネージャは、1日のビュースルーと28日のクリックスルーのアトリビューションモデルを使用しています。インサイトは、インストールやコンバージョン時間ではなく、インプレッションまたはクリック時間に基づいています。これは、自分のレポートとFacebook広告マネージャのレポートを比較する際に覚えておく必要があります。通常の広告クリックのアプリイベントの取得に加えて、以下のシナリオも考慮してください。
ビュースルーのアトリビューションの取得 - consider_views=TRUE
を設定すると、アカウントセンターアカウントが28日以内に広告をクリックしていない場合は、広告インプレッションの1日以内に発生したインストールのアトリビューションデータを返します。返される応答ではis_view_through=TRUE
となり、view_time
がclick_time
と置き換えられます。他のすべてのアトリビューションは、広告のクリックアトリビューションデータと同様です。
クロスキャンペーンの取得 - 広告主は、アプリイベントにつながったすべての広告のパフォーマンスをトラッキングできます。Facebookは、キャンペーンの目的がモバイルアプリインストールまたはモバイルアプリエンゲージメントに設定されていない限り、イベント取得リクエストを広告キャンペーンから送信します。このデータは、広告主が広告の[モバイルアプリイベントのトラッキング]フィールドにアプリを追加している場合にのみ表示されます。
ユーザー事例 — ユーザーをモバイルサイトに誘導するページ投稿広告またはウェブサイト広告のクリックによって生成されたインストールをトラッキングしたいクライアントは、広告マネージャでそのように設定することができます。その場合Facebookは該当するアプリのインストールを取得します。
クロスデバイスの取得 - 複数のプラットフォームに広告を掲載している広告主は、これらの複数プラットフォームの広告がきっかけとなったアプリのインストールのデータを表示できます。
使用例 — ユーザーがiPhoneでアプリの広告をクリックし、同じアプリをiPadでインストールしたとします。この場合、Facebookは、広告のターゲット設定に関係なく、iPadでのアプリのインストールをiPhone広告にアトリビューションできます。
詳細マッチングを使用してFacebookに顧客データを送信すると、Facebookはそのデータにより、広告に反応してアクションを起こしたアカウントセンターアカウントをより正確に特定することができます。Facebookはこのデータを使ってコンバージョンイベントを顧客とマッチングすることで、広告を最適化して、より多くのリマーケティングオーディエンスを構築できます。
ud
パラメーターに顧客のトラッキングに使用できるパラメーター(顧客のメールアドレスや電話番号など)を指定して、POST
リクエストを/{app-id}/activities
エンドポイントに送信します。顧客データはすべてハッシュ化されていなければなりません。そうでないとFacebookにより無視されます。必ず個々のイベントごとにadvertiser_tracking_enabled
を設定してください。
curl -i -X POST "https://graph.facebook.com/{app-id}/activities ?event=CUSTOM_APP_EVENTS &advertiser_id={advertiser-tracking-id} &advertiser_tracking_enabled=1 &application_tracking_enabled=1 &custom_events=[ {"_eventName":"fb_mobile_purchase", "event_id":"123456", "fb_content":"[ {"id": "1234", "quantity": 2,}, {"id": "5678", "quantity": 1,} ]", "fb_content_type":"product", "_valueToSum":21.97, "fb_currency":"GBP", } ] &ud[em]={sha256-hashed-email} &{app-access-token}"
成功すると、アプリは次の応答を受け取ります。
{ "success": true }
すべてのユーザーデータはFacebookに送信する前に、SHA256でハッシュ化されたタグを付ける必要があります。Facebookはハッシュ化されていないデータを無視します。
アプリイベントでは、ウェブイベントに対するものと同じ重複除外機能が適用されます。このロジックは、event_id
およびevent_name
フィールドに基づく重複除外を使用します。event_id
パラメーターは、類似したイベントを区別するための識別情報です。イベントIDが不正確だと、コンバージョンが誤って重複除外され、コンバージョンレポートとキャンペーンパフォーマンスにさらに影響が及ぶ可能性があります。
画面の幅や高さなどのデバイス情報を、/{app-id}/activities?extinfo
を使用してアプリイベント呼び出しで送信します。値はコンマで区切り、/application/activites
リファレンスガイドでインデックス化されている順番で指定する必要があります。extinfo
を使用する際は、すべての値が必須です。
version
はa2
でなければなりません version
はi2
でなければなりませんアプリイベントは、advertiser_id
と関連付けることをおすすめします。しかし、AndroidデバイスとiOS 6より前のiOSデバイスの場合、attribution
パラメーターをデバイスのモバイルCookieに設定して使用することもできます。
注: モバイルCookieは、ユーザーまたはデバイスのアトリビューションから派生するものではありません。これらのCookieは永続的でなく、頻繁に更新されるように設計されています。広告のリターゲティングにはモバイルCookieを使用しないでください。
Cookieは、22文字のランダムな英数字文字列です。
ContentProvider
を使用して、FacebookアトリビューションIDを取得します。
public static final Uri ATTRIBUTION_ID_CONTENT_URI = Uri.parse("content://com.facebook.katana.provider.AttributionIdProvider"); public static final String ATTRIBUTION_ID_COLUMN_NAME = "aid"; public static String getAttributionId(ContentResolver contentResolver) { String [] projection = {ATTRIBUTION_ID_COLUMN_NAME}; Cursor c = contentResolver.query(ATTRIBUTION_ID_CONTENT_URI, projection, null, null, null); if (c == null || !c.moveToFirst()) { return null; } String attributionId = c.getString(c.getColumnIndex(ATTRIBUTION_ID_COLUMN_NAME)); c.close(); return attributionId; }
対象とするAndroidアプリの広告IDを取得することも必要です。
モバイルCookieは、Facebook iOSアプリがCFUUIDCreateString
を使用して作成する、128ビットのUUIDの文字列表現です。
次のように、Cookie IDとIDFAの両方を取得し、それらを識別情報としてFacebookに送信します。
ASIdentifierManager *manager = [ASIdentifierManager sharedManager]; NSString *advertiserID = [[manager advertisingIdentifier] UUIDString]; if (advertiserID) { // do stuff }
POST
リクエストがサーバーやプロキシなどから一元的に行われ、基本的にはサーバー間呼び出しである場合は、場所とデバイス情報を確実に正確なものにするため、X-Forwarded-For HTTPヘッダーが必要です。送信されるアプリイベントの各リクエストで、デバイスのIPアドレス(IPv4またはIPv6形式)を、X-Forwarded-For HTTPヘッダーのパラメーターで送ります。これにより、Facebookはadvertiser_id
と正しいIPアドレスをペアリングして、それをFacebookのプラットフォームで使用することができます。
curl ... -H "X-Forwarded-For: fd45:f238:3b40:23b1:ffff:ffff:ffff:abcd" \ https://graph.facebook.com/<APP_ID>/activities/
curl ... -H "X-Forwarded-For: 192.168.0.99" \ https://graph.facebook.com/<APP_ID>/activities
クライアントがモバイル測定パートナーのレポートとFacebookレポートを比較したときに不一致が見られる場合は、以下の項目を確認してください。
Facebookレポートのインストール数がMMPよりも少ない場合
Facebookレポートのインストール数がMMPよりも多い場合
アプリの追加情報の詳細については、/application/activites
リファレンスガイドをご覧ください。
データ | パラメーター | 例 | 形式のガイドライン |
---|---|---|---|
都市 |
| menlopark | 都市(小文字、スペースは削除) |
国 |
| US | ISO 3166-1 alpha-2形式の2文字の国コード |
生年月日 |
| 19911226 | 生まれた年、月、日。たとえば、1997年12月26日であれば、 |
メール |
| jsmith@example.com | 利用者のメールアドレス(小文字) |
名 |
| taro | 名前(小文字) |
性別 |
| m |
|
姓 |
| yamada | 姓(小文字) |
携帯電話 |
| 16505551212 | 携帯番号(数字のみの国コード、市外局番、電話番号) |
州 |
| ca | 2文字の州コード |
郵便番号 |
| 94035 | 5桁の郵便番号 |
Event Name | Event Parameters | _valueToSum |
---|---|---|
|
| |
|
| With App Ads, revenue of ads from a third-party platform appears on-screen within your app. |
| ||
| ||
| ||
|
| |
| ||
|
| |
|
| Price of item added |
|
| Price of item added |
|
| |
|
| Price of item viewed (if applicable) |
|
| Total price of items in cart |
|
| |
|
| Purchase price |
|
| Rating given |
|
| |
|
| Total value of credits spent |
|
| |
| ||
| ||
|
| Price of subscription |
| ||
|
| Price of subscription |
*Use fb_mobile_activate_app
event in addition to install reporting to exclude users from seeing ads for this app. Do not use this event if you have automatic event logging enabled.
イベントのパラメーター名 | 値 | 説明 |
---|---|---|
| 整数 | イベントの時刻(UNIX時刻で指定)の指定に推奨されるパラメーター |
| 浮動小数点型 | レポートで合計する個別のイベントの数値です。推奨されるイベントについては上の表を参照 |
| 文字列 | EAN (International Article Number) (ある場合)または他の商品ID/コンテンツID。複数の製品IDの場合: "[\"1234\",\"5678\"]"など |
| 文字列 | EAN(International Article Number) (該当する場合)、その他の製品やコンテンツのID、およびその製品の数量と価格を含むJSONオブジェクトのリスト。必須: |
| 文字列 |
|
| 文字列 | ISO 4217コード(例: 「EUR」、「USD」、「JPY」) |
| 文字列 | 文字の説明 |
| 文字列 | ゲームのレベル |
| 整数 | 評価スケールの上限。例えば、5つ星スケールの5 |
| 整数 | アイテム数 |
| ブーリアン |
|
| 文字列 | Facebook、メール、Twitterなど |
| 文字列 | 検索されたテキスト文字列 |
| ブーリアン |
|