Regole basate sulla programmazione

Monitora lo stato delle tue inserzioni controllandole a un intervallo stabilito per verificare se soddisfano i criteri evaluation_spec. Per le regole basate sulla programmazione, è necessaria una schedule_spec aggiuntiva.

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

Specifica di programmazione

La schedule_spec di una regola determina la frequenza con cui desideri che venga eseguita. Indichiamo questo intervallo nel campo schedule_type.

Tipo di programmazione Descrizione

DAILY

Esegui la regola a mezzanotte nel fuso orario dell'account pubblicitario.

HOURLY

Esegui la regola all'inizio di ogni ora.

SEMI_HOURLY

Esegui la regola all'inizio di ogni mezz'ora.

CUSTOM (Esempio)

Esegui la regola sulla base di programmazioni personalizzate.

Se schedule_type è CUSTOM, devi specificare anche la lista delle programmazioni personalizzate o gli orari in cui la regola deve essere eseguita.

Nella lista schedule, ogni singola specifica può essere composta da una combinazione dei seguenti campi. L'unico requisito è che in ogni voce deve essere presente almeno uno tra start_minute e days.

Campo Descrizione

start_minute

Ora in minuti dopo le ore 00:00. Deve essere un multiplo di 30 minuti. Se questo valore è impostato e non è indicato end_minute, il valore determina l'ora esatta in cui eseguire la regola. Altrimenti, utilizza end_minute per determinare l'intervallo di tempo per eseguire la regola. Se questo valore non è impostato, la regola viene eseguita SEMI_HOURLY per ogni giorno in days.

end_minute

Ora in minuti dopo le ore 00:00. Deve essere un multiplo di 30 minuti e successivo a start_minute. Se questo valore è impostato, utilizza start_minute per determinare l'intervallo di tempo per eseguire la regola. Se end_minute coincide con start_minute, questo valore determina anche l'ora esatta in cui eseguire la regola.

days

Lista di giorni in cui eseguire la regola. Ogni giorno deve essere un valore compreso nell'intervallo 0-6. 0 è domenica, 1 è lunedì e così via, fino a 6, che indica il sabato. Se questo valore non è impostato, la regola viene eseguita in tutti e 7 i giorni in base al valore indicato per start_minute e, se presente, end_minute.

Per maggiori informazioni su come usare i tipi di programmazione CUSTOM, consulta Programmazione avanzata.

Ecco un esempio di una evaluation_spec. Questa regola si applica a tutti gli oggetti della lista iniziale di ID che, negli ultimi 7 giorni, hanno avuto più di 10000 impression. In questo caso, non abbiamo bisogno del filtro entity_type, poiché abbiamo definito una lista statica di oggetti iniziali utilizzando un filtro id senza prefisso.

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

Ecco un altro esempio. Questa regola si applica a tutti i gruppi di inserzioni nelle campagne pubblicitarie con ID 101, 102, 103 che usano solo budget totali e che sono state create per meno di 48 ore. In questo caso, non abbiamo bisogno di un filtro time_preset poiché non ci sono filtri Insight.

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

Ecco un esempio di una execution_spec. Questa regola aumenta il budget di tutti gli oggetti corrispondenti del 10%, con un limite massimo di esecuzione di 5 volte. Ciò significa che, per ogni oggetto che potrebbe essere potenzialmente abbinato, può individualmente avere un aumento del budget del 10% al massimo per cinque volte.

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

Ecco un altro esempio. Questa regola mette in pausa tutti gli oggetti corrispondenti e invia un'e-mail a una lista di utenti.

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