Riequilibra le regole delle inserzioni relative al budget

Per creare regole di riequilibrio del budget basate sul ROI, è importante comprendere ogni singolo componente. ROI è l'acronimo di Return On Investment, ovvero ritorno sull'investimento.

In questa pagina sono illustrati i componenti della regola di riequilibrio e il modo in cui ogni parametro influisce sul funzionamento della regola.

Specifica di programmazione

Per le regole di riequilibrio, si raccomanda di utilizzare la programmazione DAILY or CUSTOM, poiché l'azione non dovrebbe essere eseguita frequentemente.

Specifica di valutazione

I criteri di valutazione funzionano armoniosamente con la rebalance_spec per determinare gli elenchi degli oggetti interessati dal riequilibrio.

Per tutti i tipi di riequilibrio, l'elenco degli oggetti che superano la valutazione è l'origine dei budget. L'elenco dei destinatari varia a seconda del tipo di riequilibrio specificato, ma per la maggior parte di essi (per esempio EVEN) i destinatari sono gli oggetti che non hanno superato la valutazione.

Ad esempio, se il criterio della regola di tipo EVEN è cost_per_mobile_app_install > 2.50, tutti i gruppi di inserzioni che hanno un costo per installazione dell'app mobile superiore a 2,50 vengono messi in pausa e i loro budget sono spostati su tutti i gruppi di inserzioni che hanno un costo per installazione dell'app mobile inferiore a o uguale a 2,50.

Specifica di esecuzione

La rebalance_spec determina esattamente come i destinatari ottengono il loro budget. Ci sono cinque parametri:

Campo Descrizione

type

Obbligatorio.

Determina come vengono assegnati i budget. Se il valore non è EVEN, è necessario anche un target_field per eseguire la classificazione.


Valori supportati:EVEN, PROPORTIONAL, NO_PAUSE_PROPORTIONAL, MATCHED_ONLY_PROPORTIONAL

target_field

Facoltativo.

Specifica la metrica di insight usata per classificare i destinatari. Obbligatorio se type non è EVEN o se nella specifica esiste anche target_count.


Valori supportati: un campo i insight come cpa o impressions

target_count

Facoltativo.

Specifica il numero (K) dei destinatari. La combinazione di questo, type e target_field determina i primi K destinatari che ricevono il budget. Questo è utile quando non si desidera spostare il budget a tutti i possibili destinatari. Se K è maggiore del numero di destinatari, la regola esegue il riequilibrio su tutti i destinatari. Se è specificato, target_field è obbligatorio.


Valori supportati: un intero positivo, come 5

is_cross_campaign

Facoltativo.

Specifica se consenti o meno di assegnare budget tra le campagne pubblicitarie. Se non è specificato o è false, spostiamo i budget solo all'interno delle campagne pubblicitarie. Se è true, valutiamo ed eseguiamo tutti i gruppi di inserzioni insieme, il che può comportare un trasferimento di budget tra le campagne pubblicitarie.


Valori supportati: un valore booleano, come true o false

is_inverse

Facoltativo.

Specifica se i destinatari debbano essere classificati dal valore più alto al più basso rispetto all'inverso dei loro valori target_field. Questo è utile se vuoi classificare i valori effettivi più bassi ai primi posti.


Valori supportati: un valore booleano, come true o false

Sfumature specifiche

Ci sono alcune sfumature specifiche riguardo a questa azione:

Budget giornalieri e totali

Se i gruppi di inserzioni da riequilibrare contengono budget giornalieri e totali, separiamo i gruppi di inserzioni in due gruppi. Ciò significa che i gruppi di inserzioni spostano i loro budget giornalieri solo ad altri gruppi di inserzioni che hanno budget giornalieri. Lo stesso succede con i budget totali.

Per i gruppi di inserzioni con budget totali, prendiamo il budget rimasto (la differenza tra budget totale e spesa totale) quando determiniamo l'importo di budget che possono assegnare. Questo garantisce che il budget totale a livello della campagna pubblicitaria sia invariato.

Tipi di rebalance_spec

Per i tipi EVEN e PROPORTIONAL, mettiamo in pausa gli oggetti abbinati (i donatori del budget con i destinatari). Quando mettiamo in pausa questi oggetti, non modifichiamo in alcun modo i loro budget, perché:

  • non dobbiamo preoccuparci della pubblicazione, visto che sono in pausa;
  • non ha senso non avere budget su alcun gruppo di inserzioni.

Ciò significa che se abiliti nuovamente il gruppo di inserzioni in seguito, questo mantiene lo stesso budget che aveva prima. Lo puoi vedere quando interagisci con l'oggetto in pausa e recuperi i suoi dati di budget.

