入札乗数

注: このAPIは、許可リストに登録されているパートナーと広告主だけに提供されています。使用するにはMeta担当者に連絡してください。

広告主は、入札乗数を利用して必要なオーディエンスセグメンテーションの量を減らすことができます。入札乗数によって、1つのターゲットオーディエンスを持つ1つの広告セット内で微妙な入札戦略を維持することができるからです。例えば、広告主は通常、さまざまなオーディエンスセグメントに対してそれぞれ異なる入札ができるように広告セットを作成します。例えば、広告主は、18–25、26–35、36–65の3つの異なる年齢グループに対して3つの広告セットを作成するかもしれません。入札乗数を使用すれば、広告主は1つの広告セットを作成し、それらのバケットにそれぞれ異なる方法で入札することができます。

住宅、雇用、クレジットの広告を掲載する広告主(米国に拠点を置く広告主、または米国をターゲットとした広告を掲載している広告主)には、異なる制限があり、一部のオーディエンスカテゴリを使用して入札を調整することができます。住宅、雇用、クレジットのキャンペーンでは、agegenderlocalehome_locationuser_bucket、および類似custom_audience(類似オーディエンスから派生したカスタムオーディエンス)のオーディエンスカテゴリに対する入札調整が制限されています。特別な広告カテゴリを参照してください。

2023年1月30日より、サードパーティのデータカテゴリ(booking_windowcustom_audience (疑似カスタムオーディエンスを含む)、lengthofstaytravelstartdatetravelstartdayofweekuser_recencyuser_bucket)の入札乗数を使用した広告は、オプトアウトしたユーザーには配信されなくなります。

入札乗数のベストプラクティス

  • カスタマイズした入札戦略を使用する場合も、作成するオーディエンスセグメントや広告セットが多くなり過ぎないようにします。これは、キャンペーンを過剰にセグメント化して比較的少人数のオーディエンスを対象に多数の広告セットを作ることを避けつつ、より良い広告配信を達成するのに役立ちます。
  • かつては、3種類の年齢グループに対応する3つの広告セットを作成したかもしれません。その上で、それらの広告セットのそれぞれを個別に入札することができました。単一の広告セットを作成し、複数の入札乗数を使用することにより、それらの年齢グループのそれぞれで異なる入札を実施することができます。入札乗数は、0.09から1.0までの範囲です。
  • 入札乗数は、単一のuser_groupsキーの下に指定する必要があります。
  • 入札乗算はオークションキャンペーンで利用可能です。
  • 入札乗数ではすべての入札戦略がサポートされています。例えば、入札価格上限、平均目標達成単価上限、最小単価があります。

オーディエンスカテゴリを設定する

入札乗数により、オーディエンスカテゴリを定義し、オーディエンスカテゴリごとに入札乗数を割り当てることができます。オーディエンスカテゴリは、ユーザーデータ情報、ユーザーのデバイス、広告主のカスタムデータにより定義されます。住宅、雇用、クレジットのキャンペーンでは、agegenderlocalehome_locationuser_bucket、および類似custom_audience(類似オーディエンスから派生したカスタムオーディエンス)のオーディエンスカテゴリに対する入札の割り当てが制限されています。

優先度説明

age

年齢または年齢範囲に基づいて異なる方法で入札します。(住宅、雇用、クレジットのキャンペーンには利用できません。)

booking_window

旅行開始までの日数に基づいて異なる方法で入札します。

custom_audience

ユーザーの属するcustom_audienceに基づいて入札します。このオプションでは、住宅、雇用、クレジットのキャンペーンを除き、類似オーディエンスがサポートされています。

device_platform

モバイルやデスクトップなど、ユーザーのデバイスプラットフォームに基づいてそれぞれ異なる方法で入札します。

gender

性別に基づいて異なる方法で入札します。(住宅、雇用、クレジットのキャンペーンには利用できません。)

home_location

ユーザーのhome_locationに基づいて入札します。これは、現在の自宅所在地を表します。home_locationの乗数は、市、地域、国のそれぞれに応じてきめ細かく指定できます。(住宅、雇用、クレジットのキャンペーンには利用できません。)

lengthofstay

旅行の開始と終了の間の日数に基づいて入札します。

locale

