Especificación de evaluación

El objetivo principal del parámetro evaluation_spec de una regla es determinar los objetos en los que la regla debe ejecutar su acción. El valor de evaluation_type determina el tipo de método de evaluación y tiene las siguientes opciones:

Tipo de evaluación Descripción

SCHEDULE

Para reglas basadas en programaciones.

TRIGGER

Para reglas basadas en activadores.

evaluation_spec contiene una matriz filters que te permite limitar aún más la lista de objetos coincidentes. Por ejemplo, puedes crear filtros en metadatos de anuncios, conjuntos de anuncios y campañas publicitarias y métricas de insights. Todos los filtros se evalúan en conjunto con el operador AND.

La matriz filters contiene una lista de objetos de filtro. Estos objetos son diccionarios con claves de field, value y operator:

Claves de objetos de filtro Descripción

field

Obligatoria.

Campo de filtro, como metadatos o datos de insights.

value

Obligatoria.

Valor de filtro estático para el campo.

operator

Obligatoria.

Operador lógico para el campo.

Cada filtro tiene una lista de operadores lógicos admitidos. A continuación se indican los operadores lógicos admitidos en las reglas SCHEDULE y TRIGGER:

Operador lógico Valor (ejemplo)

GREATER_THAN

Numérico (100)

LESS_THAN

Numérico (100)

EQUAL

Numérico (100)

NOT_EQUAL

Numérico (100)

IN_RANGE

Tupla ([100, 200])

NOT_IN_RANGE

Tupla ([100, 200])

IN

Lista (["1", "2", "3"])

NOT_IN

Lista (["1", "2", "3"])

CONTAIN

Cadena ("ABC")

NOT_CONTAIN

Cadena ("ABC")

ANY

Lista ([1, 2, 3])

ALL

Lista ([1, 2, 3])

NONE

Lista ([1, 2, 3])

evaluation_spec requiere un objeto trigger para el tipo de evaluación TRIGGER. El activador contiene un tipo y una especificación de filtro subyacente. La especificación de filtro puede ser field, value y operator.

El activador determina de forma dinámica si debemos evaluar una regla y solo puedes tener uno. Consulta Reglas basadas en activadores para obtener más información.

A continuación definimos algunos filtros especiales y grupos generales de filtros que puedes usar.

Filtros especiales

time_preset

El filtro time_preset determina el periodo de tiempo durante el que agregamos las métricas de insights. En este momento solo permitimos un filtro time_preset. Se aplica a todos los filtros de estadísticas de la regla, incluido el utilizado para el activador, si está presente.

El único operador admitido para time_preset es EQUAL y es obligatorio siempre que haya un activador o un filtro de insights. Las reglas basadas en activadores solo admiten valores predefinidos de tiempo que incluyan TODAY, ya que lleva a cabo una evaluación en tiempo real.

Los valores predefinidos de tiempo para las reglas pueden comportarse de manera diferente a otras interfaces. Algunos de estos valores predefinidos de tiempo incluyen los datos de hoy. Esto se debe a que los datos de hoy son fundamentales para las reglas que se ejecutan con más frecuencia que cada día. En el caso de otras interfaces, el valor predefinido LAST_N_DAYS no suele incluir los datos de hoy. Consulta las descripciones siguientes para obtener más información.

{
  "field": "time_preset",
  "value": "TODAY",
  "operator": "EQUAL"
}
Valores predefinidos de tiempo Descripción

LIFETIME

Total del objeto.

TODAY

Día actual a partir de medianoche en la zona horaria de la cuenta publicitaria.

LAST_2_DAYS

YESTERDAY y TODAY.

LAST_3_DAYS

Últimos dos días completos y TODAY.

LAST_7_DAYS

Últimos seis días completos y TODAY.

LAST_14_DAYS

Últimos 13 días completos y TODAY.

LAST_28_DAYS

Últimos 27 días completos y TODAY.

LAST_30_DAYS

Últimos 29 días completos y TODAY.

THIS_MONTH

Este mes, TODAY incluido.