Per il tipo NO_PAUSE_PROPORTIONAL, non mettiamo in pausa gli oggetti abbinati. Determiniamo quanto budget adeguare guardando insieme tutti gli oggetti (donatori e destinatari) e classificandone le prestazioni. Questo garantisce che il budget venga spostato solo dai donatori ai destinatari. Questa configurazione evita una situazione in cui un riequilibrio si traduce nella donazione da un gruppo di inserzioni con buone prestazioni invece che da uno con basse prestazioni semplicemente a causa del budget che dispone. Per ulteriori informazioni, consulta l'esempio seguente.

Per il tipo MATCHED_ONLY_PROPORTIONAL, guardiamo solo gli oggetti abbinati. Non li mettiamo in pausa. Li classifichiamo tra di loro e ridistribuiamo i loro budget in base alle prestazioni l'uno rispetto all'altro. Ciò significa che prendiamo il budget totale da tutti i donatori e lo condividiamo proporzionalmente con la stessa lista di donatori. Per ulteriori informazioni, consulta l'esempio seguente.

Per i tipi che terminano con PROPORTIONAL, distribuiamo più budget ai gruppi di inserzioni che ottengono risultati migliori in base al target_field definito. Ad esempio, se la metrica è reach e ho due gruppi di inserzioni destinatari che hanno 10 e 20 reach, assegniamo rispettivamente a questi gruppi di inserzioni il 33,3% e il 66,6% del budget. Se il tipo è EVEN, ognuno otterrebbe il 50%.

Flag is_inverse

Il flag is_inverse è utile per metriche come cost_per_mobile_app_install, dove un numero di metrica inferiore implica un gruppo di inserzioni con prestazioni superiori. Ciò viene sottolineato nuovamente nell'esempio qui sotto e significa che i gruppi di inserzioni con un valore inferiore ottengono una porzione più alta dell'assegnazione del budget.

Esempio

Ecco un esempio di regola di riequilibrio che:

  • mette in pausa tutti i gruppi di inserzioni con prestazioni basse nell'account pubblicitario;
  • sposta i loro budget sul resto.

Le prestazioni basse sono definite dalla presenza stabile di un cost_per_mobile_app_install elevato. Distribuiamo proporzionalmente il budget di tutti i gruppi di inserzioni con basse prestazioni ai 10 gruppi di inserzioni migliori nell'account pubblicitario. Questa regola viene eseguita ogni giorno alle 8:00, osservando i dati totali.

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

La regola:

  • mette in pausa e riequilibra in modo uniforme il budget di tutti i gruppi di inserzioni ogni giorno che hanno raggiunto un'alta percentuale delle dimensioni del pubblico;
  • ma non consente il trasferimento dei budget tra le campagne pubblicitarie.
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

Ecco un esempio in cui viene usato il tipo NO_PAUSE_PROPORTIONAL. In questo caso, il budget viene riassegnato da gruppi di inserzioni all'interno delle campagne pubblicitarie da quelli con un basso numero di visualizzazioni del video. Tuttavia, in questo caso i gruppi di inserzioni non vengono messi in pausa e vengono lasciati con un importo di budget proporzionale.

Ecco un esempio numerico di ciò che succede:

  • Supponiamo di avere i gruppi di inserzioni 1-5 con video_view di 1-5, 3000 di budget giornaliero ciascuno e la regola seguente.
  • Innanzitutto, prendiamo il budget 6000 dai gruppi di inserzioni 1 e 2 e determiniamo proporzionalmente come distribuirlo. In questo caso, ogni gruppo di inserzioni ha rapporti di 1/15 fino a 5/15.
  • Di conseguenza, i gruppi di inserzioni alla fine hanno valori rispettivamente di 400, 800, 4200, 4600 e 5000. Questo garantisce che i destinatari (gruppi di inserzioni 1, 2 e 3) aumentino sempre il loro budget.
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

Infine, di seguito è riportato un esempio in cui viene utilizzato MATCHED_ONLY_PROPORTIONAL. In questo caso, non devi preoccuparti degli oggetti senza corrispondenza. L'attenzione è sui gruppi di inserzioni che soddisfano i filtri della regola. Puoi usare lo stesso esempio sopra, ma in questo caso non c'è più bisogno di determinare le due liste in base al livello di basse prestazioni ottenuto dai gruppi di inserzioni.

Con lo stesso esempio numerico sopra, alla fine useremmo tutti i budget complessivi (15000) e li distribuiremmo proporzionalmente. Di conseguenza, i gruppi di inserzioni 1-5 alla fine avranno il budget 1000-5000.

Il principale svantaggio di questo type è che non c'è garanzia che gruppi di inserzioni con prestazioni migliori non finiscano per perdere budget, specialmente nei casi di valori di budget sbilanciati. Mantenendo invariate tutte le altre condizioni, se il gruppo di inserzioni 5 avesse iniziato con un budget di 18000, avrebbe finito per perdere un importo di budget pari a 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