英語やスペイン語などのロケールに基づいて異なる方法で入札します。(住宅、雇用、クレジットのキャンペーンには利用できません。)

position_type

広告の表示される場所に基づいて入札します(facebook_feedfacebook_marketplaceinstagram_storyなど)。

publisher_platform

publisher_platformに基づいて入札します(facebookinstagramaudience_networkmessengerなど)。

travelstartdate

旅行開始日に基づいて異なる方法で入札します(20181231は2018年12月31日、など)。

travelstartdayofweek

旅行開始曜日に基づいて入札します。0が月曜日、6が日曜日です。

user_bucket

広告主のピクセル起動回数またはアプリイベントで定義されるuser_bucket値に基づいて入札します。user_bucketフィールドは、0以上100以下の範囲の整数で表現される任意パラメーターです。(注: 1.住宅、雇用、クレジットのキャンペーンには利用できません。2. ホテル業界でのみ利用可能です。つまり、content_type="hotel"の場合のみ)

user_device

user_deviceに基づいて入札します(iPhoneなど)。user_deviceを参照

user_os

user_osに基づいて入札します(iOSやAndroidなど)。

user_recency

ユーザーが最後にサイトまたはアプリを利用したのがいつかに基づいて入札します。

age

年齢範囲でユーザーをグループ化します(18-2526-35など)。例えば、入札価格上限がUSD 5である広告セットの場合、18才から25才までのユーザーはUSD 2.5で、26才から40才までのユーザーはUSD 3.5で、その他のユーザーはUSD 5で入札することができます。: デフォルトは任意です。乗数として1.0を適用できます。

{
    "user_groups": {
      "age": {
        "18-25": 0.5,
        "26-40": 0.7,
        "default": 1.0
      }
    }
}

booking_window

可能な内訳値には、1以上の任意の整数が含まれます。例: 1-34-9など。

curl -X POST \ 
  -F 'bid_adjustments=
     {"user_groups":{"booking_window":{"event_sources":["123456789"],"1-2":0.1,"3-5":0.2,"default":0.5}}}' \ 
  -F 'access_token='$access_token \ 
  https://graph.facebook.com/<API_VERSION>/<ad_set_id>

旅行乗数の例も参照してください。

custom_audience

2023年1月30日より、サードパーティのデータカテゴリ(booking_windowcustom_audience (疑似カスタムオーディエンスを含む)、lengthofstaytravelstartdatetravelstartdayofweekuser_recencyuser_bucket)の入札乗数を使用した広告は、オプトアウトしたユーザーには配信されなくなります。

カスタムオーディエンスに基づいて入札を調整することができます。

curl -X POST \ 
  -F 'bid_adjustments=
     {"user_groups":{"custom_audience":{"<CUSTOM_AUDIENCE_ID>":0.8, "<CUSTOM_AUDIENCE_ID>":1.0, "default":0.5}}}' \ 
  -F 'access_token='$access_token \ 
  https://graph.facebook.com/<API_VERSION>/<ad_set_id>

device_platform

指定可能な内訳値は次のとおりです。

  • mobile
  • desktop

{
  "user_groups": {
    "device_platform": {
      "mobile": 0.7,
      "desktop": 0.9
    }
  }
}

gender

性別でユーザーをグループ化します。

  • male
  • female
  • default

{
  "user_groups": {
    "gender": {
      "male": 0.5,
      "female": 0.7,
      "default": 1.0
    }
  }
}

home_location

指定可能な内訳値は次のとおりです。

  • city id
  • region id
  • 2桁の国コード

city idregion idは、検索APIの中にあります。グラフAPIエクスプローラから、または自分のターミナルからクエリを実行できます。

注:defaultを設定できるのはhome_locationの下だけであり、citiesregionscountriesについては、いずれも設定できません。

{
  "user_groups": {
    "home_location": {
      "cities": {
         "2420605": 0.2
      },
      "regions": {
         "3847": 0.5
      },
      "countries": {
         "US": 0.2
      },
      "default": 0.8
     }
  }
}

length_of_stay

可能な内訳値には、1以上の任意の整数が含まれます。例: “1-3”“4-9”など。

