次のステップに従って、マーケティングAPIで初めての広告を作成しましょう。
グラフAPIと、Facebookの広告キャンペーン構造について十分に理解してください。呼び出しを行う準備ができたら、以下が必要になります。
以上のものを用意したら、API呼び出しを開始できます。マーケティングAPIの使用に関する一般的なベストプラクティスも忘れずに確認してください。
Campaign
クラスから新しいキャンペーンオブジェクトを作成するプロセスを開始します。この段階で、キャンペーンの全体的な目標である広告の目的を設定する必要があります。テスト中に請求が発生しないように、最初はPAUSED
のキャンペーンを作成することをおすすめします。
curl -X POST \
-F 'name="My campaign"' \
-F 'objective="OUTCOME_TRAFFIC"' \
-F 'status="PAUSED"' \
-F 'special_ad_categories=[]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/campaigns
成功すると、新たに作成された広告キャンペーンのIDが返されます。このIDを忘れずに保存してください。キャンペーンが作成されたことは、広告マネージャでも確認できます。
広告セットの作成に進む前に、ターゲットオーディエンスを定義する必要があります。次のステップでは、広告セットを作成し、オーディエンスの属性を指定します。
ターゲット設定のオプションは数多くあります。この例では、ターゲット設定検索を使って、オーディエンスの設定に使用できる事前定義値を調べます。
まず、選択可能な国の中から「united」という単語を含む国を検索します。
curl -G \ -d 'location_types=["country"]' \ -d 'type=adgeolocation' \ -d 'q=united' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v<API_VERSION>/search Open In Graph API ExplorerOpen In Postman
次に、「movie」という単語を含む興味・関心を検索できます。
curl -G \ -d 'type=adinterest' \ -d 'q=movie' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v<API_VERSION>/search
上記の呼び出しから返される値に基づいて、米国(United States)在住で映画(movie)に興味のある人からなるオーディエンスを作成できます。ターゲット設定の仕様は、次のようになります。
targeting={ "geo_locations": {"countries":["US"]}, "interests": [{id: 6003139266461, 'name': 'Movies'}] }
広告セットとは、1日の予算または通算予算、スケジュール、請求、最適化、ターゲット設定データを共有する広告のグループです。このステップでは、AdSet
クラスから新しいオブジェクトを作成し、以下を指定する必要があります。
start_time
とend_time
を使用して設定します。optimization_goal
を使用して設定します。billing_event
を使用します。bid_amount
フィールドを使用します。広告セットを作成するには、ステップ1で保存した広告キャンペーンIDも必要です。
curl -X POST \
-F 'name="My Reach Ad Set"' \
-F 'optimization_goal="REACH"' \
-F 'billing_event="IMPRESSIONS"' \
-F 'bid_amount=2' \
-F 'daily_budget=1000' \
-F 'campaign_id="<AD_CAMPAIGN_ID>"' \
-F 'targeting={
"geo_locations": {
"countries": [
"US"
]
},
"facebook_positions": [
"feed"
]
}' \
-F 'status="PAUSED"' \
-F 'promoted_object={
"page_id": "<PAGE_ID>"
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adsets
テスト中に課金が発生しないように、PAUSED
ステータスで広告セットを作成することをおすすめします。
このステップでは、AdCreative
オブジェクトを使用して、広告の視覚要素を指定します。指定する必要がある情報は目的によって異なりますが、よく使用される属性としては次のものがあります。
目的によっては、詳細なフィールドの指定が必要な場合があります。例えば、iOSアプリの広告では、App StoreのURLが必要です。
クリエイティブは、広告セットの一部またはスタンドアローンとして定義できます。いずれの場合も、Facebookは広告クリエイティブを広告内で使用するために、広告アカウントのクリエイティブライブラリに格納します。
この例では、画像を指定してAdCreative
オブジェクトを作成する方法を示します。
最初に、画像ファイルからAdImage
オブジェクトを作成します。
curl \ -F 'filename=@<IMAGE_PATH>' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v<API_VERSION>/act_<AD_ACCOUNT_ID>/adimages
次に、画像ハッシュを使用してAdCreative
を作成します。
curl -X POST \ -F 'name="Sample Creative"' \ -F 'object_story_spec={ "page_id": "<PAGE_ID>", "link_data": { "image_hash": "<IMAGE_HASH>", "link": "https://facebook.com/<PAGE_ID>", "message": "try it out" } }' \ -F 'degrees_of_freedom_spec={ "creative_features_spec": { "standard_enhancements": { "enroll_status": "OPT_IN" } } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives Open In Graph API ExplorerOpen In Postman
広告マネージャ内の[メディアライブラリ]に移動して、画像がアップロードされていることを確認します。
この時点では、リンクが設定されたAdCreative
はまだ広告マネージャに表示されません。このデータは、広告を予約すると表示されるようになります。グラフAPIエクスプローラを使用して、広告クリエイティブをデバッグできます。読み取りたいフィールドは次のように指定します。
GET /{my-creative-id} HTTP/1.1
Host: graph.facebook.com/?fields=object_story_spec
最後に、広告オブジェクトを作成してAdCreative
とAdSet
をリンクします。Ad
のstatus
をpaused
に設定し、直ちに発注されないようにします。
curl -X POST \
-F 'name="My Ad"' \
-F 'adset_id="<AD_SET_ID>"' \
-F 'creative={
"creative_id": "<CREATIVE_ID>"
}' \
-F 'status="PAUSED"' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/ads
広告マネージャに広告が存在することを確認します。作成したキャンペーンをクリックしてから、広告セット、広告の順にクリックします。
APIで広告を予約する準備が整ったら、ステータスをactive
に設定します。最初に広告の審査が行われるため、ステータスはPENDING_REVIEW
になります。審査が完了すると、ステータスはACTIVE
に戻ります。
広告を作成する代わりに、既存の広告、アセット、キャンペーンをコピーすることもできます。コピーを使用すると、キャンペーンを手早く複製して設定を変更したり、テストグループを作成してパフォーマンス情報を抽出したりできます。詳しくは、以下をご覧ください。