Como podemos ajudar?

Dados do pedido em nível de item para ad networks (af_order_info)

  • Atualizado

Resumo: Envie dados do pedido em nível de item para a AppsFlyer com o parâmetro af_order_info. Ele é compatível com dois formatos consistentes para compras de um ou vários itens. A AppsFlyer mapeia isso automaticamente para a estrutura exigida por cada ad network.

Por que os dados em nível de item são importantes

af_order_info é um parâmetro de evento que reporta os itens individuais de um pedido, seja ele de um item ou de vários. Ele substitui os campos antigos af_content e af_content_list por um único formato, mais completo, para a mesma finalidade. Ele é compatível com dois formatos de array consistentes para pedidos com um ou vários itens e funciona em seis networks (Google Ads, DV360, Meta, TikTok, Snapchat e Pinterest), em vez de exigir uma estrutura separada para cada uma.

Enviar esse nível de detalhamento é importante porque essas networks agora otimizam campanhas usando mais do que apenas o valor total de um pedido. Meta, Google, TikTok, Snapchat e Pinterest são compatíveis com algoritmos de otimização que funcionam no nível do produto, usando detalhes como ID do item, preço, quantidade, categoria e marca para melhorar a segmentação e o bidding. Quanto mais completo for o detalhamento dos itens que você enviar, mais essas networks poderão usar para ajustar essas campanhas com precisão.

Estrutura dos parâmetros

Cada item de um pedido pode ser descrito usando até 7 campos. A AppsFlyer é compatível com duas formas de estruturar esses campos em af_order_info, descritas abaixo.

Ele é enviado como parte do event_value (ou custom_data) do seu evento e funciona da mesma forma, quer o pedido tenha um item ou vários, para que você possa padronizá-lo em vez de manter vários formatos de dados de pedido.

Os sete campos são:

Campo A descrição Compatível com
sku ID do item ou unidade de manutenção de estoque (SKU) Google, DV360, Meta, Snapchat, Pinterest, TikTok
revenue Preço do item Google, DV360, Meta, Snapchat, Pinterest, TikTok
qty Quantidade comprada Google, DV360, Meta, Snapchat, Pinterest, TikTok
content_name Nome do item ou do produto Tiktok
content_type Tipo de item. Os únicos valores compatíveis são product (quando o SKU é um SKU específico) e product_group (quando o SKU é um item_group_id) Tiktok
content_category Categoria do item TikTok, Snapchat
Marca Marca do item TikTok, Snapchat

Você não precisa preencher todos os sete campos para cada item. Envie o que for relevante para o seu negócio e para as networks nas quais você executa campanhas. Os campos que você deixar de fora simplesmente não serão incluídos no postback para as networks que, de outra forma, os receberiam. Os campos mais importantes e comuns a serem enviados são sku, receita e qty.

A AppsFlyer oferece suporte a duas formas de estruturar af_order_info, ambas aninhadas em event_value:

  • Um campo para todos os itens (recomendado): cada campo, como sku, revenue e qty, é enviado uma vez, como um array que abrange todos os itens do pedido. Isso mantém o payload menor.
  • Um objeto por item: cada item do pedido é enviado como seu próprio objeto, com todos os campos relevantes aninhados dentro dele.

O exemplo a seguir mostra o formato recomendado, com um campo para todos os itens:

{
  "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"]
  }
}

O exemplo a seguir mostra o formato alternativo, com um objeto por item:

{
  "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"
    }
  ]
}

Mapeamento por network

A AppsFlyer lê o array af_order_info e o reestrutura automaticamente no formato que a API de cada network espera. A compatibilidade dos campos varia de acordo com a network, portanto nem todos os campos que você envia chegam a todas as networks. A tabela a seguir mostra os campos que cada network atualmente oferece suporte:

Rede Campos compatíveis
Google Ads / DV360 sku, qty, revenue
Meta (Facebook) sku, qty, revenue
Tiktok sku, qty, revenue, content_name, content_type, content_category, brand (todos os sete campos)
Snapchat sku, revenue, brand, content_category. A AppsFlyer envia a quantidade apenas como uma contagem total de itens, não por item
Pinterest sku, revenue, qty
Google Ads e DV360

A AppsFlyer mapeia os campos para o array items em 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)

A AppsFlyer mapeia os campos para fb_contents:

"fb_contents": [
  {"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

A AppsFlyer mapeia os campos para properties.contents. O TikTok é a única network, entre as cinco, que aceita todos os sete 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

A AppsFlyer mapeia os campos para parâmetros de consulta de URL. O Snapchat não recebe a quantidade por item. Em vez disso, number_items reflete a quantidade total de todos os itens no 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
Pinterest

A AppsFlyer mapeia os campos para 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}
]

Compatibilidade com versões anteriores

Os formatos existentes também continuam funcionando, incluindo os campos baseados em array af_content_id, af_quantity e af_price, além dos campos af_content e af_content_list. Você não precisa migrar implementações existentes. af_order_info estará disponível daqui para frente em um formato único e mais completo. Isso é particularmente útil se você quiser enviar detalhes mais avançados do item, como nome, categoria e marca, do que os formatos antigos oferecem suporte.

Importante!

Como af_order_info é compatível apenas com as networks listadas neste artigo, continue enviando essas informações nos campos existentes, como af_content_id, af_content_list, af_content_type e af_quantity, se você executar campanhas com outras networks que precisem delas.

Se você enviava anteriormente essas informações no formato que a Meta espera (em af_content, que a AppsFlyer mapeava para fb_contents), agora pode remover esse campo do payload. A nova solução também é compatível com a Meta em fb_contents por padrão.

Especificações e limitações

Caraterística Visão geral
Redes Suportadas A AppsFlyer é compatível com af_order_info apenas para as networks listadas neste artigo. Outras networks ainda podem ter suporte ao formato mais antigo.
Plataformas compatíveis No momento, esta solução oferece suporte apenas a compras in-app para apps mobile. A AppsFlyer planeja adicionar suporte para outras plataformas, como websites, em uma fase posterior.
Comprimento do valor do evento O comprimento total do campo event_value, incluindo af_order_info, não pode exceder 3.000 caracteres.