Compartir a través de


División del servicio

Advertencia

La segment[]condición ya no se usa y ha quedado en desuso el 21 de agosto de 2022. Al configurar la selección de destino para nuevos elementos de línea, use Grupo de segmentos (segment_group). en lugar de.

El servicio Splits crea y modifica las divisiones programables para los elementos de línea aumentadas. Cuando se crea un elemento de línea, se especifica el inventario al que quiere dirigirse, el presupuesto que desea gastar durante el vuelo, cómo desea realizar un seguimiento de los ingresos y cómo usar la optimización de Xandr. Las divisiones programables pueden dirigirse aún más a subconjuntos de ese inventario total, asignar el presupuesto especificado a distintos destinos, establecer criterios de puja y distribuir creatividades. La selección de destino en el elemento de línea actúa como filtro; las impresiones deben coincidir con los criterios especificados por el elemento de línea antes de pasarse a divisiones. Para obtener más información sobre cómo funcionan las divisiones, consulte Descripción de las divisiones en la documentación de la interfaz de usuario.

El servicio Splits permite especificar:

  • Condiciones de destino
  • Reglas de pujas
  • Asignación presupuestaria
  • Qué creatividades están asociadas a una división.

Nota:

Actualmente no se admite el uso de divisiones con modelos personalizados. Recibirá un error si intenta crear o modificar divisiones en un elemento de línea que tenga un modelo personalizado asociado.

API de REST

El servicio Splits funciona de forma un poco diferente de la mayoría de los otros servicios de API de Xandr. De forma predeterminada, el servicio divisor de presupuesto (splits) crea o modifica todas las divisiones del elemento de línea al mismo tiempo en lugar de crear o modificar una sola división. En lugar de crear una sola división, el servicio crea un budget-splitter objeto (una matriz) asociado al elemento de línea. La budget-splitter matriz contiene dos o más divisiones y debe cumplir los siguientes requisitos:

  • La suma de la asignación presupuestaria para todas las divisiones de una partida de línea siempre debe ser igual a 100. Esto garantiza que todas las impresiones de un elemento de línea se contabilizan mediante al menos una división.
  • A cada división se le debe asignar una prioridad, que determina la división a la que se asignará una impresión entrante si la impresión cumple los requisitos de selección de destino para más de una división. No se puede usar la misma prioridad para más de una división.
  • Una división debe definirse como la división predeterminada. Esta es la división de reserva a la que se asignarán las impresiones si no cumplen las condiciones de cualquiera de las otras divisiones. La división predeterminada se conoce como "Resto de elemento de línea" en la interfaz de usuario.
  • La división predeterminada debe tener el nombre "Default" o "default" y aparecer como la última división que aparece en la budget-splitter matriz. No se le puede asignar ninguna condición ni asignar una estrategia de asignación limitada (restringida), porque está pensada como reserva en caso de que no se apliquen otras condiciones. Sin embargo, puede asignar el 0 % del presupuesto a la división predeterminada, lo que significa que nunca servirá.
  • La división predeterminada solo puede tener un modificador de puja de "1" o null.
  • A la división predeterminada se le debe asignar un pedido, pero independientemente del orden que se asigne, se priorizará por última vez.

El POST método no se admite para el servicio Split.

Para modificar una división individual, debe usar el PATCH método como se describe en los ejemplos siguientes.

Nota:

No se puede usar el método para modificar la PATCH asignación dividida. Dado que la suma de la asignación presupuestaria para todas las divisiones de una posición de línea debe ser igual a 100, no es válido cambiar la asignación en una división sin cambiar la asignación en al menos otra división.

A diferencia de otros servicios de LA API de Xandr, el JSON de la budget-splitters matriz no aparece dentro de un contenedor denominado después del objeto . Aparece simplemente como una matriz sin nombre. Por ejemplo, este es el archivo JSON para crear una budget-splitters matriz con tres divisiones:

Ejemplo de objeto divisor de presupuesto