THIS_WEEK_MON_TODAY

Esta semana con el lunes como primer día de la semana, TODAY incluido.

THIS_WEEK_SUN_TODAY

Esta semana con el domingo como primer día de la semana, TODAY incluido.

YESTERDAY

Día anterior completo, TODAY excluido.

LAST_2D

Últimos dos días completos, TODAY excluido.

LAST_3D

Últimos tres días completos, TODAY excluido.

LAST_7D

Últimos siete días completos, TODAY excluido.

LAST_14D

Últimos 14 días completos, TODAY excluido.

LAST_28D

Últimos 28 días completos, TODAY excluido.

LAST_30D

Últimos 30 días completos, TODAY excluido.

LAST_ND_14_8

De los últimos 14 días a los últimos siete días, para ROAS.

LAST_ND_30_8

De los últimos 30 días a los últimos siete días, para ROAS.

LAST_ND_60_8

De los últimos 60 días a los últimos siete días, para ROAS.

LAST_ND_120_8

De los últimos 120 días a los últimos siete días, para ROAS.

LAST_ND_180_8

De los últimos 180 días a los últimos siete días, para ROAS.

LAST_ND_LIFETIME_8

Total hasta los últimos siete días, para ROAS.

LAST_ND_60_29

De los últimos 60 días a los últimos 28 días, para ROAS.

LAST_ND_120_29

De los últimos 120 días a los últimos 28 días, para ROAS.

LAST_ND_180_29

De los últimos 180 días a los últimos 28 días, para ROAS.

LAST_ND_LIFETIME_29

Total hasta los últimos 28 días, para ROAS.

attribution_window

El filtro attribution_window determina el periodo retrospectivo durante el que se agregan las métricas de insights. Para obtener más información, consulta la documentación de insights en Intervalos de atribución.

En este momento solo permitimos un filtro attribution_window y se aplica a todos los filtros de estadísticas de la regla. El único operador admitido para attribution_window es EQUAL y solo lo admiten las reglas basadas en programaciones.

Tanto si se especifica como si no, el único valor permitido de value para attribution_window es ACCOUNT_DEFAULT.

{
  "field": "attribution_window",
  "value": "ACCOUNT_DEFAULT",
  "operator": "EQUAL"
}
Valores del intervalo de atribución Descripción

ACCOUNT_DEFAULT

Usa la configuración del intervalo de atribución de nivel de cuenta.

Filtros de metadatos

Con los filtros de metadatos, puedes filtrar los objetos en función del estado actual de sus campos de metadatos. También admiten la filtración de varios niveles, lo que significa que puedes usar prefijos para aplicar un filtro de metadatos en los elementos principales o los ascendientes de los principales de un objeto. Esto no afecta a otros filtros. Los filtros de insights se siguen aplicando al objeto normal.

Todos los filtros de metadatos se admiten para las reglas programadas, pero solo se admite un subconjunto para las reglas de activación.

Por ejemplo, si quieres una regla que se aplique a conjuntos de anuncios de campañas publicitarias cuyo objetivo sea WEBSITE_CLICKS, puedes incluir dos filtros:

 "filters" : [
  {
    "field": "entity_type",
    "value": "ADSET",
    "operator": "EQUAL",
  },
  {
    "field": "campaign.objective",
    "value": "WEBSITE_CLICKS",
    "operator": "EQUAL"
  }
]

Filtros de metadatos que admiten las reglas basadas en activadores y programaciones

Campo de metadatosDescripción

id*

Objetos estáticos específicos para los que se aplica la regla.


Prefijos admitidos: anuncio, conjunto de anuncios, campaña publicitaria


Valores admitidos:int, array(int)


Operadores admitidos:EQUAL, IN, NOT_IN

entity_type*

Nivel del objeto para el que se aplica la regla.


Prefijos admitidos: ninguno


Valores admitidos:AD, ADSET, CAMPAIGN


Operadores admitidos:EQUAL

name

Nombre del objeto, por coincidencia parcial o completa.