curl -X POST \ 
  -F 'bid_adjustments=
  {"user_groups":{"length_of_stay":{"event_sources":["123456789"],"1-2":0.1,"3-     5":0.2,"default":0.5}}}' \ 
  -F 'access_token='$access_token \ 
  https://graph.facebook.com/<API_VERSION>/<ad_set_id>

旅行乗数の例も参照してください。

locale

ロケールまたはロケールグループのIDを使用できます。米国英語の場合は6、ドイツ語の場合は5などです。

ロケールIDは、ターゲット設定検索、ロケール(type=adlocale)により調べることができます。以下に例を示します。

{
  "user_groups": {
    "locale": {
      6: 0.8,
      5: 0.3
    }
  }
}

position_type

このカテゴリは、ターゲット設定APIの位置オプションによく似ています。指定可能な内訳値は次のとおりです。

配置

Facebookフィード

facebook_feed

Facebook Marketplace

facebook_marketplace

Facebook動画フィード

facebook_suggested_video

Facebook右側広告枠

facebook_right_hand_column

Facebookビジネス発見

facebook_biz_disco_feed

Instagramフィード

instagram_stream

Instagramプロフィールフィード

instagram_profile_feed

Instagram発見タブ

instagram_explore

Instagram発見ホーム

instagram_explore_home

Messenger受信箱

messenger_messenger_home

Instagramストーリーズ

instagram_story

Facebookストーリーズ

facebook_story

Messengerストーリーズ

messenger_story

Instagramリール

instagram_reels

Facebookリール

facebook_facebook_reels

Facebookインストリーム動画

facebook_instream_video

Facebookリール動画の広告

facebook_facebook_reels_overlay

Facebookの検索結果

facebook_search

Instagramの検索結果

instagram_ig_search

Messengerスポンサードメッセージ

サポートされない

Audience Networkネイティブ、バナー、インタースティシャル

audience_network_classic

Audience Network動画リワード

audience_network_rewarded_video

Audience Networkインストリーム動画

サポートされない

{
  "user_groups": {
    "position_type":{
        "facebook_feed":0.9,
        "messenger_messenger_home":0.7,
        "instagram_stream":0.8,
        "audience_network_classic":0.5,
        "default":0.4
    }
  }
}

publisher_platform

可能な内訳値は次のとおりです。

  • facebook
  • instagram
  • audience_network
  • messenger

{
  "user_groups": {
    "publisher_platform": {
      "facebook": 0.7,
      "instagram": 0.9,
      "default": 1.0 // We'll apply bid multiplier 1.0 if no default is specified anyway
    }
  }
}

travel_start_date

内訳値としては、_yyyymmdd_-_yyyymmdd_の形式の日付範囲が可能です。

curl -X POST \ 
  -F 'bid_adjustments=
     {"user_groups":{"travel_start_date":{"event_sources":["123456789"],"20180901-20181001":0.2,"default":0.9}}}' \ 
  -F 'access_token='$access_token \ 
  https://graph.facebook.com/<API_VERSION>/<ad_set_id>

旅行乗数の例も参照してください。

travel_start_day_of_week

内訳値としては、0以上6以下の整数を指定できます(0が月曜日、6が日曜日)。

curl -X POST \ 
  -F 'bid_adjustments=
  {"user_groups":{"travel_start_day_of_week":{"event_sources":        ["123456789"],"0":0.1,"2":0.2,"6":0.3,"default":0.9}}}' \ 
  -F 'access_token='$access_token \ 
  https://graph.facebook.com/<API_VERSION>/<ad_set_id>

旅行乗数の例も参照してください。

user_bucket

自分独自のユーザー分類の結果をFacebookに送信することができます。その上で、追加のuser_bucketパラメーターをピクセル起動またはアプリイベントの中に入れてFacebookに送信してください。ユーザーバケットは、0から100までの範囲の整数です。

ユーザーバケットグループ定義は、以下の形式で指定します。

  • event_sources - トラッキングするピクセルの起動またはアプリイベントのソース。
  • event_retention - 任意。古いuser_bucket値を無視する時間(秒数)。
  • events_dedup_mode - 任意。単一のイベントソースが同じユーザーについて異なる複数のuser_bucket値を送信する場合に、使用するuser_bucket値がどれかを指示するためのフラグ。デフォルト値はlatest
  • event_source_preference - 任意。複数のイベントソースが同じユーザーについて異なる複数のuser_bucket値を送信する場合に、使用するuser_bucketがどれかを指示するためのフラグ。デフォルト値はlatest