[
    {
        "active": true,
        "allocation_percent": 40,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "conditions": [
            {
                "field": "browser",
                "operator": "in",
                "value": [
                    8
                ]
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": 2,
        "is_default": false,
        "name": "Split 1",
        "order": 1
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "conditions": [
            {
                "field": "segment_group",
                "operator": "and",
                "value": [
                            [
                                {
                                "segment_id": 275913,
                                "start_minutes": 0,
                                "expire_minutes": 1440
                                }
                            ]
                         ]    
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": 1,
        "is_default": false,
        "name": "Split 2",
        "order": 2
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "expected_value": 0.5,
        "is_default": true,
        "name": "Default",
        "order": 3
    }
Http (método) Endpoint Description
PUT https://api.appnexus.com/budget-splitter/LINE-ITEM-ID/splits
(JSON de divisor de presupuesto)
Agregue divisiones a un elemento de línea que no tenga ninguno.
GET https://api.appnexus.com/budget-splitter/LINE-ITEM-ID/splits Ver todas las divisiones de un elemento de línea.
PUT https://api.appnexus.com/budget-splitter/LINE-ITEM-ID/splits
(JSON de divisor de presupuesto)
Actualice todas las divisiones de un elemento de línea.
DELETE https://api.appnexus.com/budget-splitter/LINE-ITEM-ID/splits Elimine todas las divisiones de un elemento de línea. Esto eliminará todas las divisiones del elemento de línea de forma permanente. La información del tráfico de divisiones pasadas seguirá apareciendo en los informes.
PATCH https://api.appnexus.com/budget-splitter/LINE-ITEM-ID/splits
(JSON de actualización dividida)

El identificador de división debe aparecer en el JSON de actualización dividida.
Modifique una sola división.

Campos JSON

Campo Tipo Description
id Entero Identificador de la división.
Ejemplo: "id":21197314

Valor predeterminado: número generado automáticamente.
Obligatorio en: PUT//PATCHDELETE, en JSON.
name string (255) Nombre que asigna la división.
Ejemplo: "name":"Split 123"

Nota: La división predeterminada debe tener el nombre "Default" o "default".
is_default booleano Especifica si se trata de la división predeterminada, que se usa cuando una impresión no cumple los requisitos de selección de destino de otras divisiones. Cada elemento de línea debe tener una y solo una división predeterminada. La división predeterminada debe tener el nombre "Default" o "default" y no puede tener ninguna condición. Valores posibles: "true" y "false".
Ejemplo: "is_default":true
conditions matriz Condiciones de destino para la división. Una condición se especifica mediante una matriz que contiene un campo, un operador y un valor.
Ejemplo:
"conditions":[{"field":"city","operator":"in","value":[196646]}]

Consulte Condiciones a continuación para obtener más información.
active booleano Especifica el estado de una división. Los valores posibles son "true" o "false".
Ejemplo:
"active":true
order Entero Prioridad de esta división en la budget_splitters matriz. En la interfaz de usuario, este campo se conoce como "Priority".
Si una impresión cumple los requisitos de selección de destino para varias divisiones, la prioridad determina la división a la que se asignará la impresión. Por ejemplo, supongamos que la división A (prioridad 1) tiene como destino "domain=cnn.com" y la división B (prioridad 2) tiene como destino "city=Boston"y que hay una impresión disponible de un usuario de Boston que visita cnn.com. La impresión se asignará a la división A porque tiene una prioridad mayor que la división B.

No se puede establecer la misma prioridad para varias divisiones.

El orden puede comenzar en cualquier valor, siempre y cuando los valores sean secuenciales. Por ejemplo, el orden de tres divisiones puede ser 0, 12 o 4, 5, 6.
Ejemplo: "order":1
allocation_percent Entero Porcentaje del presupuesto de partidas de línea asignado a esta división. La asignación de cada división debe estar entre 0 y 100. La suma de los porcentajes de asignación de todas las divisiones de una posición de línea debe ser igual 100a .
Ejemplo: "allocation_percent":30
allocation_strategy enumeración Especifica cómo controlar los conflictos entre el objetivo de asignación dividida y el objetivo de entrega de elementos de línea. Los posibles valores son:
- "unconstrained" - La entrega de artículos de línea tiene prioridad sobre la asignación. Cuando un elemento de línea con divisiones descomprimidos no se entrega, se permite que las divisiones descomprimidos superen el objetivo de asignación para alcanzar el objetivo de entrega de artículos de línea. En la interfaz de usuario, este estado se denomina "descomprimido".
- "constrained" - La asignación se prioriza sobre la entrega. Incluso cuando los artículos de línea están en desuso, no se permite que las divisiones limitadas superen el objetivo de asignación para ayudar a que el elemento de línea alcance su objetivo de entrega. Esto evitará el sobresanamiento en una división, pero puede hacer que el elemento de línea no se haya entregado. En la interfaz de usuario, este estado se denomina "limitado".
Para obtener más información, consulte Descripción de las divisiones en la documentación de la interfaz de usuario.
Ejemplo:
"allocation_strategy":"unconstrained"

Valor predeterminado: "unconstrained"
bid_modifier float Número usado para modificar la oferta de esta división. Un modificador de puja solo se puede aplicar a una división cuando el tipo de ingresos reservados del elemento de línea es CPM y la optimización no está habilitada. El valor del modificador de puja se multiplicará por los ingresos reservados de CPM para servir como el CPM máximo que la división puede pujar.
Ejemplo: "bid_modifier":1.25

Nota:
- La división predeterminada solo puede tener un modificador de puja de "1" o null. A las divisiones inactivas se les debe asignar un modificador de puja de "0".
- GDALI bid_modifier no usa el campo.
expected_value float Valor esperado de la impresión de esta división. Se debe incluir un valor esperado para cada división cuando el tipo de ingresos reservados del artículo de línea es cost plus o dCPM y la optimización no está habilitada. El valor esperado actúa como el CPM máximo que la división puede pujar.
Ejemplo: "expected_value":10.50

Nota: GDALI no usa el expected_value campo.
creatives matriz Opcional. Los identificadores de los creativos que se van a servir en esta división.
Ejemplo:
"creatives":[{"creative_id":123},{"creative_id":456}]
creative_macros matriz de cadenas Opcional. Cualquier macros creativas que se agreguen a la creatividad servida.
Para obtener más información, consulte Creative Macro Check Service.

Nota: GDALI no usa el creative_macros campo.
user_test_group_percent Entero Opcional. Tiene como destino distintos grupos de usuarios por división para las pruebas A/B.

Nota:
Cuando la división Resto de artículos de línea se establece en o tiene una asignación presupuestaria superior al "active" 0 %, el resto del elemento de línea siempre incluirá el grupo restante de usuarios que no tienen como destino las otras divisiones. Además, la división Resto del elemento de línea siempre incluirá usuarios sin cookies.

Si no desea atender a los usuarios sin cookies:
- Si usa asignaciones, en la división predeterminada, establezca en allocation_percent"0".
- Si no usa asignaciones, en la división predeterminada, establezca en active"false".

Condiciones

Una condición se especifica mediante una matriz que contiene un campo, un operador y un valor. Por ejemplo, para crear una condición que tenga como destino las impresiones de la Estados Unidos, la condición es:

"conditions": [
  {
    "field": "country",
    "operator": "=",
    "value": [
      233
    ]
  }
]

Categorías personalizadas

Evalúe las impresiones en función de categorías personalizadas específicas presentes.

Campo Operador Valor
content_category =, in, not_in Identificador de categoría personalizado. Use el servicio categoría de contenido para recuperar identificadores de categoría personalizados.

Advertencia: Las categorías personalizadas solo deben tener como destino el inventario administrado.

Clave-valor

Evalúe las impresiones en función de valores clave específicos presentes.

Campo Operador Valor
key_group and, or Matriz de condiciones anidada que especifica grupos de claves. Cada matriz de grupos de claves incluye identificadores de clave, acciones ("include" o "exclude") y valores:

Advertencia: Los valores de clave solo deben tener como destino el inventario administrado.

- key_id : el identificador de la clave. Use el servicio de clave de destino para recuperar los identificadores de clave.
- action : puede ser "include" o "exclude".
- value_equals es una matriz de identificadores de valor que deben coincidir en la subasta para que la división sea apta para servir. Use el servicio de clave de destino para recuperar identificadores de valor. Cuando se pasa un valor, esa combinación clave-valor debe estar presente en la solicitud para que la división sea apta para servir. Cuando se definen varios valores en la matriz, una de las combinaciones clave-valor debe estar presente.
- value_less es el extremo superior del intervalo de valores permitidos, exclusivo.
- value_greater es el extremo inferior del intervalo de valores permitidos, exclusivo. Los valores de clave se pueden pasar en la solicitud de impresión. Consulte Etiqueta de vendedor de Xandr (AST) para obtener más información.

El siguiente ejemplo de Key-Value (consulte JSON a continuación) se evalúa como

[ [include Key ID 123: value ID: [1 OR 2 OR 9] ] AND [exclude Key ID 234: value ID: [20] ] ] OR [include Key ID 789: value ID: [15] ]

{
   "conditions": [{
      "field": "key_group",
      "operator": "or",
      "value": [
         [{
               "key_id": 123,
               "action": "include",
               "value_equals": [1, 2, 9]
            },
            {
               "key_id": 234,
               "action": "exclude",
               "value_equals": [20]
            }
         ],
         [{
            "key_id": 789,
            "action": "include",
            "value_equals": [15]
         }]
      ]
   }]
}

País

Evalúe las impresiones en función del país del usuario.

Campo Operador Valor
country =, in, not_in Id. de país o código, como 233 o "US". Use el Servicio de país para recuperar estos identificadores o códigos.

Región

Evalúe las impresiones en función de la región geográfica del usuario.

Campo Operador Valor
region =, in, not_in Id. de región o combinación de código de país o región, como "US:NY".
Use el Servicio de región para recuperar estos identificadores y códigos.

Ciudad

Evalúe las impresiones en función de la ciudad del usuario.

Campo Operador Valor
city =, in, not_in Id. de ciudad o combinación de código de país, región o ciudad, como "US:NY:New York".
Use city service para recuperar estos identificadores y códigos.

DMA

Evalúe las impresiones en función de la DMA del usuario (área de mercado designada).

Campo Operador Valor
dma =, in, not_in DMA ID, como 602 (para el área metropolitana de Chicago).
Use city service para recuperar identificadores DMA.

Código postal

Evalúe las impresiones en función del código postal del usuario. El código postal solo está disponible para algunas impresiones y impresiones móviles de proveedores externos.

Campo Operador Valor
postal_code =, in, not_in Id. de código postal (un entero) o combinación de país o código postal (una cadena como "CA:J0K 1B0" o "US:10010"). Incluye códigos postales de EE. UU.

Use el Servicio de código postal (documentado en el servicio de perfil) para recuperar los identificadores de código postal.

Lista de códigos postales

Evalúe las impresiones en función de los códigos postales del usuario en la lista de códigos postales.

Campo Operador Valor
postal_code_list in, not_in Id. de lista de códigos postales (un entero).

Use el Servicio de lista de códigos postales (documentado en Servicio de lista de códigos postales) para recuperar los identificadores de lista de códigos postales.

Size

Evalúe las impresiones en función del tamaño de la ubicación. Tenga en cuenta que, en caso promo_sizes de que se pasen en la llamada al anuncio, la evaluación se realizará solo con el tamaño principal.

Campo Operador Valor
size =, in, not_in Cadena que representa las dimensiones de ubicación, con "WIDTHxHEIGHT"el formato .

Id. de dirección URL de inventario

Evalúe las impresiones en función de identificadores de dirección URL de inventario específicos.

Nota:

No es compatible con GDALI.

Campo Operador Valor
inventory_url_id =, in, not_in Id. de dirección URL de inventario.
Use Validate Inventory Item Service para recuperar estos identificadores.

Dominio

Evaluar las impresiones en función del dominio.

Nota:

  • No es compatible con GDALI.
  • Esta característica no se admite en Microsoft Invest. Si también va a usar la interfaz de usuario para administrar las divisiones, use la característica Id. de dirección URL de inventario (dentro de este servicio) en su lugar.
Campo Operador Valor
domain =, in, not_in Cadena que representa un nombre de dominio de nivel superior, como "food.com" o "books".

Aplicación para móviles

Evalúe las impresiones en función de aplicaciones móviles específicas.

Nota:

No es compatible con GDALI.

Campo Operador Valor
mobile_app_bundle =, in, not_in Id. o nombres de aplicación móvil.

Use Mobile App Service para recuperar estos identificadores o nombres.

Ubicación

Evalúe las impresiones en función de ubicaciones específicas.

Campo Operador Valor
placement =, in, not_in Identificador de ubicación.

El identificador de ubicación aparece como tag_id en los datos de nivel de registro.

Publisher

Evalúe las impresiones en función de publicadores específicos.

Campo Operador Valor
publisher =, in, not_in Id. del publicador.

Sugerencia:
El identificador del publicador aparece como publisher_id en los datos de nivel de registro.

Miembro del vendedor

Evalúe las impresiones en función de los miembros del vendedor específicos.

Nota:

No es compatible con GDALI.

Campo Operador Valor
seller_member_id =, in, not_in Id. de miembro del vendedor.

Identificador de la oferta

Inventario de la oferta de destino.

Nota:

No es compatible con GDALI.

Campo Operador Valor
deal_id =, in, not_in Identificador de la oferta.

Identificador de lista de ofertas

Inventario de lista de ofertas de destino.

Nota:

No es compatible con GDALI.

Campo Operador Valor
deal_list in, not_in Id. de lista de ofertas.

Familia de sistemas operativos

Evalúe las impresiones en función del sistema operativo del usuario.

Campo Operador Valor
os_family =, in, not_in Identificador o nombre de familia del sistema operativo, como 2 o "Android".

Use el servicio de familia del sistema operativo para recuperar estos identificadores y nombres.

Versión del sistema operativo

Evalúe las impresiones en función de la versión específica del sistema operativo del usuario.

Campo Operador Valor
os_extended =, in, not_in Identificador extendido del sistema operativo, como 81 para "10.8 Mountain Lion".
Use el servicio extendido del sistema operativo para recuperar estos identificadores.

Nota:
El identificador del sistema operativo aparece como operating_system en los datos de nivel de registro.

Explorador

Evalúe las impresiones en función del explorador del usuario.

Campo Operador Valor
browser =, in, not_in Id. o nombre del explorador, como 8 o "Chrome (all versions)".

Use el servicio Browser para recuperar estos identificadores y nombres.

Idioma del explorador

Evalúe las impresiones en función del idioma del explorador.

Campo Operador Valor
language =, in, not_in Id. de idioma.

Use language service para recuperar estos identificadores.

Tipo de dispositivo

Evalúe las impresiones en función de tipos específicos de dispositivos físicos.

Campo Operador Valor
device_type =, in, not_in Nombre del tipo de dispositivo. Posibles valores:
- "pc & other devices" - Use este valor para dirigirse a equipos de escritorio y portátiles.
- "phone" - Use este valor para dirigirse a teléfonos móviles.
- "tablet" - Use este valor para dirigirse a tabletas móviles.

Modelo del dispositivo

Evalúe las impresiones en función de modelos específicos de dispositivos físicos.

Campo Operador Valor
device_model =, in, not_in Id. de modelo de dispositivo.
Use device model service para recuperar estos identificadores.

El identificador del modelo de dispositivo aparece como device_id en los datos de nivel de registro.

Portador

Evalúe las impresiones en función de operadores móviles específicos.

Campo Operador Valor
carrier =, in, not_in Id. o nombre del operador de telefonía móvil, como 14 o "Verizon".

Use el Servicio de operador para recuperar estos identificadores y nombres.

Tasa de visualización de IAB prevista

Anteriormente conocido como "Tasa de visualización estimada de IAB". Evalúe las impresiones de visualización web según la probabilidad de que se midan como visibles por el estándar de IAB, según lo determinado por la Guía de optimización (disponible en la documentación de la interfaz de usuario).

Nota:

No es compatible con GDALI.

Campo Operador Valor
predicted_iab_view_rate <, <=, =, >, >= Número decimal entre 0 y 1, que representa un porcentaje.

Velocidad de visualización de vídeo de IAB prevista

Evalúe las impresiones de vídeo web según la probabilidad de que se midan como visibles por el estándar IAB, según lo determinado por la Guía de optimización (disponible en la documentación de la interfaz de usuario).

Nota:

No es compatible con GDALI.

Campo Operador Valor
predicted_iab_video_view_rate <, <=, =, >, >= Número decimal entre 0 y 1, que representa un porcentaje.

Tasa de finalización de vídeo prevista

Evalúe las impresiones de vídeo web según la probabilidad de que se completen, según lo determinado por la Guía de optimización (disponible en la documentación de la interfaz de usuario).

Nota:

No es compatible con GDALI.

Campo Operador Valor
estimated_video_completion_rate <, <=, =, >, >= Número decimal entre 0 y 1, que representa un porcentaje. 0 representa el inventario que no es de vídeo.

Creatividad

Los creativos que se van a servir en esta división.

Campo Operador Valor
creative in Lista de identificadores creativos.

Use Creative Service para recuperar estos identificadores.

Grupo de segmentos

Campo Operador Valor
segment_group

Use Segment Service para recuperar identificadores de segmento.
and, or Matriz de condiciones anidada que especifica grupos de segmentos. Cada segment_group matriz incluye segment_ID, age, valuey action ("include" o "exclude").
- action puede ser "include" o "exclude".
- start_minutes es el límite inferior de minutos, ya que el usuario se ha agregado a este segmento, ambos inclusive. "start_minutes": 5 incluye los usuarios que se han agregado al segmento desde la marca de cinco minutos, incluidas las 5:00.
- expire_minutes es el límite superior de minutos, ya que el usuario se ha agregado a este segmento, ambos incluidos. "expire_minutes": 10 incluye los usuarios que se han agregado al segmento hasta la marca de diez minutos, incluidas las 10:00.
- value_less es el extremo inferior del intervalo de valores permitidos, exclusivo. "value_less" : 5 incluye solo valores mayores que, pero sin incluir, 5.
- value_greater es el extremo superior del intervalo de valores permitidos, exclusivo. "value_greater" : 10 incluye solo valores hasta , pero sin incluir, 10.
- value_equals es la coincidencia exacta con el valor permitido. “value_equals” : 5 incluye solo valores iguales a 5.
- A diferencia del servicio de perfiles, el servicio Splits permite establecer como destino los valores de segmento de cero (0). Vea el ejemplo siguiente value_equals .
Los valores de segmento se pueden pasar de varias maneras, por ejemplo, a través del servicio de segmento de Batch o una cadena de consulta de segmentos de terceros o de terceros.

Ejemplo del value_equals campo

"conditions": [
{
"field": "segment_group",
"operator": "and",
"value": [
[
{
"segment_ID": SEGMENT_ID,
"action": SEGMENT_ACTION,
"start_minutes": YOUNGEST_SEGMENT_AGE,
"expire_minutes": OLDEST_SEGMENT_AGE,
"value_less": LOWER_BOUND_SEGMENT_VALUE,
"value_greater": UPPER_BOUND_SEGMENT_VALUE,
"value_equals": EXACT_SEGMENT_VALUE
}

]
]
}
]

Segmento

Advertencia

La segment[]condición ya no se usa y ha quedado en desuso el 21 de agosto de 2022. Al configurar la selección de destino para nuevos elementos de línea, use el grupo de segmentos (segment_group) en su lugar.

Campo Operador Valor
segment[SEGMENTID,...]
donde SEGMENTID es una lista opcional de identificadores de segmento.
Use Segment Service para recuperar identificadores de segmento.
<, <=, =, >, >=, present, absent Matriz de condiciones anidadas que especifica la antigüedad, el valor o la presencia del segmento.
- La presencia del segmento es "present" o "absent".
- La antigüedad del segmento se mide en minutos y debe ser un entero positivo.
- El valor de segmento es un entero positivo distinto de cero que representa un valor definido por el usuario. Vea el ejemplo siguiente value .
Los valores de segmento se pueden pasar de varias maneras, por ejemplo, a través del servicio de segmento de Batch o una cadena de consulta de segmentos de terceros o de terceros.

Ejemplo del value campo

Evalúe las impresiones en función de la presencia, ausencia, valor o antigüedad del segmento del usuario en un segmento de terceros o de primera persona.

"conditions": [
{
"field": "segment[]",
"operator": "any",
"value": [
{
"conditions": [
{
"field": "age",
"operator": "<=",
"value": 1440
}
],
"id": 275913
}
]
}
],

Frecuencia diaria

Número de anuncios vistos por un usuario para un anunciante, artículo de línea o divididos en el día actual.

Campo Operador Valor
OBJECT[ID].day_frequency
donde el objeto es advertiser, line_itemo campaign (que representa split) y id. es el identificador de objeto. Use el servicio anunciante, el servicio de artículos de línea o el servicio splits para recuperar los identificadores.
>, =>, <, =<, =

Importante: Aunque el operador = es compatible con la frecuencia y la recencia, se recomienda encarecidamente que no lo use, ya que tiende a provocar una entrega inferior. Esto se debe a que cuando se tiene como destino una impresión con frequency=5, se excluyen las impresiones con frecuencias iguales a 0, 1, 2, 3o 4.
Entero positivo. 0 indica que no hay información de frecuencia disponible (el usuario no ha visto este objeto en el día actual).

Frecuencia de duración

Número de anuncios vistos por un usuario a lo largo de la duración de un anunciante, artículo de línea o división.

Campo Operador Valor
OBJECT[ID].lifetime_frequency
donde el objeto es advertiser, line_itemo campaign (que representa split) y id. es el identificador de objeto. Use el servicio anunciante, el servicio de artículos de línea o el servicio splits para recuperar los identificadores.

PRECAUCIÓN: Aunque el operador = es compatible con la frecuencia y la recencia, se recomienda encarecidamente que no lo use, ya que tiende a provocar una entrega inferior. Esto se debe a que cuando se tiene como destino una impresión con frequency=5, se excluyen las impresiones con frecuencias iguales a 0, 1, 2, 3o 4.
>, =>, <, =<, = Entero positivo. 0 indica que no hay información de frecuencia disponible (el usuario nunca ha visto este objeto).

Recency

Número de minutos desde que un usuario ha visto un anuncio. Esto se puede determinar para un usuario para todos los anuncios de un anunciante, artículo de línea o división.

Campo Operador Valor
OBJECT[ID].recency
donde el objeto es advertiser, line_itemo campaign (que representa split) y id. es el identificador de objeto. Use el servicio anunciante, el servicio de artículos de línea o el servicio splits para recuperar los identificadores.
>, =>, <, =<, =

Importante: Aunque el operador = es compatible con la frecuencia y la recencia, se recomienda encarecidamente que no lo use, ya que tiende a provocar una entrega inferior. Esto se debe a que cuando se tiene como destino una impresión con frequency=5, se excluyen las impresiones con frecuencias iguales a 0, 1, 2, 3o 4.
Entero positivo que indica el número de minutos desde que un usuario ha visto una impresión, redondeada hacia abajo. 59 segundos se evaluarán como 0, 61 segundos se evaluarán como 1. 0 significa que la impresión se ha visto muy recientemente. Null significa que no hay datos de censura disponibles (el usuario no ha visto esta impresión antes).

Tipo de inventario

Tipo de inventario ("aplicación" o "web") dirigido por la división. "Aplicación" tiene como destino el inventario de aplicaciones móviles y "web" tiene como destino el inventario web (incluidas las páginas que se muestran en exploradores web móviles).

Campo Operador Valor
inventory_type =, in, not_in "web", "app"
Vea Ejemplo.

Ejemplo del inventory_type campo

"conditions": [
{
"field": "inventory_type",
"operator": "in",
"value": [
"app",
"web"
]
}
]

Lista de direcciones URL de inventario

Tenga como destino una lista de permitidos o una lista de bloqueo establecida en el nivel de red. Solo puede tener como destino una sola lista.

Nota:

No es compatible con GDALI.

Campo Operador Valor
inventory_url_list all, not in Id. de lista de inventario.

"conditions":[{"field":"inventory_url_list","operator":"not in","value":[12345]}]

Para crear una lista de inventario o recuperar los identificadores de lista para usarlos en la segmentación por división, use el servicio de lista de inventario.

Ejemplos

Create divisiones para un elemento de línea con los ingresos reservados y la optimización de costo más deshabilitados

En este ejemplo se crean tres divisiones para el elemento de línea 6377624:

  • División 1: el usuario debe usar el explorador Chrome. A las impresiones se les asigna un valor esperado de 2. El cuarenta por ciento del tráfico del elemento de línea se asigna a esta división, que es la primera en prioridad. La asignación no está restringida.
  • División 2: las impresiones deben pertenecer al segmento 275913 y se deben haber agregado en los últimos 1440 minutos. Se les asigna un valor esperado de ''1. El treinta por ciento del tráfico del elemento de línea se asigna a esta división, que es la segunda en prioridad. La asignación no está restringida.
  • División 3 (sin nombre): división predeterminada. A las impresiones se les asigna un valor esperado de 0.5. El treinta por ciento del tráfico del elemento de línea se asigna a esta división, que es la tercera en prioridad. La asignación no está restringida.

Puesto que la optimización está deshabilitada, se establecen los valores esperados para las divisiones.

$ cat ali_cost_plus_ev.json
[
    {
        "active": true,
        "allocation_percent": 40,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "conditions": [
            {
                "field": "browser",
                "operator": "in",
                "value": [
                    8
                ]
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": 2,
        "is_default": false,
        "name": "Split 1",
        "order": 1
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "conditions": [
            {
                "field": "segment_group",
                "operator": "and",
                "value": [
                            [
                                {
                                "segment_id": 275913,
                                "start_minutes": 0,
                                "expire_minutes": 1440
                                }
                            ]
                         ]    
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": 1,
        "is_default": false,
        "name": "Split 2",
        "order": 2
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "expected_value": 0.5,
        "is_default": true,
        "name": "Default",
        "order": 3
    }

$ curl -b cookies -X PUT -s -d '@ali_cost_plus_ev.json' "https://api.appnexus.com/budget-splitter/6377624/splits"   
[
    {
        "active": true,
        "allocation_percent": 40,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "conditions": [
            {
                "field": "browser",
                "operator": "in",
                "value": [
                    8
                ]
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": 2,
        "id": 24025228,
        "is_default": false,
        "name": "Split 1",
        "order": 1
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "conditions": [
            {
                "field": "segment_group",
                "operator": "and",
                "value": [
                            [
                                {
                                "segment_id": 275913,
                                "start_minutes": 0,
                                "expire_minutes": 1440
                                }
                            ]
                         ]    
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": 1,
        "id": 24025229,
        "is_default": false,
        "name": "Split 2",
        "order": 2
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "expected_value": 0.5,
        "id": 24025230,
        "is_default": true,
        "name": "Default",
        "order": 3
    }
]

Create divisiones para un artículo de línea con los ingresos reservados y la optimización de costos más habilitados

En este ejemplo se crean tres divisiones para el elemento de línea 6377631:

  • División 1: el usuario debe usar el explorador Chrome. A las impresiones se les asigna un valor esperado de 2. El cuarenta por ciento del tráfico del elemento de línea se asigna a esta división, que es la primera en prioridad. La asignación no está restringida.
  • División 2: las impresiones deben pertenecer al segmento 275913 y se deben haber agregado en los últimos 1440 minutos. Se les asigna un valor esperado de 1. El treinta por ciento del tráfico del elemento de línea se asigna a esta división, que es la segunda en prioridad. La asignación no está restringida.
  • División 3 (sin nombre): división predeterminada. A las impresiones se les asigna un valor esperado de 0.5. El treinta por ciento del tráfico del elemento de línea se asigna a esta división, que es la tercera en prioridad. La asignación no está restringida.
$ cat ali_cost_plus_opt.json
[
    {
        "active": true,
        "allocation_percent": 40,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "conditions": [
            {
                "field": "browser",
                "operator": "in",
                "value": [
                    8
                ]
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": null,
        "is_default": false,
        "name": "Split 1",
        "order": 1
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "conditions": [
            {
                "field": "segment_group",
                "operator": "and",
                "value": [
                            [
                                {
                                "segment_id": 275913,
                                "start_minutes": 0,
                                "expire_minutes": 1440
                                }
                            ]
                         ]    
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": null,
        "is_default": false,
        "name": "Split 2",
        "order": 2
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "expected_value": null,
        "is_default": true,
        "name": "Default",
        "order": 3
    }


$ curl -b cookies -X PUT -s -d '@ali_cost_plus_opt.json' "https://api.appnexus.com/budget-splitter/6377631/splits"
[
    {
        "active": true,
        "allocation_percent": 40,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "conditions": [
            {
                "field": "browser",
                "operator": "in",
                "value": [
                    8
                ]
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": null,
        "id": 24025315,
        "is_default": false,
        "name": "Split 1",
        "order": 1
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "conditions": [
            {
                "field": "segment_group",
                "operator": "and",
                "value": [
                            [
                                {
                                "segment_id": 275913,
                                "start_minutes": 0,
                                "expire_minutes": 1440
                                }
                            ]
                         ]    
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": null,
        "id": 24025316,
        "is_default": false,
        "name": "Split 2",
        "order": 2
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": null,
        "expected_value": null,
        "id": 24025317,
        "is_default": true,
        "name": "Default",
        "order": 3

Create divisiones para un elemento de línea con los ingresos reservados de CPM y la optimización deshabilitada

En este ejemplo se crean tres divisiones para el elemento de línea 6377633:

  • División 1: el usuario debe usar el explorador Chrome. Las pujas se multiplican por 0.5. El cuarenta por ciento del tráfico del elemento de línea se asigna a esta división, que es la primera en prioridad. La asignación no está restringida.
  • División 2: las impresiones deben pertenecer al segmento 275913 y se deben haber agregado en los últimos 1440 minutos. Las pujas se multiplican por 0.4. El treinta por ciento del tráfico del elemento de línea se asigna a esta división, que es la segunda en prioridad. La asignación no está restringida.
  • División 3 (sin nombre): división predeterminada. Las pujas se multiplican por 1 (siguen siendo las mismas). El treinta por ciento del tráfico del elemento de línea se asigna a esta división, que es la tercera en prioridad. La asignación no está restringida.

Puesto que la optimización está deshabilitada, estamos estableciendo modificadores de puja para cada división.

$ cat ali_cpm_bid_modifier.json
[
    {
        "active": true,
        "allocation_percent": 40,
        "allocation_strategy": "unconstrained",
        "bid_modifier": 0.5,
        "conditions": [
            {
                "field": "browser",
                "operator": "in",
                "value": [
                    8
                ]
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": null,
        "is_default": false,
        "name": "Split 1",
        "order": 1
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": 0.4,
        "conditions": [
            {
                "field": "segment_group",
                "operator": "and",
                "value": [
                            [
                                {
                                "segment_id": 275913,
                                "start_minutes": 0,
                                "expire_minutes": 1440
                                }
                            ]
                         ]    
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": null,
        "is_default": false,
        "name": "Split 2",
        "order": 2
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": 1,
        "expected_value": null,
        "is_default": true,
        "name": "Default",
        "order": 3
    }

$ curl -b cookies -X PUT -s -d '@ali_cpm_bid_modifier.json' "https://api.appnexus.com/budget-splitter/6377633/splits"   
[
    {
        "active": true,
        "allocation_percent": 40,
        "allocation_strategy": "unconstrained",
        "bid_modifier": 0.5,
        "conditions": [
            {
                "field": "browser",
                "operator": "in",
                "value": [
                    8
                ]
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": null,
        "id": 24025342,
        "is_default": false,
        "name": "Split 1",
        "order": 1
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": 0.4,
        "conditions": [
            {
                "field": "segment_group",
                "operator": "and",
                "value": [
                            [
                                {
                                "segment_id": 275913,
                                "start_minutes": 0,
                                "expire_minutes": 1440
                                }
                            ]
                         ]    
            }
        ],
        "creative_macros": [],
        "creatives": [],
        "expected_value": null,
        "id": 24025343,
        "is_default": false,
        "name": "Split 2",
        "order": 2
    },
    {
        "active": true,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "bid_modifier": 1,
        "expected_value": null,
        "id": 24025344,
        "is_default": true,
        "name": "Default",
        "order": 3
    }
]

Actualización de una división en un elemento de línea

En este ejemplo, El elemento de 5200075 línea ya tiene tres divisiones, todas con estrategias de asignación sin restricciones. Se actualiza Split 1 para usar una estrategia de asignación restringida.

# View the current splits
$ curl -b cookies 'https://api.appnexus.com/budget-splitter/5200075/splits'
    {
        "id": 24025093,
        "name": "Split 1",
        "is_default": false,
        "active": true,
        "bid_modifier": null,
        "expected_value": 2,
        "allocation_percent": 40,
        "allocation_strategy": "unconstrained",
        "order": 1,
        "conditions": [
            {
                "field": "browser",
                "operator": "in",
                "value": [
                    8
                ]
            }
        ],
        "creatives": [

        ],
        "creative_macros": [

        ]
    },
    {
        "id": 24025094,
        "name": "Split 2",
        "is_default": false,
        "active": true,
        "bid_modifier": null,
        "expected_value": 1,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "order": 2,
        "conditions": [
            {
                "field": "segment_group",
                "operator": "and",
                "value": [
                            [
                                {
                                "segment_id": 275913,
                                "start_minutes": 0,
                                "expire_minutes": 1440
                                }
                            ]
                         ]    
            }
        ],
        "creatives": [

        ],
        "creative_macros": [

        ]
    },
    {
        "id": 24025096,
        "name": "Default",
        "is_default": true,
        "active": true,
        "bid_modifier": null,
        "expected_value": 0.5,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "order": 3
    }
]

# View the split1-update JSON 
$ cat split1-update.json
[
    {
        "id": 24025093,
        "name": "Split 1",
        "is_default": false,
        "active": true,
        "bid_modifier": null,
        "expected_value": 2,
        "allocation_percent": 40,
        "allocation_strategy": "constrained",
        "order": 1,
        "conditions": [
            {
                "field": "browser",
                "operator": "in",
                "value": [
                    8
                ]
            }
        ],
        "creatives": [
        ],
        "creative_macros": [
        ]
    }
]

# Update Split 1

$ curl -b cookies -X PATCH -d @split1_update.json 'https://api.appnexus.com/budget-splitter/5200075/splits'
[
    {
        "id": 24025093,
        "name": "Split 1",
        "is_default": false,
        "active": true,
        "bid_modifier": null,
        "expected_value": 2,
        "allocation_percent": 40,
        "allocation_strategy": "constrained",
        "order": 1,
        "conditions": [
            {
                "field": "browser",
                "operator": "in",
                "value": [
                    8
                ]
            }
        ],
        "creatives": [

        ],
        "creative_macros": [

        ]
    },
    {
        "id": 24025094,
        "name": "Split 2",
        "is_default": false,
        "active": true,
        "bid_modifier": null,
        "expected_value": 1,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "order": 2,
        "conditions": [
            {
                "field": "segment_group",
                "operator": "and",
                "value": [
                            [
                                {
                                "segment_id": 275913,
                                "start_minutes": 0,
                                "expire_minutes": 1440
                                }
                            ]
                         ]    
            }
        ],
        "creatives": [

        ],
        "creative_macros": [

        ]
    },
    {
        "id": 24025096,
        "name": "Default",
        "is_default": true,
        "active": true,
        "bid_modifier": null,
        "expected_value": 0.5,
        "allocation_percent": 30,
        "allocation_strategy": "unconstrained",
        "order": 3
    }
]