Monitora lo stato delle tue inserzioni in tempo reale. Una regola basata sull'attivazione viene valutata non appena i metadati o gli insight degli oggetti pubblicitari pertinenti vengono modificati. La latenza per le modifiche dei metadati è solitamente di pochi secondi e la latenza per le modifiche degli insight è solitamente di pochi minuti (il p99 attuale è di circa 7,5 minuti).
Per le regole basate sull'attivazione, schedule_spec
non è supportato, poiché sono sempre controllate in tempo reale.
Al momento le regole basate sull'attivazione sono disponibili solo nell'API, non sono accessibili tramite Gestione inserzioni.
L'oggetto trigger
definisce come viene valutata una regola. Tutti i tipi di attivazione richiedono un field
di attivazione, ad eccezione di METADATA_CREATION
. Una regola basata sull'attivazione controlla le sue condizioni solo quando questo campo viene modificato.
Una regola basata sull'attivazione può avere solo un trigger
. Se hai condizioni o limitazioni su più metriche, puoi aggiungere quelle rimanenti come filters
.
Il campo filters
viene usato nello stesso modo in cui viene usato nelle regole basate sulla programmazione. Una regola basata sull'attivazione supera la valutazione quando il trigger
e tutti i filters
soddisfano i confronti. Quindi un'attivazione e un filtro sono intercambiabili se la modifica di un campo porta alla modifica dell'altro. Ad esempio, se vuoi che una regola si attivi quando cost_per_mobile_app_install
> X
E spent
> Y
, puoi usare cost_per_mobile_app_install
o spent
come attivazione e l'altro come uno dei filtri, perché questi due campi sono dipendenti l'uno dall'altro.
L'oggetto trigger
appartiene a evaluation_spec
e segue la struttura seguente:
Chiavi oggetti di attivazione | Descrizione |
---|---|
| Il tipo di regola basata sull'attivazione. Le opzioni attualmente supportate sono:
|
| Il campo sottostante. Non in uso per |
| Il valore del filtro sottostante. Non in uso per |
| L'operatore del filtro sottostante. Non in uso per |
Puoi creare regole dell'inserzione attivate in quattro modi diversi:
METADATA_CREATION
o METADATA_UPDATE
STATS_MILESTONE
o STATS_CHANGE
Questa regola viene usata per monitorare quando viene creato un oggetto pubblicitario. Nella specifica trigger
è richiesto solo type
. Per i filtri, specifica l'entity_type
che desideri monitorare.
Ecco un esempio di una regola per la creazione di metadati per monitorare la creazione di tutte le inserzioni che rientrano in un determinato obiettivo. Ogni volta che viene creata una nuova inserzione in una campagna pubblicitaria con obiettivo APP_INSTALLS
, viene inviato un ping.
curl -i -X POST \ -F 'name=Metadata Creation Example 1' \ -F 'evaluation_spec={ "evaluation_type" : "TRIGGER", "trigger" : { "type": "METADATA_CREATION", }, "filters" : [ { "field": "entity_type", "value": "AD", "operator": "EQUAL", }, { "field": "campaign.objective", "value": ["APP_INSTALLS"], "operator": "IN", }, ] }' \ -F 'execution_spec={ "execution_type": "PING_ENDPOINT" }' \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library"
Questa regola viene usata per monitorare quando vengono modificati i metadati di un oggetto pubblicitario. Consulta la lista di campi dei metadati supportati. Nella specifica trigger
, field
è obbligatorio, mentre value
e operator
sono facoltativi.
Se ti interessa la modifica di un campo, qualunque sia il suo valore, devi specificare solo l'opzione field
. Ecco un esempio per la ricezione di una notifica Facebook ogni volta che il budget giornaliero di un gruppo di inserzioni viene modificato.
curl -i -X POST \ -F 'name=Metadata Update Example 1' \ -F 'evaluation_spec={ "evaluation_type" : "TRIGGER", "trigger" : { "type": "METADATA_UPDATE", "field": "daily_budget", }, "filters" : [ { "field": "entity_type", "value": "ADSET", "operator": "EQUAL", }, ] }' \ -F 'execution_spec={ "execution_type": "NOTIFICATION" }' \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library"
Se ti interessa solo un sottoinsieme di eventi, puoi fornire le opzioni operator
e value
per perfezionare la condizione trigger
. Ecco un esempio per ricevere una notifica quando il budget giornaliero di un gruppo di inserzioni viene modificato e supera 1000:
curl -i -X POST \ -F 'name=Metadata Update Example 2' \ -F 'evaluation_spec={ "evaluation_type" : "TRIGGER", "trigger" : { "type": "METADATA_UPDATE", "field": "daily_budget", "value": 1000, "operator": "GREATER_THAN" }, "filters" : [ { "field": "entity_type", "value": "ADSET", "operator": "EQUAL", }, ] }' \ -F 'execution_spec={ "execution_type": "PING_ENDPOINT" }' \ -F "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library"
Con STATS_MILESTONE
come type
, evaluation_spec
si attiva quando field
raggiunge un multiplo del value
per gli oggetti corrispondenti alle condizioni nell'array filters
.
Per questo tipo specifico di regola, l'operator
di attivazione deve essere EQUAL
e il filtro time_preset
deve avere il valore di LIFETIME
.
Esiste un insieme più restrittivo di campi supportati. Qualsiasi campo non elencato sotto non è supportato come field
di attivazione, ma può essere comunque utilizzato come filtro nella lista di filters
. Inoltre, ci sono valori minimi obbligatori per il value
di attivazione in base al field
.
Valori dei campi di attivazione supportati | Valore minimo |
---|---|
| 1000 |
| 1000 |
| 1000 |
| 10 |
| 10 |
| 1000 (centesimi) |
| 5 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
Ecco un esempio di regola di obiettivo delle statistiche, che invia un ping ogni volta che qualcuno commenta il tuo post:
curl \ -F 'name=Rule 1' \ -F 'evaluation_spec={ "evaluation_type" : "TRIGGER", "trigger" : { "type": "STATS_MILESTONE", "field": "post_comment", "value": 1, "operator": "EQUAL" }, "filters" : [ { "field": "entity_type", "value": "CAMPAIGN", "operator": "EQUAL", }, { "field": "time_preset", "value": "LIFETIME", "operator": "EQUAL", }, ] }' \ -F 'execution_spec={ "execution_type": "PING_ENDPOINT" }' \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library
Quando usi STATS_CHANGE
come type
di attivazione, execution_spec
viene attivata quando l'AND
logico dell'attivazione e tutti i filtri sono valutati da false
a true
in un dato time_preset
.
Se sono true anche le valutazioni successive dell'AND
logico, l'execution_spec
non viene eseguita. Tuttavia, se la valutazione dell'AND
logico cambia da true
a false
, l'execution_spec
viene eseguita quando torna a true
.
Per questo tipo specifico di regola, l'operator
di attivazione può essere GREATER_THAN
, LESS_THAN
, IN_RANGE
o NOT_IN_RANGE
.
Di seguito è riportato un esempio di regola di modifica delle statistiche. Ogni volta che un'inserzione ha raggiunto più di 5000 persone e supera 10 $ per acquisto negli ultimi 3 giorni, mettila in pausa.
curl \ -F 'name=Rule 1' \ -F 'evaluation_spec={ "evaluation_type" : "TRIGGER", "trigger" : { "type": "STATS_CHANGE", "field": "cost_per_purchase_fb", "value": 1000, "operator": "GREATER_THAN", }, "filters" : [ { "field": "entity_type", "value": "AD", "operator": "EQUAL" }, { "field": "time_preset", "value": "LAST_3_DAYS", "operator": "EQUAL" }, { "field": "reach", "value": 5000, "operator": "GREATER_THAN" } ] }' \ -F 'execution_spec={ "execution_type": "PAUSE" }' \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library
Quando usi DELIVERY_INSIGHTS_CHANGE
come type
di attivazione, la regola viene attivata quando tutti i filtri definiti in evaluation_spec
vengono valutati come true
e l'attivazione definita in evaluation_spec
cambia da false
a true
.
Nelle valutazioni successive, se i filtri e l'attivazione continuano a essere valutati come true
, la regola non viene attivata di nuovo.
Per usare il tipo di esecuzione PING_ENDPOINT
, devi configurare un'iscrizione per la tua app tramite webhook. Configura un URL di callback, un'app Facebook e webhook per ricevere notifiche dall'API Rules:
Consulta la Guida ai webhook e crea un URL di callback che possa gestire la challenge e la response durante la verifica. L'URL di callback gestisce la struttura dei dati inviata quando viene attivata una regola:
{ object: 'application', entry: [{ id: '<APPLICATION_ID>', time: 1468938744, changes: [{ field: 'ads_rules_engine', value: { 'rule_id': 1234, 'object_id': 5678, 'object_type': 'ADSET', 'trigger_type': 'STATS_CHANGE', 'trigger_field': 'COST_PER_LINK_CLICK', 'current_value': '15.8', } }], }], }
Il campo current_value
è una stringa con codifica JSON. Il suo valore può essere una stringa tra virgolette doppie, un numero o un array e inizia con [
(parentesi di apertura) e finisce con ]
(parentesi di chiusura).
ads_rules_engine
alla tua appQuando l'URL di callback gestisce la challenge e la response per la verifica, registralo nella tua app quando viene attivata una regola:
ad_rules_engine
.In alternativa, questa operazione può essere eseguita tramite l'API Graph, utilizzando un token d'accesso dell'app e non un token d'accesso dell'utente:
curl \ -F "object=application" \ -F "callback_url=<CALLBACK_URL>" \ -F "fields=ads_rules_engine" \ -F "verify_token=<VERIFY_TOKEN>" \ -F "access_token=<APP_ACCESS_TOKEN>" \ "https://graph.facebook.com/<VERSION>/<APP_ID>/subscriptions"
Consulta il riferimento alle iscrizioni per dettagli su APP_ID/subscriptions
.