Como podemos ajudar?

[WIP] Dados de pedidos no nível do item para ad networks (af_order_info)

  • Atualizado

Em resumo: Envie dados de pedidos no nível do item para a AppsFlyer com o parâmetro af_order_info. Tem suporte a dois formatos consistentes\n para compras de um ou vários itens. A AppsFlyer o mapeia automaticamente para a estrutura exigida por cada ad network.

Por que os dados no nível do item são importantes

af_order_info é um parâmetro de evento que reporta os itens individuais de um pedido, independentemente de o pedido ter um item ou vários. Ele substitui os campos mais antigos af_content e af_content_list por um único formato mais completo para a mesma finalidade. Tem suporte a dois formatos de array consistentes para pedidos de um item e de vários itens e funciona em cinco 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 oferecem suporte a 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 os lances. Quanto mais completa for a discriminação dos itens que você enviar, mais essas networks poderão usar para ajustar essas campanhas.

Estrutura dos parâmetros

Cada item de um pedido pode ser descrito usando até 7 campos. A AppsFlyer tem suporte a 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, independentemente de o pedido ter 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 Suportado por
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
qtd 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 sua empresa e para as networks em que 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 para enviar são sku, receita e qty.

A AppsFlyer tem 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 mais curto.
  • 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ê a matriz af_order_info e a reestrutura automaticamente no formato esperado pela API de cada network. O suporte a campos varia de acordo com a network, por isso nem todos os campos que você envia chegam a todas as networks. A tabela a seguir mostra os campos que cada network aceita no momento:

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

O 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_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

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 do 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 retroativa

Os formatos existentes também continuam a funcionar, incluindo os campos baseados em array af_content_id, af_quantity e af_price, além dos campos af_content e af_content_list. Não é necessário migrar as implementações existentes. af_order_info estará disponível daqui para frente em um único formato mais completo. Isso é particularmente útil se você quiser transmitir detalhes mais avançados sobre os itens, como nome, categoria e marca, do que os formatos antigos permitem.

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 disso.

Se você já enviou essas informações no formato esperado pela Meta (em af_content, que a AppsFlyer mapeou para fb_content), agora pode remover esse campo do payload. A nova solução também oferece suporte à Meta em fb_content nativamente.

Especificações e limitações

Caraterística Visão geral
Redes Suportadas A AppsFlyer oferece suporte a af_order_info somente para as network listadas neste artigo. Outras networks ainda podem oferecer suporte ao formato antigo.
Plataformas compatíveis No momento, esta solução oferece suporte apenas a compras in-app em aplicativos mobile. A AppsFlyer planeja adicionar suporte a 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.