{
  "user_groups": {
   "user_bucket": {
      "event_sources": [<pixel_id>,<app_id>,...],
      "event_retention": 604800, // optional, exclude old events
      
      //optional, useful when multiple event sources have user_bucket
      "events_dedup_mode": "max"|"min"|"latest",
      
      //optional, dedup user_bucket values sent from one single event source
      "event_source_preference": "max"|"min"|"latest",
      
      "1":0.7, // these are the bid multipliers
      "2":1.0,
     }
  }
}

user_device

指定可能な内訳値は次のとおりです。

  • iPad
  • iPhone

指定できるその他の値については、ターゲット設定検索APItype=adTargetingCategoryおよびclass=user_deviceを指定してご確認ください。

{
  "user_groups": {
    "user_device": {
      "iPad": 0.7,
      "iPhone": 0.9,
      "default": 1.0
    }
  }
}

curl
  -F 'name=Test BM Adset '$(date +%s) \
  -F 'bid_amount=3000' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'optimization_goal=OFFSITE_CONVERSIONS' \
  -F 'daily_budget=15000' \
  -F 'campaign_id=23843038336220329' \
  -F 'promoted_object={"product_set_id":"267888283975766"}' \
  -F 'targeting={
     "geo_locations": {"countries":["AQ"]},
     "dynamic_audience_ids": ["23842885952670329"],
     "publisher_platforms": ["facebook"]
    }' \
  -F 'bid_adjustments={"user_groups":{"user_device": {"iPad": 0.7, "iPhone": 0.9, "default": 1.0}}}' \
  -F 'status=PAUSED' \
  -F 'access_token='$access_token \
  https://graph.facebook.com/<API_VERSION>/act_1653439931385336/adsets

curl
  -F 'name=Test BM Adset '$(date +%s) \
  -F 'bid_amount=3000' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'optimization_goal=OFFSITE_CONVERSIONS' \
  -F 'daily_budget=15000' \
  -F 'campaign_id=23843038336220329' \
  -F 'promoted_object={"product_set_id":"267888283975766"}' \
  -F 'targeting={
     "geo_locations": {"countries":["AQ"]},
     "dynamic_audience_ids": ["23842885952670329"],
     "publisher_platforms": ["facebook"]
     }' \
  -F 'bid_adjustments={"user_groups":{"user_device": {"iPad": 0.7, "iPhone": 0.9, "default": 1.0}}}' \
  -F 'status=PAUSED' \
  -F 'access_token='$access_token \
   https://graph.facebook.com/<API_VERSION>/act_1653439931385336/adsets
   {"id":"23843038339320329"}

curl
  -F 'access_token='$access_token \
  https://graph.facebook.com/VERSION/ID?fields=bid_adjustments
  {"bid_adjustments":{"user_groups":"{\"user_device\":    {\"default\":1,\"iPad\":0.7,\"iPhone\":0.9}}"},"id":"ID"}

上級者向けの例も参照してください。

user_group_weight_spec

指定可能な内訳値は次のとおりです。

  • age
  • gender
  • device_platform
  • publisher_platform
  • user_device
  • user_os

上級者向けの例も参照してください。

- user_group_weight_specはJSON構造であり、次のようになります。

{
  <BREAKDOWN_NAME>: {
    <BREAKDOWN_VALUE_1>: <WEIGHT_VALUE> OR <NESTED_USER_GROUP_WEIGHT_SPEC>,
    <BREAKDOWN_VALUE_2>: <WEIGHT_VALUE> OR <NESTED_USER_GROUP_WEIGHT_SPEC>,
    <BREAKDOWN_VALUE_3>: <WEIGHT_VALUE> OR <NESTED_USER_GROUP_WEIGHT_SPEC>,
    ...
    "default": <WEIGHT_VALUE> OR <NESTED_USER_GROUP_WEIGHT_SPEC>, // optional, if not specified, we'll use 1.0
  }
}
{
  "age": {
    "18-25": 0.7,
    "26-35": {
      "gender": {
        "male": 0.9,
        "female": 1.0
      }
    },
    "default": 0.85
  }
}