Prefijos admitidos: anuncio, conjunto de anuncios, campaña publicitaria


Valores admitidos:string


Operadores admitidos:EQUAL, CONTAIN, NOT_CONTAIN

adlabel_ids

Identificadores de etiquetas de anuncios del objeto.


Prefijos admitidos: anuncio, conjunto de anuncios, campaña publicitaria


Valores admitidos:array(int)


Operadores admitidos:ANY, ALL, NONE

objective

Objetivo de la campaña publicitaria del objeto.


Prefijos admitidos: campaña publicitaria


Valores admitidos:array(APP_INSTALLS, BRAND_AWARENESS, CONVERSIONS, EVENT_RESPONSES, LINK_CLICKS, ...)


Operadores admitidos:IN, NOT_IN

start_time

Hora de inicio del objeto en formato Unix.


Prefijos admitidos: conjunto de anuncios, campaña publicitaria


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

stop_time

Hora de finalización del objeto en formato Unix.


Prefijos admitidos: conjunto de anuncios, campaña publicitaria


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN

buying_type

Tipo de compra de la campaña publicitaria del objeto.


Prefijos admitidos: campaña publicitaria


Valores admitidos:array(AUCTION, FIXED_CPM, RESERVED)


Operadores admitidos:IN, NOT_IN

billing_event

Evento de facturación del conjunto de anuncios del objeto.


Prefijos admitidos: conjunto de anuncios


Valores admitidos:array(APP_INSTALLS, LINK_CLICKS, IMPRESSIONS, ...)


Operadores admitidos:IN, NOT_IN

optimization_goal

Objetivo de optimización del conjunto de anuncios del objeto.


Prefijos admitidos: conjunto de anuncios


Valores admitidos:array(APP_INSTALLS, LINK_CLICKS, IMPRESSIONS, ...)


Operadores admitidos:IN, NOT_IN

is_autobid

Estado de la puja automática del conjunto de anuncios del objeto.


Prefijos admitidos: conjunto de anuncios


Valores admitidos:array(bool)


Operadores admitidos:IN, NOT_IN

daily_budget

Presupuesto diario del conjunto de anuncios del objeto.


Prefijos admitidos: conjunto de anuncios


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

lifetime_budget

Presupuesto total del conjunto de anuncios del objeto.


Prefijos admitidos: conjunto de anuncios


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

spend_cap

Límite de gasto de la campaña publicitaria del objeto.


Prefijos admitidos: campaña publicitaria


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

bid_amount

Importe de la puja del objeto.


Prefijos admitidos: anuncio, conjunto de anuncios


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

created_time

Hora de creación del objeto en formato Unix.


Prefijos admitidos: anuncio, conjunto de anuncios, campaña publicitaria


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

updated_time

Hora de actualización del objeto en formato Unix.


Prefijos admitidos: anuncio, conjunto de anuncios, campaña publicitaria


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

Filtros de metadatos que solo admiten las reglas basadas en programaciones

Campo de metadatosDescripción

effective_status**

Estado efectivo del objeto.


Prefijos admitidos: anuncio, conjunto de anuncios, campaña publicitaria


Valores admitidos:array(ACTIVE, PAUSED, ADSET_PAUSED, CAMPAIGN_PAUSED, PENDING_REVIEW, ARCHIVED, DELETED, DISAPPROVED, PREAPPROVED, PENDING_BILLING_INFO)


Operadores admitidos:IN, NOT_IN

placement.page_types

Tipos de páginas para la ubicación del conjunto de anuncios del objeto.


Prefijos admitidos: conjunto de anuncios


Valores admitidos:array(DESKTOPFEED, HOME, INSTAGRAMSTREAM, INSTAGRAMSTORY, ...)


Operadores admitidos:ANY, ALL, NONE

budget_reset_period

Periodo de restablecimiento del presupuesto del conjunto de anuncios del objeto.


Prefijos admitidos: conjunto de anuncios


Valores admitidos:array(DAY, LIFETIME)


Operadores admitidos:IN, NOT_IN

