フライト広告 - カタログとフィード

Facebookでフライトインベントリーを宣伝するには、フライトの情報をFacebookに提供する必要があります。提供するには、フライトカタログを作成し、フライトルートを入力します。カタログに入力し、カタログを最新の状態に保つ方法は3つあります。

  1. フライトインベントリーのあるフライトフィードのCSVまたはXMLファイルをアップロードする
  2. カタログを自動的に入力するイベントアクティビティを使用する
  3. フライトフィードを、自動生成されるフライトと組み合わせる

フライトカタログはコマースマネージャで作成および管理できます。

  1. フライトカタログを作成する
  2. Facebookにフィードをアップロードする
  3. フライトカタログから商品セットを作成する
  4. カタログとイベントソースを関連付ける

フライトフィード - フライトをFacebookにアップロードする

フライトフィードとは、フライトインベントリーを持つファイルです。ファイル内のラインまたはアイテムはそれぞれ、1つのルートを表しています。すべてのフィードを合わせるとすべてのフライトインベントリーが格納される場合に限り、1つ以上のフライトフィードを使用できます。

サポートされているフライトフィード形式

CSV >サンプル-説明

CSVサンプル | TSVサンプル(フラット)

  • 先頭行には、選択したフィールド名を列挙する必要があります。ここに列挙した順序で値を指定することになります。その後の行では、各フライトに対応する値が提供されます。
  • 空白やコンマを含むフィールドは"二重引用符 "で囲む必要があります。
  • image imageなどのネストされたフィールドや複数値フィールドは、JSONエンコードされた値または、JSONパス構文を使用してラベリングされた「フラット」なプレーンテキスト列を使用して表されます(例image[0].url, image[0].tag[0], image[0].tag[1].どちらも、同じファイルで同時に使用できます。

XML >サンプル-説明

XMLサンプル

  • ルート<listings> XMLノードが一連の<listing>ノードを囲み、各ノードが1つのフライトを表します。
  • ファイルの最初には、有効な<?xml宣言タグを記述する必要があります。

フィード分析ツールは、テキストエンコーディングのUTF8UTF16UTF32を自動検出し、予期せぬバイトシーケンスが発生した場合、デフォルトのLATIN1にします。フィールド値には任意の言語でテキストを提供できますが、フィールド名は英語で、以下のものをそのまま使用する必要があります。

サポートされているフィールド - フライト広告

次のサポートされているフィールドは、商品カタログに追加するアイテム用です。

ローカライズされたカタログについては、「フライト広告用のサポートされているフィールド」をご覧ください。

フィールドと型説明

origin_airport

型: 文字列

必須

出発地のIATAコードです。空港と都市のIATAコードをサポートします。IATAコード検索を使って、IATAコードを確認します。ヒント: パフォーマンスを改善するために、このユニークIDフィールドにはスペースを使用しないでください。

例: SFO

destination_airport

型: 文字列

必須

目的地のIATAコードです。空港と都市のIATAコードをサポートします。IATAコード検索を使って、IATAコードを確認します。ヒント: パフォーマンスを改善するために、このユニークIDフィールドにはスペースを使用しないでください。

例: JFK

image

型: オブジェクト

必須

最大アイテム数: 20

フライト用の画像データです。フライトごとに最大20枚まで画像を用意できます。それぞれの画像に2つのフィールドurltagがあります。1つの画像に複数のタグを関連付けることができます。少なくとも1つのimageが必要です。各画像のサイズ上限は4MBです。

画像オブジェクトパラメーター」をご覧ください

description

型: 文字列

必須

最大長: 5,000

ルートの短い説明です。

url

型: 文字列

ディープリンクを広告レベルで指定しなかった場合のみ必須広告マネージャDeep Linkフィールド、またはAPIのtemplate_url_specを使用できます。

フライトが確認できる外部サイトへのリンクです。広告レベルでディープリンクを指定した場合、そのディープリンクが優先されます。

origin_city

型: 文字列

出発地の名前です。

例: San Francisco

destination_city

型: 文字列

目的地の都市の名前です。

例: New York

price

型: 文字列

フライトの価格です。通貨の値を指定する必要があります。

例: 99.99 USD

applink

タイプ: エレメント

App Linksを使用して、モバイルアプリ内のフライトの詳細ページに直接遷移するディープリンクです。次のようにディープリンクを指定できます(優先順位の高い順)。

  1. template_url_specを使用して、広告レベルに指定する
  2. アプリリンクオブジェクトを使用して、このフィードに指定する
  3. アプリリンクのメタタグをウェブサイトに追加して指定する

one_way_price

型: 文字列

フライトの片道料金です。通貨と併せて金額を指定する必要があります。

例: 99.99 USD

priority

型: 整数

フライトの優先度。0(最低の優先度)から5(最高の優先度)までの値です。この値を指定しないフライトの優先度は0です。

例: 5

status

型: 文字列

カタログのアイテムがアクティブなのかアーカイブ済みなのかを制御します。アクティブなアイテムだけが、広告、ショップ、その他のチャネルで表示されます。使用できる値: activearchived。アイテムは、デフォルトではactiveになっています。詳しくは、アイテムのアーカイブをご覧ください。


例: active


: Shopifyなど一部のパートナープラットフォームでは、stagingというステータスを使用して、アイテムをカタログに同期することがあります。これは、archivedと同じ動作です。

以前、このフィールドはvisibilityと呼ばれていました。この古いフィールド名もまだ使えますが、新しい名前の使用をおすすめします。

画像オブジェクトのパラメーター

フィールド名と型説明

url

型: 文字列

必須

フライトの画像のURLです。次の画像仕様に従ってください。

  • すべての画像は、JPG、GIF、PNGのいずれかの形式でなければなりません。

  • カルーセル広告とコレクション広告: 画像は正方形(1:1)の形式で表示されます。最小の画像サイズは500x500ピクセルです。最高の画質で表示するには、1024 x 1024ピクセルをおすすめします。

  • シングル画像広告: 画像は1.91:1のアスペクト比で表示されます。最小の画像サイズは500 x 500ピクセルです。最適な画質となるように1,200x628ピクセルを推奨します。

tag

型: 文字列

画像に含まれるものを表す文字列です。1枚の画像に複数のタグを付けることもできます。

例:

  • Fitness Center
  • Swimming Pool

任意。INSTAGRAM_STANDARD_PREFERRED - 広告主がフィードの特定の画像にInstagramで使用するデフォルト画像としてタグを付けられるようにします。このタグは大文字/小文字が区別されます。

iPhone向けとiPad向けに異なるアプリをお持ちの場合、iPhoneとiPadそれぞれの情報を指定します。そうでない場合は、iOS情報のみを指定します。

フィールド名とタイプ説明

ios_url

タイプ: 文字列

iOSアプリのカスタムスキームです。

例: example-ios://electronic

ios_app_store_id

タイプ: 文字列

App StoreのアプリIDです。

例:1234

ios_app_name

タイプ: 文字列

アプリの名前(表示に適したもの)です。

例: Electronic Example iOS

iphone_url

タイプ: 文字列

iPhoneアプリのカスタムスキームです。

例: example-iphone://electronic

iphone_app_store_id

タイプ: 文字列

App StoreのアプリIDです。

例: 5678

iphone_app_name

タイプ: 文字列

アプリの名前(表示に適したもの)です。

例: Electronic Example iPhone

ipad_url

タイプ: 文字列

iPhoneアプリのカスタムスキームです。

例: example-ipad://electronic

ipad_app_store_id

タイプ: 文字列

App StoreのアプリIDです。

例: 9010

ipad_app_name

タイプ: 文字列

アプリの名前(表示に適したもの)です。

例: Electronic Example iPad

android_url

タイプ: 文字列

Androidアプリのカスタムスキームです。

例: example-android://electronic

android_package

タイプ: 文字列

意向獲得用の完全修飾パッケージ名です。

例: com.electronic

android_class

タイプ: 文字列

意向獲得用の完全修飾アクティビティクラス名です。

例: com.electronic.Example

android_app_name

タイプ: 文字列

アプリの名前(表示に適したもの)です。

例: Electronic Example Android

商品ディープリンク

App Linksの仕様に従って、フィードでディープリンクを指定します。フィードのディープリンク情報は、FacebookがウェブクローラーでApp Linksメタデータを使用して収集する情報よりも優先されます。

App Linksからのディープリンク情報がすでにある場合、このデータを指定する必要はありません。Facebookは、App Linksからの情報を使用して正しいディープリンクを表示します。広告にディープリンクを表示する方法については、Advantage+ カタログ広告、広告テンプレートをご覧ください。

フライトの自動生成 - イベントアクティビティを使用して、ルートをカタログに自動追加する

Facebookでは、ピクセルとアプリのイベントアクティビティに基づいて、ルートをカタログに自動追加できます。カタログに存在しないルートと一緒にイベントが受信される度に、自動で追加されます。これにより、すべてのフライトに対して、フライトフィードを扱うことなく、フライト広告を使用できます。

これを有効化するには、フライトカタログにPOSTリクエストを行い、generate_items_from_eventstrueに設定します。

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を使用するには、ビジネスマネージャで最初のカタログを作成することにより、適切なマーケティングAPIアクセスレベルがあることと、利用規約に同意していることを確認してください。

フライト広告のフライトカタログを作成するには、verticalflightsに設定します。

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

API経由でフライトフィードをアップロードする

カタログを作成したら、次はフライトフィードを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パラメーターは、次の演算子とデータで構成されています。

演算子フィルターのタイプ

i_contains

サブ文字列を含む。大文字と小文字を区別しない。

i_not_contains

サブ文字列を含まない。大文字と小文字を区別しない。

contains

サブ文字列を含む。大文字と小文字を区別しない。

not_contains

サブ文字列を含まない。大文字と小文字を区別しない。

eq

次に等しい。大文字と小文字を区別しない。

neq

次と等しくない。大文字と小文字を区別しない。

lt

次より小さい。数値フィールドのみ。

lte

次以下。数値フィールドのみ。

gt

次より大きい。数値フィールドのみ。

gte

次以上。数値フィールドのみ。

データフィルターが適用されるデータ

origin_airport

出発地のIATAコード。

destination_airport

目的地のIATAコード。

price

フライトの料金。価格はセントで表記します。

description

ルートの短い説明です。