* For users between the ages of 18 and 25, we apply bid multiplier 0.7.
* For male users between the ages of 26 and 35, we apply bid multiplier 0.9.
* For female users between the ages of 26 and 35, we apply bid multiplier 1.0.
* For all other users, we apply bid multiplier 0.85.

内訳値は、年齢整数の範囲です。例えば、18-25の場合は最低年齢は18才です。範囲が重なり合ってはいけません。

{
  "user_groups": {
    "age": {
      "18-25": 0.7,
      "30-40": 1.0,
      "default": 0.3
    }
  }
}

上級者向けの例

> curl 
    -F 'bid_adjustments={"user_groups":{"user_device":{"iPad":0.3,"iPhone":{"user_os":{"Android":0.3,"iOS":{"age":{"18-35":0.3,"35-45":0.4}}}}}}}' -F access_token=$token https://graph.intern.facebook.com/v2.12/6089875504114
{"success":true}%
> curl -G 
   -d access_token=$token https://graph.intern.facebook.com/v2.12/6089875504114\?  fields\=bid_adjustments
{"bid_adjustments":{"user_groups":"{\"user_device\":{\"iPad\":0.3,\"iPhone\":{\"user_os\":{\"Android\":0.3,\"iOS\":{\"age\":{\"18-35\":0.3,\"35-45\":0.4}}}}}}"},"id":"6089875504114"}%

旅行乗数の例

curl -X POST \
  -F 'bid_adjustments={"user_groups":{"travel_start_day_of_week":{"event_sources":["1862565504034757"],"1":0.1,"3":0.1,"default":0.9}}}' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/<ADSET_ID>

  Length of Stay 'bid_adjustments={"user_groups":{"length_of_stay":{"event_sources":["1862565504034757"],"1-2":0.1,"3-7":0.2,"default":0.5}}}'
  Booking window 'bid_adjustments={"user_groups":{"booking_window":{"event_sources":["1862565504034757"],"1-2":0.1,"3-7":0.2,"default":0.5}}}'
  Travel start date: 'bid_adjustments={"user_groups":{"travel_start_date":{"event_sources":["1862565504034757"],"20180918-20190101":0.1,"default":0.5}}}'
  Day of week: 'bid_adjustments={"user_groups":{"travel_start_day_of_week":{"event_sources":["1862565504034757"],"1":0.1,"2":0.1,"0":0.2,"default":0.5}}}'

user_os

指定可能な内訳値は次のとおりです。

  • iOS
  • Windows

指定できるその他の値については、ターゲット設定検索APItype=adTargetingCategoryおよびclass=user_osを指定してご確認ください。

現在使用できる値は以下のとおりです。

  • Android
  • Windows
  • Windows Phone
  • iOS

{
  "user_groups": {
    "user_os": {
      "Android": 0.7,
      "iOS": 0.9,
      "default": 1.0
    }
  }
}

iOS14の影響

ウェブサイトコンバージョンキャンペーンの入札乗数は、iOS 14でのポリシーの変更による影響を受けますか?

はい。iOS 14の変更によりシグナル損失や属性の識別可能性の低下が発生し、その結果広告セット当たりのシグナルが減少することが予想されます。入札可能なカテゴリの大半は引き続き通常どおり機能するはずではあるものの、iOS 14.5ユーザーがターゲットの場合、最新性の乗数、カスタムオーディエンスとuser_bucketが影響を受けます。それらの乗数は、FBピクセルまたはコンバージョンAPIによって測定されるイベントに依存しているからです。その他の乗数はすべてオンサイトデータに由来するものであり、FBピクセルにもコンバージョンAPIにも依存しません。

user_recency

ユーザーにピクセル起動またはアプリイベントがあるため、ユーザーを時間別に分類します。どのイベントソースをトラッキングするかを指定し、さらに時間枠を指定する必要があります。

この例は、86400秒以内にピクセルの起動またはアプリイベントが実行されるユーザーに、入札乗数1.0を適用する方法を示しています。