hours_since_creation

Horas transcurridas desde created_time del objeto.


Prefijos admitidos: anuncio, conjunto de anuncios, campaña publicitaria


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

estimated_budget_spending_percentage

Porcentaje del presupuesto del conjunto de anuncios que se estima haber gastado al final de su programación. Usa el mismo mecanismo que la función Reequilibrio del presupuesto de los conjuntos de anuncios y funciona con cualquier tipo de presupuesto, aunque requiere diez horas de entrega al día.


Prefijos admitidos: conjunto de anuncios


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

audience_reached_percentage

Porcentaje estimado del alcance del conjunto de anuncios respecto al tamaño de su audiencia.


Prefijos admitidos: conjunto de anuncios


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

active_time

Segundos transcurridos desde que el objeto tenía el estado efectivo ACTIVE. Si actualmente el estado del objeto no es ACTIVE, devuelve 0.


Prefijos admitidos: anuncio, conjunto de anuncios, campaña publicitaria


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

current_time

Hora actual en formato Unix.


Prefijos admitidos: ninguno


Valores admitidos:int


Operadores admitidos:GREATER_THAN, LESS_THAN, IN_RANGE, NOT_IN_RANGE

entity_type y id

Para cada regla de tipo de evaluación SCHEDULE o TRIGGER, debes especificar un filtro entity_type o id.

Cuando especificas un filtro entity_type, determinas un nivel de objeto dinámico para el que aplicar la regla. Por ejemplo, si el valor de entity_type es AD, esa regla evalúa automáticamente los nuevos anuncios que se añadan a la cuenta publicitaria. Esto sucede independientemente del momento en el que crees la regla. Al especificar un filtro id, la regla solo se aplica a una lista estática de objetos.

Al especificar un filtro idsin prefijo, calculamos automáticamente el nivel del objeto para el que aplicar la regla. Por ejemplo, si quieres aplicar una regla a los anuncios [123, 456], solo necesitas un campo de filtro id, el valor [123, 456] y el operador IN. En este caso, no se necesita entity_type, ya que nos ha proporcionado una lista estática inicial de objetos y podemos calcular el nivel del objeto a partir de esos objetos.

Puedes usar entity_type y id junto con la filtración de varios niveles. Por ejemplo, si quieres una regla que se aplique a todos los anuncios de algunos conjuntos de anuncios especificados, puedes tener un filtro entity_type de AD y un filtro adset.id con los conjuntos de anuncio especificados.

De forma predeterminada, si no especificas un filtro effective_status, añadimos implícitamente un filtro effective_status al evaluar la regla.

En el caso de todos los tipos de ejecución que actúan sobre objetos activos, este filtro predeterminado tiene el operador IN y el valor ['ACTIVE', 'PENDING_REVIEW']. Esto significa que la regla solo evalúa los objetos que tienen o tendrán entrega activa. En el caso de los tipos de ejecución que no actúan sobre objetos activos (UNPAUSE), añadimos este filtro con el operador NOT_IN y el valor ['DELETED', 'ARCHIVED']. El filtro predeterminado es una optimización interna para nuestros tipos de ejecución.

Filtros de insights

Evaluamos los filtros de insights respecto a los valores actuales devueltos de la API de insights para un filtro time_preset determinado. Estos filtros se aplican directamente a la lista o al nivel de objetos y no admiten la filtración de varios niveles. Todos los filtros de insights admiten los siguientes operadores: GREATER_THAN, LESS_THAN, EQUAL, IN_RANGE y NOT_IN_RANGE.

Las unidades representadas aquí se fundamentan en la base de la divisa en la API de marketing. Por ejemplo, en el caso de USD, la unidad base es el centavo, lo que significa que un valor de 1000 de gasto es equivalente a 10,00 USD.

Consulta una descripción de cada uno de los campos siguientes en los documentos de la API de insights. Las reglas basadas en programaciones admiten todos estos filtros.

A continuación se incluye una lista de filtros de insights y se indica si las reglas basadas en activadores los admiten:

