スケジュールベースのルール

設定された間隔で広告をチェックして、evaluation_specの条件を満たしているかどうかを確認することによって、広告の状態をモニタリングします。スケジュールベースのルールの場合、追加でschedule_specが必要になります。

curl \
-F 'name=Rule 1' \
-F 'evaluation_spec={
    ...
   }' \
-F 'execution_spec={
    ...
   }' \
-F 'schedule_spec={
     "schedule_type": "DAILY"
   }' \

-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

スケジュールの設定

ルールのschedule_specは、実行する頻度を決定します。この間隔はschedule_typeフィールドに記録されます。

スケジュールのタイプ 説明

DAILY

広告アカウントのタイムゾーンで深夜0時にルールを実行します。

HOURLY

毎正時にルールを実行します。

SEMI_HOURLY

正時から30分ごとにルールを実行します。

CUSTOM ()

カスタマイズされたスケジュールでルールを実行します。

schedule_typeCUSTOMの場合、カスタムスケジュールのリストまたはルール実行のタイミングも指定する必要があります。

scheduleリスト内の個々の設定は、それぞれ以下のフィールドの組み合わせによって構成することができます。唯一の要件は、どの項目にもstart_minutedaysのどちらかが存在しなければならないという点です。

フィールド 説明

start_minute

午前0時からの経過分数。30分の倍数でなければなりません。これが設定されていて、end_minuteが存在しない場合、これによりルール実行の正確な時刻が決定されます。それ以外の場合は、end_minuteを使ってルール実行の時刻範囲が決定されます。これが設定されていない場合、ルールはdays日間、SEMI_HOURLYで実行されます。

end_minute

午前0時からの経過分数。start_minuteより後の時間を30分の倍数で設定します。これを設定する場合は、start_minuteを使ってルール実行の時刻範囲が決定されます。end_minutestart_minuteと同じ場合、ルール実行の正確な時刻も決定されます。

days

ルールを実行する日のリスト。どの日も0-6の範囲の値でなければなりません。0は日曜日、1は月曜日、以降同様で、6が土曜日です。これが設定されていない場合、ルールはすべての曜日に、start_minute、および(存在する場合は)end_minuteに基づいて実行されます。

スケジュールタイプCUSTOMの使い方について詳しくは、高度なスケジューリングをご覧ください。

evaluation_specの例を以下に示します。このルールは、IDの初期リストに含まれるオブジェクトのうち、過去7日間にインプレッションが10000を超えたすべてのものに適用されます。この場合、初期オブジェクトの静的リストがプレフィックスなしのentity_typeフィルターを使って定義されているため、idフィルターは不要です。

curl \
-F 'name=Rule 1' \
-F 'schedule_spec={
    ...
   }' \
-F 'evaluation_spec={
      "evaluation_type" : "SCHEDULE",
      "filters" : [
       {
         "field": "time_preset",
         "value": "LAST_7_DAYS",
         "operator": "EQUAL"
       },
       {
         "field": "effective_status",
         "value": ["ACTIVE"],
         "operator": "IN"
       },
       {
         "field": "id",
         "value": [101, 102, 103],
         "operator": "IN"
       },
       {
         "field": "impressions",
         "value": 10000,
         "operator": "GREATER_THAN"
       }
     ]
   }' \
-F 'execution_spec={
    ...
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

以下にもう1つの例を示します。このルールは、IDが101, 102, 103の広告キャンペーンに含まれるすべての広告セットのうち、通算予算だけを使っており、かつ作成からの経過時間が48時間未満であるものに適用されます。この場合、インサイトフィルターがないため、time_presetフィルターは不要です。

curl \
-F 'name=Rule 1' \
-F 'schedule_spec={
    ...
   }' \
-F 'evaluation_spec={
      "evaluation_type" : "SCHEDULE",
      "filters" : [
       {
         "field": "entity_type",
         "value": "ADSET",
         "operator": "EQUAL"
       },
       {
         "field": "campaign.id",
         "value": [101, 102, 103],
         "operator": "IN"
       },
       {
         "field": "budget_reset_period",
         "value": ["LIFETIME"],
         "operator": "IN"
       },
       {
         "field": "hours_since_creation",
         "value": 48,
         "operator": "LESS_THAN"
       },
     ]
   }' \
-F 'execution_spec={
    ...
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

execution_specの例を以下に示します。このルールでは、マッチするすべてのオブジェクトの予算を10 %増やし、実行回数は5回を上限としています。つまり、マッチする可能性のあるすべてのオブジェクトについて、予算増額は10 %だけであり、5回が上限となるということです。

curl \
-F 'name=Rule 1' \
-F 'schedule_spec={
    ...
   }' \
-F 'evaluation_spec={
    ...
   }' \
-F 'execution_spec={
     "execution_type": "CHANGE_BUDGET",
     "execution_options": [
       {
         "field": "change_spec",
         "value": {
           "amount": 10,
           "unit": "PERCENTAGE"
         },
         "operator": "EQUAL"
       },
       {
         "field": "execution_count_limit",
         "value": 5,
         "operator": "EQUAL"
       }
     ]
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

以下にもう1つの例を示します。このルールは、マッチするすべてのオブジェクトを一時停止し、ユーザーリストに宛てて電子メールを送信します。

curl \
-F 'name=Rule 1' \
-F 'schedule_spec={
    ...
   }' \
-F 'evaluation_spec={
    ...
   }' \
-F 'execution_spec={
     "execution_type": "PAUSE",
     "execution_options": [
       {
         "field": "user_ids",
         "value": [1001, 1002],
         "operator": "EQUAL"
       }
     ]
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library