{
  "user_groups": {
    "user_recency": {
      "event_sources": [<pixel_id>,<app_id>,...],
      "0-86400": 1.0,
      "86401-172800": 0.7,
      "default": 0.5
    }
  }
}

複数内訳のカスケード

浮動入札乗数をさらに細かい内訳指定に置き換えることにより、複数内訳のユーザーグループを定義することもできます。例えば、入札価格上限がUSD 5以下の広告セットの設定は、次のようになります。

  • 男性ユーザーの場合はUSD 4.5で入札
  • 18才から25才までの女性ユーザーの場合はUSD 3.5で入札
  • 26才から35才までの女性ユーザーの場合はUSD 4.0で入札
  • その他のすべてのユーザーはUSD 5.0で入札
{
  "user_groups": {
    "gender": {
      "male": 0.9,
      "female": {
        "age": {
          "18-25": 0.7,
          "26-35": 0.8
        }
      }
    }
  }
}

使用方法要件

  • 入札乗数の値の範囲は、0.09から1.0までです。

API呼び出し

取得

curl -G \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/<ADSET_ID>?fields=bid_adjustments

更新

curl \
  -F 'bid_adjustments={"user_groups":<USER_GROUP_WEIGHT_SPEC>}' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/<API_VERSION>/<PRODUCT_CATALOG_ID>/<ADSET_ID>

広告セットの入札乗数を作成または更新する

以下は、既存の広告セットを更新するサンプルAPI呼び出しです。(広告セットID、アクセストークン、イベントソース、対象とする入札乗数の値を指定する必要があります。)

curl -X POST \
  -F 'bid_adjustments={
       "user_groups": {
         "user_bucket": {
           "event_sources": [
             "<PIXEL_ID>",
             "<APP_ID>"
           ],
           "1": 0.1,
           "2": 0.2,
           "3": 0.3,
           "default": {
             "gender": {
               "male": 0.99,
               "female": 0.12
             }
           }
         }
       }
     }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/<AD_SET_ID>/

テストキャンペーンを設定する

Metaアカウントチームとの共同作業を効果測定指導で行い、コンバージョンリフトまたはA/Bテストを使用してテストキャンペーンを作成します。パフォーマンスを審査するには、3パターンのA/Bテストで以下のセルを提案します。

  • セル1 (コントロールA)、キャンペーン1 - 単一広告セット(全ターゲットユーザーに対して1回の入札)
  • セル2 (コントロールB)、キャンペーン2 - 複数の広告セット(ユーザーグループごとに1つの広告セットを作成) (ウェブサイト/モバイルカスタムオーディエンスのルールを使用してピクセル/アプリのパラメーターに基づいてセグメント化することが可能)。
  • セル3 (テスト)、キャンペーン3 - 単一広告セット(ユーザーグループごとに異なる入札乗数)。ここでユーザーグループに合わせて調整した入札が、セル2の中の対応する広告セットのための広告セットレベルの入札と同じであることを確認してください

A/Bテストを設定する

この時点で、入札乗数を使用してパフォーマンスを検証するためのA/Bテストとコントロールグループを設定する必要があります。ここでは1–2週間テストを実行します。最小予算は不要です。A/Bテストは、以下のように設定します。

  • セル1、コントロールA 1つの入札価格がある1つの広告セットが含まれていなければならず、ターゲット設定はすべてのuser_bucketに基づいたものでなければなりません。
  • セル2、コントロールBuser_bucketごとに1つの広告セットがある、複数の広告セットが含まれていなければなりません。広告セットごとに別個のuser_bucketとそれに対応する入札がターゲット設定されていなければなりません。ウェブサイトまたはモバイルのカスタムオーディエンスのルールを使用することにより、他のMetaピクセルまたはアプリイベントのパラメーターに基づいてさらに細かくオーディエンスをセグメント化することができます。ウェブサイトカスタムオーディエンスおよびモバイルアプリのカスタムオーディエンスをご覧ください。
  • セル3、テストuser_bucketごとの異なる複数の入札を決定するための、bid_adjustmentプロパティが指定された1つの広告セットが含まれます。乗数は、セル2、コントロールBの個々の広告セット入札に対応していなければなりません。

詳しくは、A/Bテストをご覧ください。

テストキャンペーンを設定する

