Facebookでフライトインベントリーを宣伝するには、フライトの情報をFacebookに提供する必要があります。提供するには、フライトカタログを作成し、フライトルートを入力します。カタログに入力し、カタログを最新の状態に保つ方法は3つあります。
フライトカタログはコマースマネージャで作成および管理できます。
フライトフィードとは、フライトインベントリーを持つファイルです。ファイル内のラインまたはアイテムはそれぞれ、1つのルートを表しています。すべてのフィードを合わせるとすべてのフライトインベントリーが格納される場合に限り、1つ以上のフライトフィードを使用できます。
"
二重引用符 "
で囲む必要があります。 image
imageなどのネストされたフィールドや複数値フィールドは、JSONエンコードされた値または、JSONパス構文を使用してラベリングされた「フラット」なプレーンテキスト列を使用して表されます(例image[0].url
, image[0].tag[0]
, image[0].tag[1]
.どちらも、同じファイルで同時に使用できます。<listings>
XMLノードが一連の<listing>
ノードを囲み、各ノードが1つのフライトを表します。<?xml
宣言タグを記述する必要があります。フィード分析ツールは、テキストエンコーディングのUTF8
、UTF16
、UTF32
を自動検出し、予期せぬバイトシーケンスが発生した場合、デフォルトのLATIN1
にします。フィールド値には任意の言語でテキストを提供できますが、フィールド名は英語で、以下のものをそのまま使用する必要があります。
次のサポートされているフィールドは、商品カタログに追加するアイテム用です。
ローカライズされたカタログについては、「フライト広告用のサポートされているフィールド」をご覧ください。
フィールドと型 | 説明 |
---|---|
型: 文字列 | 必須。 出発地のIATAコードです。空港と都市のIATAコードをサポートします。IATAコード検索を使って、IATAコードを確認します。ヒント: パフォーマンスを改善するために、このユニークIDフィールドにはスペースを使用しないでください。 例: |
型: 文字列 | 必須。 目的地のIATAコードです。空港と都市のIATAコードをサポートします。IATAコード検索を使って、IATAコードを確認します。ヒント: パフォーマンスを改善するために、このユニークIDフィールドにはスペースを使用しないでください。 例: |
型: オブジェクト | 必須。 最大アイテム数: 20 フライト用の画像データです。フライトごとに最大20枚まで画像を用意できます。それぞれの画像に2つのフィールド 「画像オブジェクトパラメーター」をご覧ください |
型: 文字列 | 必須。 最大長: 5,000 ルートの短い説明です。 |
型: 文字列 | ディープリンクを広告レベルで指定しなかった場合のみ必須。広告マネージャの フライトが確認できる外部サイトへのリンクです。広告レベルでディープリンクを指定した場合、そのディープリンクが優先されます。 |
型: 文字列 | 出発地の名前です。 例: |
型: 文字列 | 目的地の都市の名前です。 例: |
型: 文字列 | フライトの価格です。通貨の値を指定する必要があります。 例: |
タイプ: エレメント | App Linksを使用して、モバイルアプリ内のフライトの詳細ページに直接遷移するディープリンクです。次のようにディープリンクを指定できます(優先順位の高い順)。
|
型: 文字列 | フライトの片道料金です。通貨と併せて金額を指定する必要があります。 例: |
型: 整数 | フライトの優先度。0(最低の優先度)から5(最高の優先度)までの値です。この値を指定しないフライトの優先度は0です。 例: |
型: 文字列 | カタログのアイテムがアクティブなのかアーカイブ済みなのかを制御します。アクティブなアイテムだけが、広告、ショップ、その他のチャネルで表示されます。使用できる値: 例: 注: Shopifyなど一部のパートナープラットフォームでは、stagingというステータスを使用して、アイテムをカタログに同期することがあります。これは、 以前、このフィールドは |
フィールド名と型 | 説明 |
---|---|
型: 文字列 | 必須。 フライトの画像のURLです。次の画像仕様に従ってください。
|
型: 文字列 | 画像に含まれるものを表す文字列です。1枚の画像に複数のタグを付けることもできます。 例:
任意。 |
iPhone向けとiPad向けに異なるアプリをお持ちの場合、iPhoneとiPadそれぞれの情報を指定します。そうでない場合は、iOS情報のみを指定します。
フィールド名とタイプ | 説明 |
---|---|
タイプ: 文字列 | iOSアプリのカスタムスキームです。 例: |
タイプ: 文字列 | App StoreのアプリIDです。 例:1234 |
タイプ: 文字列 | アプリの名前(表示に適したもの)です。 例: |
タイプ: 文字列 | iPhoneアプリのカスタムスキームです。 例: |
タイプ: 文字列 | App StoreのアプリIDです。 例: |
タイプ: 文字列 | アプリの名前(表示に適したもの)です。 例: |
タイプ: 文字列 | iPhoneアプリのカスタムスキームです。 例: |
タイプ: 文字列 | App StoreのアプリIDです。 例: |
タイプ: 文字列 | アプリの名前(表示に適したもの)です。 例: |
タイプ: 文字列 | Androidアプリのカスタムスキームです。 例: |
タイプ: 文字列 | 意向獲得用の完全修飾パッケージ名です。 例: |
タイプ: 文字列 | 意向獲得用の完全修飾アクティビティクラス名です。 例: |
タイプ: 文字列 | アプリの名前(表示に適したもの)です。 例: |
App Linksの仕様に従って、フィードでディープリンクを指定します。フィードのディープリンク情報は、FacebookがウェブクローラーでApp Linksメタデータを使用して収集する情報よりも優先されます。
App Linksからのディープリンク情報がすでにある場合、このデータを指定する必要はありません。Facebookは、App Linksからの情報を使用して正しいディープリンクを表示します。広告にディープリンクを表示する方法については、Advantage+ カタログ広告、広告テンプレートをご覧ください。
Facebookでは、ピクセルとアプリのイベントアクティビティに基づいて、ルートをカタログに自動追加できます。カタログに存在しないルートと一緒にイベントが受信される度に、自動で追加されます。これにより、すべてのフライトに対して、フライトフィードを扱うことなく、フライト広告を使用できます。
これを有効化するには、フライトカタログにPOST
リクエストを行い、generate_items_from_events
をtrue
に設定します。
curl \ -F 'flight_catalog_settings={generate_items_from_events:1}' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CATALOG_ID>
自動で追加されるルートには、(広告に表示される)画像はありません。そのため、自動生成されるすべてのルートに使用する汎用画像を指定する必要があります。
curl \ -F 'fallback_image_url=http://example.com/some.image_1.jpg' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CATALOG_ID>
カタログがピクセルまたはアプリと関連付けられ、フライト広告イベントを受け取り次第、カタログにデータが入ります。これは、カタログをクエリすることで確認できます。
curl \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CATALOG_ID>/flights
フライトフィードと自動生成されるルートを組み合わせてアップロードできます。これらを組み合わせることで、フライトフィードを使用して最も重要なルートにカスタム画像を指定しながら、すべてのフライトに対しフライト広告を活用できます。
そのために必要な操作は、カタログを自動入力してフライトフィードをアップロードすることだけです。
以下のセクションは、このAPIを使用してカタログを管理する場合のみ使用します。
フライトカタログはフライトインベントリーのコンテナです。カタログAPIを使用するには、ビジネスマネージャで最初のカタログを作成することにより、適切なマーケティングAPIアクセスレベルがあることと、利用規約に同意していることを確認してください。
フライト広告のフライトカタログを作成するには、vertical
をflights
に設定します。
curl -X POST \ -F 'name="Test Flight Catalog"' \ -F 'vertical="flights"' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v10.0/{business-id}/owned_product_catalogs
カタログを作成したら、次はフライトフィードをFacebookにアップロードする必要があります。APIを使用して、アップロードするすべてのフィードのフィードオブジェクトを作成します。スケジュール設定されたアップロードも、直接アップロードもサポートされています。
フライトセットはカタログのサブセットです。フライト広告を設定するには、少なくとも1つのフライトセットを作成する必要があります。
フライトセットは、フライトカタログにフィルターを適用することで定義します。例えば、ロンドン発のすべてのルートを持つフライトセットを作成できます。フィルターを使用せずにフライトセットを作成することもできます。この場合、フライトセットにはカタログ内のすべてのフライトが含まれます。
use FacebookAds\Object\ProductSet;
use FacebookAds\Object\Fields\ProductSetFields;
$flight_set = new ProductSet(null, <PRODUCT_CATALOG_ID>);
$flight_set->setData(array(
ProductSetFields::NAME => 'Test Flight Set',
ProductSetFields::FILTER => array(
'origin_airport' => array(
'eq' => 'LHR',
),
),
));
$flight_set->create();
from facebookads.adobjects.productset import ProductSet
flight_set = ProductSet(None, <PRODUCT_CATALOG_ID>)
flight_set[ProductSet.Field.name] = 'Test Flights Set'
flight_set[ProductSet.Field.filter] = {
'origin_airport': {
'eq': 'SFO',
},
}
flight_set.remote_create()
curl \
-F 'name=Test Flight Set' \
-F 'filter={"origin_airport":{"eq":"LHR"}}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.11/<PRODUCT_CATALOG_ID>/product_sets
filter
パラメーターは、次の演算子とデータで構成されています。
演算子 | フィルターのタイプ |
---|---|
| サブ文字列を含む。大文字と小文字を区別しない。 |
| サブ文字列を含まない。大文字と小文字を区別しない。 |
| サブ文字列を含む。大文字と小文字を区別しない。 |
| サブ文字列を含まない。大文字と小文字を区別しない。 |
| 次に等しい。大文字と小文字を区別しない。 |
| 次と等しくない。大文字と小文字を区別しない。 |
| 次より小さい。数値フィールドのみ。 |
| 次以下。数値フィールドのみ。 |
| 次より大きい。数値フィールドのみ。 |
| 次以上。数値フィールドのみ。 |
データ | フィルターが適用されるデータ |
---|---|
| 出発地のIATAコード。 |
| 目的地のIATAコード。 |
| フライトの料金。価格はセントで表記します。 |
| ルートの短い説明です。 |