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 labudget-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"
onull
. - 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/split s |
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 //PATCH DELETE , 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 , 1 2 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 100 a .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 , value y 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_item o 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 , 3 o 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_item o 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 , 3 o 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_item o 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 , 3 o 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 de1
. 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 por0.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
}
]