Especificación de los cambios de reglas de anuncios

En esta página, se analiza change_spec en más detalle, específicamente, cómo construir la opción de ejecución y cómo utilizar las funciones más avanzadas.

change_spec se utiliza para tipos de ejecución, como CHANGE_BUDGET y CHANGE_BID, y contiene los siguientes parámetros: amount, limit, unit y target_field.

Campo Descripción

amount

Obligatorio.

Determina el importe para cambiar el presupuesto o la puja. Los valores de otros parámetros en change_spec determinan exactamente cómo se utiliza este importe.


Valores admitidos: un valor numérico, como 3000 o -50

limit

Opcional.

Establece el importe máximo o mínimo del presupuesto o la puja. Por ejemplo, si el presupuesto o la puja se van a aumentar, este número actúa como límite superior. Si target_field está presente, especifica un rango de valores entre el límite inferior y el límite superior.


Valores admitidos: divisa, como 5000 para representar USD 50, o para target_field, un rango de divisas, como [4000, 6000] para representar de USD 40 a USD 60

unit

Obligatorio, a menos que target_field esté presente.

Establece la unidad del valor amount. Por ejemplo, si la unidad es PERCENTAGE, un amount de -50 significa -50%.


Valores admitidos:ACCOUNT_CURRENCY o PERCENTAGE

target_field

Opcional.

Especifica si se deben aumentar los presupuestos o las pujas por según un valor objetivo. Si está presente, amount es el valor objetivo del campo de destino. El presupuesto o la puja aumentan o disminuyen proporcionalmente, según si el valor actual del conjunto de anuncios del campo de destino es más alto o más bajo que el valor de amount.


Valores admitidos: un campo de Insights, como cost_per_mobile_app_install o mobile_app_purchase_roas

Ejemplos

El siguiente es un ejemplo de una regla CHANGE_BUDGET que reduce los presupuestos en un 30% para todos los conjuntos de anuncios con bajo rendimiento, donde bajo rendimiento se define como tener una duración larga como valor de frequency. Esta regla solo se ejecuta a medianoche los martes y viernes.

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

Aquí hay otro ejemplo, donde la puja se ajusta diariamente en función de un valor objetivo de cost_per_mobile_app_install del conjunto de anuncios 123.

También agregamos un filtro de rangos en cost_per_mobile_app_install para agregar un período de tolerancia del 10%. Gracias a eso, no se realizan cambios proporcionales menores si el valor actual está lo suficientemente cerca del valor objetivo.

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

Por ejemplo, si el valor actual es 4.0, la puja se incrementa en un 25%, ya que es la diferencia proporcional entre el valor objetivo de 5.0 y el valor actual.

El límite impide que la puja aumente por encima de 10.0 y disminuya por debajo de 2.0.