Spécification de modification des règles publicitaires

Cette page présente la change_spec de manière plus détaillée ; elle explique notamment comment créer l'option d'exécution et comment utiliser les fonctionnalités les plus avancées.

La change_spec est utilisée pour des types d'exécution tels que CHANGE_BUDGET et CHANGE_BID et contient les paramètres suivants : amount, limit, unit, target_field.

Champ Description

amount

Obligatoire.

Détermine le montant de la modification du budget ou de l’enchère. Les valeurs des autres paramètres de la change_spec déterminent exactement comment ce montant est utilisé.


Valeurs prises en charge : valeur numérique, telle que 3000 ou -50

limit

Facultatif.

Spécifie le budget maximum ou minimum ou le montant de l'enchère. Par exemple, si le budget ou l’enchère augmente, ce nombre fait office de limite supérieure. Si le target_field est présent, c’est une plage allant de la limite inférieure à la limite supérieure des valeurs qui est spécifiée.


Valeurs prises en charge : devise, telle que 5000 pour représenter 50 €, ou pour target_field, une plage de devises telle que [4000, 6000] pour représenter 40 à 60 €.

unit

Obligatoire sauf si le target_field est présent.

Spécifie l’unité de la valeur amount. Par exemple, si l’unité est PERCENTAGE, un amount de -50 correspond à -50%.


Valeurs prises en charge :ACCOUNT_CURRENCY ou PERCENTAGE

target_field

Facultatif.

Spécifie s'il faut ou non échelonner les budgets ou les enchères en fonction d'une valeur cible. S’il est présent, le amount correspond à la valeur cible du champ cible. Le budget ou l'enchère augmente ou diminue proportionnellement, selon que la valeur actuelle de l'ensemble de publicités pour le champ cible est inférieure ou supérieure au amount.


Valeurs prises en charge : champ Insights, tel que cost_per_mobile_app_install ou mobile_app_purchase_roas

Exemples

Voici un exemple de règle CHANGE_BUDGET qui réduit les budgets de 30 % pour tous les ensembles de publicités sous-performants, où nous définissons la sous-performance comme ayant une frequency globale élevée et stable. Cette règle ne s'applique qu'à minuit les mardis et vendredis.

curl \
-F 'name=Test Change Budget Rule' \
-F 'schedule_spec={
     "schedule_type": "CUSTOM",
     "schedule": [
       {
          "start_minute": 0,
         "days": [2, 5]
       }
     ]
   }' \
-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": "frequency",
         "value": 5.0,
         "operator": "GREATER_THAN"
       }
     ]
   }' \
-F 'execution_spec={
     "execution_type": "CHANGE_BUDGET",
     "execution_options": [
       {
         "field": "change_spec",
         "value": {
           "amount": -30,
           "unit": "PERCENTAGE"
         },
         "operator": "EQUAL"
       },
     ]
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

Voici un autre exemple, où l'enchère est échelonnée quotidiennement en fonction d'une valeur cible cost_per_mobile_app_install pour l'ensemble de publicités 123.

Nous ajoutons également un filtre de plage pour cost_per_mobile_app_install afin d’introduire une fenêtre de tolérance de 10 %. En faisant cela, les changements proportionnels mineurs ne sont pas effectués, si la valeur actuelle est suffisamment proche de la valeur cible.

curl \
-F 'name=Test Change Bid Rule' \
-F 'schedule_spec={
     "schedule_type": "DAILY"
   }' \
-F 'evaluation_spec={
     "evaluation_type": "SCHEDULE",
     "filters": [
       {
         "field": "id",
         "value": [123],
         "operator": "IN"
       },
       {
         "field": "time_preset",
         "value": "LIFETIME",
         "operator": "EQUAL"
       },
       {
         "field": "mobile_app_install",
         "value": 100,
         "operator": "GREATER_THAN"
       },
       {
         "field": "cost_per_mobile_app_install",
         "value": [4.5, 5.5],
         "operator": "NOT_IN_RANGE"
       }
     ]
   }' \
-F 'execution_spec={
     "execution_type": "CHANGE_BID",
     "execution_options": [
       {
         "field": "change_spec",
         "value": {
           "amount": 5.0,
           "limit": [2.0, 10.0],
           "target_field": "cost_per_mobile_app_install"
         },
         "operator": "EQUAL"
       },
     ]
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

Par exemple, si la valeur actuelle est 4.0, l'enchère augmente de 25%, puisque cela correspond à la différence proportionnelle entre la valeur cible de 5.0 et la valeur actuelle.

La limite empêche l’enchère d’augmenter au-delà de 10.0 et de baisser sous 2.0.