De un vistazo: Envía datos de pedidos a nivel de artículo a AppsFlyer\n con el parámetro af_order_info. Es compatible con dos formatos coherentes\n para compras de uno o varios artículos. AppsFlyer lo asigna automáticamente\n a la estructura que requiere cada ad network.
Por qué son importantes los datos a nivel de artículo
af_order_info es un parámetro de evento que reporta los artículos individuales de un pedido, tanto si el pedido tiene un artículo como varios. Sustituye los campos antiguos af_content y af_content_list por un único formato más completo para el mismo fin. Es compatible con dos formatos de matriz coherentes tanto para pedidos de un solo artículo como de varios artículos, y funciona en cinco redes (Google Ads, DV360, Meta, TikTok, Snapchat y Pinterest) en lugar de requerir una estructura independiente para cada una.
Enviar este nivel de detalle es importante porque estas redes ahora optimizan las campañas usando algo más que el valor total de un pedido. Meta, Google, TikTok, Snapchat y Pinterest admiten algoritmos de optimización que funcionan a nivel de producto y usan datos como el ID del artículo, el precio, la cantidad, la categoría y la marca para mejorar el targeting y las pujas. Cuanto más completo sea el desglose de artículos que envías, más podrán usar estas redes para afinar esas campañas.
Estructura de parámetros
Cada artículo de un pedido puede describirse con hasta 7 campos. AppsFlyer es compatible con dos formas de estructurar estos campos en af_order_info, que se describen a continuación.
Se envía como parte del event_value de tu evento (o de custom_data) y funciona igual tanto si el pedido tiene un artículo como varios, así que puedes estandarizar su uso en lugar de mantener varios formatos de datos de pedidos.
Estos siete campos son:
| Campo | Description | Admitido por |
|---|---|---|
sku |
ID del artículo o unidad de mantenimiento de existencias (SKU) | Google, DV360, Meta, Snapchat, Pinterest, TikTok |
revenue |
Precio del artículo | Google, DV360, Meta, Snapchat, Pinterest, TikTok |
qty |
Cantidad comprada | Google, DV360, Meta, Snapchat, Pinterest, TikTok |
content_name |
Nombre del artículo o producto | TikTok |
content_type |
Tipo de artículo. Los únicos valores admitidos son product (cuando el SKU es un SKU específico) y product_group (cuando el SKU es un item_group_id) |
TikTok |
content_category |
Categoría del artículo | TikTok, Snapchat |
brand |
Marca del artículo | TikTok, Snapchat |
No hace falta que rellenes los siete campos para todos los artículos. Envía lo que sea relevante para tu negocio y para las redes en las que realizas campañas. Los campos que omitas simplemente se omiten del postback a las redes que, de otro modo, los recibirían. Los campos más importantes y habituales que debes enviar son sku, ingresos y qty.
AppsFlyer es compatible con dos formas de estructurar af_order_info, ambas anidadas en event_value:
-
Un campo para todos los artículos (recomendado): cada campo, como
sku,revenueyqty, se envía una vez, como una matriz que abarca todos los artículos del pedido. Así, la carga útil es más corta. - Un objeto por artículo: cada artículo del pedido se envía como su propio objeto, con todos los campos relevantes anidados dentro de él.
El siguiente ejemplo muestra el formato recomendado, con un campo para todos los artículos:
{
"af_order_info": {
"sku": ["SKU-001", "SKU-002", "SKU-003"],
"revenue": [50.00, 75.00, 25.00],
"qty": [1, 1, 2],
"content_name": ["Wireless Mouse", "Bluetooth Headphones", "USB-C Cable"],
"content_type": ["product", "product", "product"],
"content_category": ["accessories", "audio", "cables"],
"brand": ["Logitech", "Sony", "Anker"]
}
}El siguiente ejemplo muestra el formato alternativo, con un objeto por artículo:
{
"af_order_info": [
{
"sku": "SKU-001",
"revenue": 50.00,
"qty": 1,
"content_name": "Wireless Mouse",
"content_type": "product",
"content_category": "accessories",
"brand": "Logitech"
},
{
"sku": "SKU-002",
"revenue": 75.00,
"qty": 1,
"content_name": "Bluetooth Headphones",
"content_type": "product",
"content_category": "audio",
"brand": "Sony"
},
{
"sku": "SKU-003",
"revenue": 25.00,
"qty": 2,
"content_name": "USB-C Cable",
"content_type": "product",
"content_category": "cables",
"brand": "Anker"
}
]
}Asignación por red
AppsFlyer lee la matriz af_order_info y la reestructura automáticamente en el formato que espera la API de cada red. La compatibilidad de los campos varía según la red, así que no todos los campos que envías llegan a todas las redes. La siguiente tabla muestra los campos que admite actualmente cada red:
| Red | Campos admitidos |
|---|---|
| Google Ads / DV360 |
sku, qty, ingresos
|
| Meta (Facebook) |
sku, qty, ingresos
|
| TikTok |
sku, qty, ingresos, content_name, content_type, content_category, marca (los siete campos) |
| Snapchat |
sku, ingresos, marca, content_category. AppsFlyer envía la cantidad solo como recuento total de artículos, no por artículo |
sku, ingresos, qty
|
Google Ads y DV360
AppsFlyer asigna los campos a la matriz items dentro de app_event_data:
"app_event_data": {
"items": [
{"item_id": "SKU-001", "quantity": "1", "price": "50.0"},
{"item_id": "SKU-002", "quantity": "1", "price": "75.0"},
{"item_id": "SKU-003", "quantity": "2", "price": "25.0"}
]
}
Meta (Facebook)
AppsFlyer asigna los campos a fb_content:
"fb_content": [
{"id": "SKU-001", "quantity": 1, "item_price": 50.00},
{"id": "SKU-002", "quantity": 1, "item_price": 75.00},
{"id": "SKU-003", "quantity": 2, "item_price": 25.00}
]
TikTok
AppsFlyer asigna los campos a properties.contents. TikTok es la única red de las cinco que acepta los siete campos:
"properties": {
"contents": [
{
"content_type": "product",
"content_category": "accessories",
"content_name": "Wireless Mouse",
"quantity": 1,
"brand": "Logitech",
"content_id": "SKU-001",
"price": 50.00
}
],
"currency": "USD",
"value": 175.00
}
Snapchat
AppsFlyer asigna los campos a los parámetros de consulta de la URL. Snapchat no recibe la cantidad por artículo. En su lugar, number_items refleja la cantidad total de todos los artículos del pedido:
&item_ids=SKU-001,SKU-002,SKU-003&number_items=5&price=50.00,75.00,25.00&brands=Logitech,Sony,Anker&category=accessories,audio,cables
AppsFlyer asigna los campos a contents:
"contents": [
{"id": "SKU-001", "item_price": "50.00", "quantity": 1},
{"id": "SKU-002", "item_price": "75.00", "quantity": 1},
{"id": "SKU-003", "item_price": "25.00", "quantity": 2}
]
Compatibilidad con versiones anteriores
Los formatos existentes también siguen funcionando, incluidos los campos basados en matrices af_content_id, af_quantity y af_price, así como los campos af_content y af_content_list. No necesitas migrar las implementaciones existentes. af_order_info estará disponible a partir de ahora en un único formato más completo. Resulta especialmente útil si quieres pasar detalles de artículos más enriquecidos, como el nombre, la categoría y la marca, que los formatos anteriores no admiten.
Importante:
Como af_order_info solo es compatible con las redes que aparecen en este artículo, sigue enviando esta información en los campos existentes, como af_content_id, af_content_list, af_content_type y af_quantity, si ejecutas campañas con otras redes que la necesiten.
Si antes enviabas esta información en el formato que espera Meta (en af_content, que AppsFlyer asignaba a fb_content), ahora puedes quitar ese campo de la carga útil. La nueva solución también admite Meta en fb_content de forma predeterminada.
Características y limitaciones
| Rasgo | Description |
|---|---|
| Redes compatibles | AppsFlyer solo es compatible con af_order_info para las redes que aparecen en este artículo. Es posible que otras redes sigan siendo compatibles con el formato anterior. |
| Plataformas admitidas | Esta solución actualmente solo es compatible con compras in-app en aplicaciones móviles. AppsFlyer tiene previsto añadir soporte para otras plataformas, como los sitios web, en una fase posterior. |
| Longitud del valor del evento | La longitud total del campo event_value, incluido af_order_info, no puede superar los 3.000 caracteres. |