ROIベースの予算リバランスルールを作成する場合、個々の構成要素について理解しておくことが重要です。ROIとは、Return On Investment (投資収益率)の略です。
このページでは、リバランスルールの各構成要素について、また各パラメーターがルールの実行方法にどう影響するかについて説明します。
ルールをリバランスするには、アクションが頻繁に発生することがないよう、DAILY
またはCUSTOM
のどちらかを使うことをおすすめします。
リバランスの影響を受けるオブジェクトのリストを決定するため、評価基準はrebalance_spec
と連携して機能します。
どのタイプのリバランスでも、評価に合格したオブジェクトのリストが予算供出元となります。配分先のリストは指定されたリバランスのタイプに応じて異なりますが、ほとんどの場合(例えばEVEN
の場合)、配分先となるのは評価に合格しなかったオブジェクトです。
例えば、タイプEVEN
のルール基準がcost_per_mobile_app_install
> 2.50
である場合、それは、モバイルアプリインストール1回あたりのコストが2.50を超える広告セットがすべて一時停止され、その予算が、モバイルアプリインストール1回あたりのコストが2.50以下のすべての広告セットに移されることになります。
rebalance_spec
は、配分先が予算を受け取る方法を正確に決定します。次の5つのパラメーターがあります。
フィールド | 説明 |
---|---|
| 必須。 予算の配分方法を決定します。値が サポートされる値: |
| 任意。 配分先のランキングに使うインサイト指標を指定します。 サポートされる値: |
| 任意。 配分先の数(K)を指定します。これと サポートされる値: 正の整数( |
| 任意。 複数広告キャンペーンを通じて予算を割り振ることを許可するかどうかを指定します。これを指定しない場合、または値が サポートされる値: ブール値( |
| 任意。 配分先のランキングを、 サポートされる値: ブール値( |
このアクションについては、次に示すような、具体的な動作についての注意点がいくつかあります。
リバランスの対象となる広告セットに1日の予算と通算予算の両方が含まれている場合、広告セットは2つに分割されます。つまり、広告セットの1日の予算の移動先は、1日の予算が設定されている他の広告セットに限られるということです。通算予算についても同じことが言えます。
通算予算の設定されている広告セットの場合、割り振り可能な予算額を決定する際に、その通算予算残高(通算予算と通算消化金額の差)が使われることになります。これにより、広告キャンペーンレベルでの合計予算が変わらないことが保証されます。
rebalance_spec
のタイプEVEN
とPROPORTIONAL
のタイプの場合、マッチするオブジェクト(予算供出元から配分先へ)が一時停止されます。これらのオブジェクトが一時停止されると、予算は全く調整されません。その理由は次のとおりです。
この場合、後で広告セットを再度有効にすると、以前と同じ予算が維持されます。これは、一時停止中のオブジェクトとやり取りして予算データを取得する際に確認できます。
NO_PAUSE_PROPORTIONAL
タイプの場合、マッチしたオブジェクトは一時停止されません。すべてのオブジェクト(供出元と配分先)を一度に表示し、そのパフォーマンスをランキングすることにより、予算をどう調整するべきかを決定します。これにより、予算が供出元から配分先に対してのみ移動されることが保証されます。このように設定すれば、リバランスの結果、どれだけの予算があるかだけに基づいて、パフォーマンスが良好な広告セットから低パフォーマンスの広告セットに予算が移動してしまうという事態を避けることができます。詳しくは、以下の例をご覧ください。
タイプがMATCHED_ONLY_PROPORTIONAL
の場合、マッチしたオブジェクトだけが確認されます。この場合も、マッチしたオブジェクトは一時停止されません。マッチしたオブジェクト間だけでランク付けし、相互のパフォーマンス比較状況に基づいて予算を再分配します。この場合、全供出元からの総予算を、同じ供出元リストに掲載されている供出元に比例配分することになります。詳しくは、以下の例をご覧ください。
末尾がPROPORTIONAL
のタイプの場合は、target_field
の定義に基づいて、パフォーマンスの高い広告セットほど配分予算が多くなるようにします。例えば、指標がreach
で、reach
がそれぞれ10と20の2つの配分先広告セットがある場合は、予算プールのうちそれぞれ33.3 %と66.6 %がそれらの広告セットに割り振られます。タイプがEVEN
の場合は、どちらも50 %になります。
is_inverse
フラグcost_per_mobile_app_install
のような指標では、is_inverse
フラグが便利です。このフラグでは、指標の数値が低いほうが広告セットのパフォーマンスが高いことを意味します。以下の例ではこの点が改めて強調されており、該当する値が低い広告セットほど配分予算が高くなります。
この例では、次のようなリバランスルールが設定されています。
ここでは、cost_per_mobile_app_install
の値が一定して高いものが低パフォーマンスであると定義しています。すべての低パフォーマンスの広告セットから、広告アカウントの上位10件の広告セットに対して、比例配分によって予算を割り振ります。このルールは毎日午前8時に、通算データを確認しつつ実行されます。
curl \ -F 'name=Test Rebalance Rule' \ -F 'schedule_spec={ "schedule_type": "CUSTOM", "schedule": [ { "start_minute": 480 } ] }' \ -F 'evaluation_spec={ "evaluation_type": "SCHEDULE", "filters": [ { "field": "entity_type", "value": "ADSET", "operator": "EQUAL" }, { "field": "time_preset", "value": "LIFETIME", "operator": "EQUAL" }, { "field": "mobile_app_install", "value": 100, "operator": "GREATER_THAN" }, { "field": "cost_per_mobile_app_install", "value": 3.0, "operator": "GREATER_THAN" } ] }' \ -F 'execution_spec={ "execution_type": "REBALANCE_BUDGET", "execution_options": [ { "field": "rebalance_spec", "value": { "type": "INVERSE_PROPORTIONAL", "target_field": "cost_per_mobile_app_install", "target_count": 10, "is_cross_campaign": true }, "operator": "EQUAL" }, ] }' \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library
ルールは次のとおりです。
curl \ -F 'name=Test Rebalance Rule' \ -F 'schedule_spec={ "schedule_type": "DAILY" }' \ -F 'evaluation_spec={ "evaluation_type": "SCHEDULE", "filters": [ { "field": "entity_type", "value": "ADSET", "operator": "EQUAL" }, { "field": "time_preset", "value": "LIFETIME", "operator": "EQUAL" }, { "field": "impressions", "value": 8000, "operator": "GREATER_THAN" }, { "field": "audience_reached_percentage", "value": 70, "operator": "GREATER_THAN" } ] }' \ -F 'execution_spec={ "execution_type": "REBALANCE_BUDGET", "execution_options": [ { "field": "rebalance_spec", "value": { "type": "EVEN" }, "operator": "EQUAL" }, ] }' \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library
以下に示すのは、NO_PAUSE_PROPORTIONAL
タイプを活用する例です。この場合、広告キャンペーン内の広告セットのうち動画再生回数が少ないものから予算が再割り振りされます。しかしこの場合、広告セットは一時停止されず、比例予算額のままになります。
数値としては、例えば次のようになります。
video_view
が1-5
の広告セット1-5
があり、それぞれの1日の予算は3000
、ルールは下記のとおりであるとします。 1
と2
の予算6000
を移動対象とし、その配分方法を比例により決定します。この場合、各広告セットの割合は1/15
から5/15
までです。 400
、800
、4200
、4600
、5000
となります。これにより、配分先(広告セット1
、2
、3
)の予算は常に増加することが保証されます。curl \ -F 'name=Test Rebalance Rule' \ -F 'schedule_spec={ "schedule_type": "DAILY" }' \ -F 'evaluation_spec={ "evaluation_type": "SCHEDULE", "filters": [ { "field": "entity_type", "value": "ADSET", "operator": "EQUAL" }, { "field": "time_preset", "value": "LIFETIME", "operator": "EQUAL" }, { "field": "video_view", "value": 3, "operator": "LESS_THAN" }, ] }' \ -F 'execution_spec={ "execution_type": "REBALANCE_BUDGET", "execution_options": [ { "field": "rebalance_spec", "value": { "type": "NO_PAUSE_PROPORTIONAL", "target_field": "video_view" }, "operator": "EQUAL" }, ] }' \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library
最後に、MATCHED_ONLY_PROPORTIONAL
の活用例を示します。この場合、マッチしないオブジェクトを考慮する必要はありません。対象となるのは、ルールのフィルターを満たす広告セットです。上記と同じ例を使うことができますが、今回は、広告セットのパフォーマンスの低さに基づいて2つのリストを決定する必要はありません。
上記と同じ数値の例を使用すると、プール内の全予算(15000
)を使い、それを比例配分することになります。その結果、広告セット1-5
の予算はそれぞれ1000-5000
になります。
このtype
での主なデメリットは、高パフォーマンス広告セットの予算が減額されないことが必ずしも保証されないという点です。予算値のバランスが悪い場合には特にその点が問題になります。他の条件がすべて同じなら、広告セット5
の初期予算が18000
だとすると、その予算は8000
ほど減額されることになります。
curl \ -F 'name=Test Rebalance Rule' \ -F 'schedule_spec={ "schedule_type": "DAILY" }' \ -F 'evaluation_spec={ "evaluation_type": "SCHEDULE", "filters": [ { "field": "entity_type", "value": "ADSET", "operator": "EQUAL" }, { "field": "time_preset", "value": "LIFETIME", "operator": "EQUAL" }, ] }' \ -F 'execution_spec={ "execution_type": "REBALANCE_BUDGET", "execution_options": [ { "field": "rebalance_spec", "value": { "type": "MATCHED_ONLY_PROPORTIONAL", "target_field": "video_view" }, "operator": "EQUAL" }, ] }' \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library