広告キャンペーンを通常のキャンペーン同様に設定します。入札調整の設定について詳しくは、Meta担当者にお問い合わせください。

user_groupsを設定し、グループごとに異なる複数の入札乗数を設定します。グループは、年齢、性別、ユーザースコアやロイヤルティプログラムなどの特定のプロパティなど、ユーザーデータのさまざまなプロパティに基づいています。以下に例を示します。

{
   "user_bucket":{
      "business_id":253286871795863,
      "1":0.7,
      "2":1.0,
      "3":{
         "gender":{
            "male":1.0,
            "female":0.8
         }
      },
      "default": 0.9
   }
}

この例で、

  • loyalty_program値が1の人には、入札乗数0.7を適用
  • loyalty_program値が2の人には、入札乗数1.0を適用
  • loyalty_program値が3male(男性)には、入札乗数1.0を適用
  • loyalty_program値が3female(女性)には、入札乗数0.8を適用
  • loyalty_programが1、2、3以外の人には、入札乗数0.9を適用
  • その他のすべての人には、入札乗数1.0を適用

ここで、広告キャンペーンを作成することができます。

curl -X POST \
  -F 'name="My Adset with bid multiplier"' \
  -F 'campaign_id="<AD_CAMPAIGN_ID>"' \
  -F 'daily_budget=3000' \
  -F 'billing_event="IMPRESSIONS"' \
  -F 'optimization_goal="OFFSITE_CONVERSIONS"' \
  -F 'bid_amount=500' \
  -F 'bid_adjustments={
       "user_groups": {
         "gender": {
           "male": 0.8,
           "female": 1
         }
       }
     }' \
  -F 'promoted_object={
       "product_set_id": "<PRODUCT_SET_ID>",
       "custom_event_type": "ADD_TO_CART"
     }' \
  -F 'targeting={
       "facebook_positions": [
         "feed"
       ],
       "geo_locations": {
         "countries": [
           "US"
         ]
       }
     }' \
  -F 'status="PAUSED"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adsets

広告セットを作成したら、API経由でその広告セットに対するbid_adjustmentsを設定します。このパラメーターは次のようになっていなければなりません。

{
  "user_groups": {
    "user_bucket": {
      "event_sources": [<pixel_id>,<app_id>,...],
      "event_source_preference": "max"|"min"|"latest", //optional, useful when multiple event sources have user_bucket
      "events_dedup_mode": "max"|"min"|"latest", //optional, dedup user_bucket values sent from one single event source
      "event_retention": 604800, // optional, exclude old events
      "1":0.7, // these are the bid multipliers
      "2":1.0,
      "default": { // used in the case that we don't have user_bucket for that user
         gender:{ // this is a nested example, but you could just do "default": 1.0,
            "male": {
              home_location: {
                  cities: { // city id, can be found in search API, eg: search?type=adgeolocation&q=Menlo Park&limit=10
                    "2420605": 0.2,
                  },
                  regions: {
                    "3847": 0.5
                  },
                  countries: {
                    "US": 0.2
                  }
                }
              }
            },
            "female": {
              "user_recency": {
                "event_sources": [<pixel_id>,<app_id>,...],
                "0-86400": 0.5,
                "86400-172800": 0.7,
                "default": 0.2
              }
            }
         },
      },
   },
}

現在のところ、このパラメーターは検証されません。広告セットIDをMetaの担当者に送信すれば、Metaが手動でチェックします。

イベントソースごとに、そのユーザーについて最後に受け取ったuser_bucketが使用されます。しかし、複数のイベントソースが指定されていて(例: ピクセルとアプリ)、そのうちの2つ以上に独自のuser_bucketが記録されている場合、それらすべての中の最大値が採用されます。

以下は、既存の広告セットを更新するサンプル呼び出しです。広告セットID、アクセストークン、イベントソース、入札乗数の値を指定する必要があります。

curl -X POST 
  -F access_token=<access_token> \
  -F 'bid_adjustments={"user_groups": {"user_bucket": {"event_sources": [<pixel_id>,  <app_id>,...], "1": 0.1, "2": 0.2, "3": 0.3, "default": {"gender": {"male": 0.99, "female": 0.1}} }} }' \ 
  https://graph.facebook.com/<VERSION>/<ad-set-id>