Campo de insights ¿Está permitido en el caso de las reglas basadas en activadores?

mobile_app_purchase_roas (Ejemplo)

No

website_purchase_roas (Ejemplo)

No

impressions

unique_impressions

clicks

unique_clicks

spent

results

cost_per

cpc

cpm

ctr

cpa

cpp

reach

frequency

leadgen

link_ctr

cost_per_unique_click

result_rate

mobile_app_install

cost_per_mobile_app_install

app_custom_event

app_custom_event.fb_mobile_achievement_unlocked

app_custom_event.fb_mobile_activate_app

app_custom_event.fb_mobile_add_payment_info

app_custom_event.fb_mobile_add_to_cart

app_custom_event.fb_mobile_add_to_wishlist

app_custom_event.fb_mobile_complete_registration

app_custom_event.fb_mobile_content_view

app_custom_event.fb_mobile_initiated_checkout

app_custom_event.fb_mobile_level_achieved

app_custom_event.fb_mobile_purchase

app_custom_event.fb_mobile_rate

app_custom_event.fb_mobile_search

app_custom_event.fb_mobile_spent_credits

app_custom_event.fb_mobile_tutorial_completion

app_custom_event.other

cost_per_mobile_achievement_unlocked

cost_per_mobile_activate_app

cost_per_mobile_add_payment_info

cost_per_mobile_add_to_cart

cost_per_mobile_add_to_wishlist

cost_per_mobile_complete_registration

cost_per_mobile_content_view

cost_per_mobile_initiated_checkout

cost_per_mobile_level_achieved

cost_per_mobile_purchase

cost_per_mobile_rate

cost_per_mobile_search

cost_per_mobile_spent_credits

cost_per_mobile_tutorial_completion

offline_conversion

No

offline_conversion.add_payment_info

No

offline_conversion.add_to_cart

No

offline_conversion.add_to_wishlist

No

offline_conversion.complete_registration

No

offline_conversion.initiate_checkout

No

offline_conversion.lead

No

offline_conversion.other

No

offline_conversion.purchase

No

offline_conversion.search

No

offline_conversion.view_content

No

cost_per_offline_conversion

No

cost_per_offline_other

No

offsite_conversion

offsite_conversion.fb_pixel_add_payment_info

offsite_conversion.fb_pixel_add_to_cart

offsite_conversion.fb_pixel_add_to_wishlist

offsite_conversion.fb_pixel_complete_registration

offsite_conversion.fb_pixel_initiate_checkout

offsite_conversion.fb_pixel_lead

offsite_conversion.fb_pixel_purchase

offsite_conversion.fb_pixel_search

offsite_conversion.fb_pixel_view_content

offsite_conversion.fb_pixel_other

cost_per_add_payment_info_fb

cost_per_add_to_cart_fb

cost_per_add_to_wishlist_fb

cost_per_complete_registration_fb

cost_per_initiate_checkout_fb

cost_per_lead_fb

cost_per_purchase_fb

cost_per_search_fb

cost_per_view_content_fb

link_click

cost_per_link_click

like

offsite_engagement

post

post_comment

post_engagement

cost_per_post_engagement

No

post_like

post_reaction

view_content

video_play

vote

unique_clicks

No

reach

No

lifetime_impressions

No

lifetime_spent

No

today_spent

No

yesterday_spent

No

Filtros avanzados

Puedes personalizar y derivar campos avanzados según los filtros de insights y metadatos anteriores. Para obtener más información, consulta Filtros avanzados de la especificación de evaluación.

Los filtros avanzados admiten los siguientes operadores: GREATER_THAN, LESS_THAN, EQUAL, IN_RANGE y NOT_IN_RANGE. Solo los admiten las reglas basadas en programaciones.

En el caso de algunos de los filtros avanzados más usados, admitidos un alias como filtro:

Alias de campo avanzado Derivado de

daily_ratio_spent

today_spent / adset.daily_budget

lifetime_ratio_spent

lifetime_spent / adset.lifetime_budget