Resumo: Descubra como criar fontes de dados de mensuração e como fornecer acesso a elas de uma forma que possa ser digerida para atribuição.
Visão geral
A primeira etapa na configuração da mensuração é preparar os três inputs que a alimentam: conversões, engajamentos e mapeamento de campanhas. Esses inputs devem ser preparados com base no esquema predefinido ou na estrutura do evento, dependendo do modo de fornecimento de dados: eventos in-app ou arquivos fonte personalizados.
Quando você utiliza arquivos fonte personalizados, o trabalho de atribuição é acionado automaticamente quando as pastas de conversão e de registro de engajamento necessárias são enviadas para a nuvem. Para o modo de evento in-app, o trabalho é acionado quando os eventos in-app relevantes são selecionados.
Prepare a lista de eventos in-app
Você pode enviar dados de conversão e engajamento através de eventos in-app enviados pelo SDK da AppsFlyer integrado ao seu aplicativo.
Atenção:
Se você já estiver enviando eventos in-app da AppsFlyer através do SDK ou através de solicitações S2S, essa opção pode ser mais fácil de implementar do que a opção de arquivo fonte personalizado.
Prepare os eventos in-app de conversão
O evento in-app de conversão deve incluir a informação SKU. No exemplo seguinte, a chave af_order_info identifica as informações de SKU:
"event_value": {
"af_currency": "EUR",
"af_content": "retail",
"af_order_id": "637f7c400f0e3fddd9e5bcbc",
"af_order_info": [
{
"sku": "a",
"revenue": 1.1,
"qty": 2
},
{
"sku": "b",
"revenue": 100.5,
"qty": 1
}
]
}
Para mais informações sobre como preparar eventos in-app, consulte a seção Criar eventos in-app abaixo.
Prepare eventos in-app de reengajamento
As campanhas on-site podem receber engajamentos através de eventos in-app. O evento in-app de engajamento deve incluir os dados de atribuição na chave event_value. Veja, como exemplo, a seguinte estrutura JSON event_value:
"event_value": {
"media_source": "onsite",
"campaign_name": "winter_bags",
"campaign_id": "637f7c400f0e3fddsdfaafe33",
"engagement_type": "click"
}
Pode usar os campos abaixo na sua chave JSON evant_value:
| Campo | Descrição | Obrigatório | Disponível no esquema de eventos in-app | Tipo |
|---|---|---|---|---|
campaign_id |
ID da campanha | Sim | Não | string |
campaign_name |
Nome da campanha | Não | Não | string |
engagement_type |
Distingue entre cliques e impressões | Sim | Não | string |
media_source |
Canal de mídia restrito ou atribuído a um evento (saiba mais) | Sim | Não | string |
ad_id |
ID do anúncio | Não | Não | string |
ad_name |
Nome do anúncio | Não | Não | string |
ad_type |
Exemplo: banner, footer | Não | Não | string |
adset_id |
ID do conjunto de anúncios, identifica um grupo que contém um ou mais anúncios | Não | Não | string |
adset_name |
Nome do conjunto de anúncios, identifica um grupo que contém um ou mais anúncios | Não | Não | string |
channel |
Fonte do canal de mídia Exemplo: YouTube para Google, Instagram para Meta Ads | Não | Não | string |
Para mais informações sobre como preparar eventos in-app, consulte a seção Criar eventos in-app abaixo.
Criar eventos in-app
Para fornecer dados de conversão e engajamento através de eventos in-app, configure o SDK da AppsFlyer integrado ao seu aplicativo. Para mais informações sobre a criação de eventos in-app, consulte:
Preparar arquivos fonte personalizados
Se você estiver executando uma campanha on-site, pode usar arquivos fonte personalizados como fonte das suas conversões e engajamentos, usando o esquema descrito nas tabelas abaixo.
Esquema da fonte de conversão
Use o esquema na tabela abaixo para criar um arquivo fonte de conversão personalizado:
| Campo | Descrição | Necessário na fonte de dados personalizada | Tipo de valor esperado | Validações de dados |
|---|---|---|---|---|
appsflyer_id |
Um ID exclusivo gerado pelo SDK quando o app é instalado em um dispositivo. O ID é usado para atribuir eventos in-app em fluxos de LTV, buscar dados de conversão e associar eventos in-app. Um novo ID é gerado se o app for excluído e reinstalado. Restaurar a aplicação a partir de um backup do iCloud não é considerado uma instalação. Para CTV, esse campo é preenchido com o endereço custom_device_id gerenciado pelo anunciante. |
Campo opcional de PII. Um campo de PII é obrigatório. | string | - |
advertising_id |
Device ID que pode ser redefinido pelo usuário, também conhecido como GAID. Para CTV, esse é o CTV ID, por exemplo, RIDA ou VIDA. | Campo opcional de PII. Um campo de PII é obrigatório. | string | - |
cuid |
Um ID exclusivo do usuário do app, definido pelo proprietário do app. | Campo opcional de PII. Um campo de PII é obrigatório. | string | - |
android_id |
ID permanente do dispositivo | Campo opcional de PII. Um campo de PII é obrigatório. | string | - |
idfa |
Advertising ID que pode ser redefinido pelo usuário em dispositivos iOS. Se idfa não estiver disponível, costuma ser preenchido com zeros. |
Campo opcional de PII. Um campo de PII é obrigatório. | string | - |
idfv |
Vendor ID fornecido pelo iOS. | Campo opcional de PII. Um campo de PII é obrigatório. | string | - |
event_name |
Tipo de evento de atribuição ou nome do evento in-app enviado pelo app. Exemplos de tipos de eventos: instalação, reengajamento, etc. Para o Data Locker nos relatórios de retargeting: retargeting significa reengajamento e instalação significa reatribuição. Para relatórios SKAN, o nome do evento no app é configurado na AppsFlyer ou no Meta Ads. | Obrigatório | string | - |
event_time |
Hora do evento, arredondada para a hora mais próxima | Obrigatório | data e hora | - |
sku |
O stock-keeping unit (SKU) ID para um dos itens incluídos no evento de conversão. | Obrigatório | string | - |
sku_quantity |
Número de unidades SKU incluídas no evento de conversão. | Obrigatório | número inteiro | - |
app_id |
Identificador exclusivo do app na Appsflyer. Exemplo: iOS: id123456789, Android: com.appsflyer.referrersender | Opcional | string | - |
app_name |
Definido pelo anunciante | Opcional | string | - |
app_version |
Definido pelo anunciante | Opcional | string | - |
city |
A localização mais precisa do usuário com base no IP do dispositivo. Geralmente contém o nome de uma cidade, mas também pode incluir distritos ou municípios. | Opcional | string | - |
country_code |
Código do país usando ISO 3166 (alfa-2). Exemplo: EUA, CN. Atenção: O Reino Unido é exibido como UK (não GB). | Opcional | string | - |
device_category |
Os valores possíveis incluem: telefone, tablet, outro | Opcional | string | - |
event_currency |
Código da moeda da receita do evento reportado ao SDK. | Opcional | string | Estrutura de data e hora, de acordo com os requisitos do formato DCR |
event_revenue |
Valor da receita usando a moeda da receita do evento. Valores fora do intervalo de $-10.000 a $+10.000 (ou equivalente) aparecem em relatórios de dados brutos, mas não em relatórios agregados. | Opcional | Número decimal | - |
platform |
Plataforma do dispositivo: iOS, Android ou Windows Mobile | Opcional | string | - |
region |
Com base no endereço IP do dispositivo, relatado pelo SDK. Para SKAN, determinado de acordo com o country_code. |
Opcional | string | - |
sku_revenue |
Receita associada ao SKU na moeda fornecida no campo event_revenue_currency. |
Opcional | Número decimal | - |
state |
Com base no endereço IP do dispositivo, relatado pelo SDK. | Opcional | string | - |
O esquema da fonte de engajamento
Use o esquema abaixo para criar a fonte de dados de engajamento.
Atenção:
Os campos de Informações Pessoais Identificáveis (PII) mapeados no esquema de fonte de engajamento devem ter uma intersecção não vazia com as PII mapeadas no esquema de fonte de conversão acima
| Campo | Descrição | Obrigatório | Tipo de valor esperado |
|---|---|---|---|
appsflyer_id |
Um ID exclusivo gerado pelo SDK quando o app está instalado | Campo opcional de PII. Um campo de PII é obrigatório. | string |
cuid |
Um ID exclusivo do usuário do app, definido pelo proprietário do app. | Campo opcional de PII. Um campo de PII é obrigatório. | string |
idfa |
Advertising ID que pode ser redefinido pelo usuário em dispositivos iOS. Se não estiver disponível, é preenchido com zeros | Campo opcional de PII. Um campo de PII é obrigatório. | string |
idfv |
Vendor ID fornecido pelo iOS. | Campo opcional de PII. Um campo de PII é obrigatório. | string |
app_id |
Identificador exclusivo do app na Appsflyer. Exemplo: iOS: id123456789, Android: com.appsflyer.referrersender
|
Opcional | string |
campaign_id |
ID da campanha | Obrigatório | string |
campaign_name |
Nome da campanha | Opcional | string |
media_source |
Canal de mídia restrito ou atribuído a um evento (saiba mais) | Obrigatório | string |
engagement_type |
Distingue entre cliques e impressões | Obrigatório | string |
event_name |
Definido pelo anunciante | Obrigatório | string |
event_time |
Hora do evento, arredondada para a hora mais próxima | Obrigatório | datetime |
app_name |
Definido pelo anunciante | Opcional | string |
app_version |
Definido pelo anunciante | Opcional | string |
ad_id |
ID do anúncio | Opcional | string |
ad_name |
Nome do anúncio | Opcional | string |
ad_type |
Exemplo: banner, footer | Opcional | string |
adset_id |
ID do conjunto de anúncios, identifica um grupo que contém um ou mais anúncios | Opcional | string |
adset_name |
Nome do conjunto de anúncios, identifica um grupo que contém um ou mais anúncios | Opcional | string |
channel |
Fonte do canal de mídia Exemplo: YouTube para Google, Instagram para Meta Ads | Opcional | string |
platform |
Plataforma do dispositivo: iOS, Android ou Windows Mobile | Opcional | string |
Para mais informações sobre como preparar fontes e enviá-las para a sua nuvem, consulte a seção Criar e conectar fontes de dados personalizadas.
Prepare a fonte de mapeamento da campanha
A fonte dos dados de mapeamento da campanha é um arquivo fonte de dados personalizado, que utiliza o esquema descrito na tabela abaixo.
Atenção:
Recomendamos o uso de um único arquivo de mapeamento para todas as colaborações, pois é mais fácil de manter e atualizar.
Esquema de mapeamento da campanha
Use o esquema abaixo para criar a fonte de mapeamento da campanha.
| Tipo de campo | É obrigatório? | Valor esperado | Descrição |
|---|---|---|---|
| collaborator_name | Sim | string | O nome do colaborador com quem você trabalha. |
| collaborator_id | Sim | string | Um identificador exclusivo para o colaborador. |
| campaign_id | Sim | string | O identificador exclusivo da campanha. |
| conversion_targets | Sim | string array | Um parâmetro que espera uma lista separada por vírgulas de SKUs alvo da campanha, por exemplo, sku1, sku2, etc. |
Para mais informações sobre como preparar arquivos fonte e enviá-los para a sua nuvem, consulte a seção Criar e conectar fontes de dados personalizadas.
Fluxo de ingestão de jobs de atribuição
Cada job de atribuição é dedicado a um único dia e é executado após o fim do dia. No início desse processo, o job ingere as conversões, os engajamentos e os dados de mapeamento de campanhas relevantes da nuvem ou de eventos in-app.
Ingestão de fontes de mapeamento de campanhas
Antes de cada execução de atribuição, o DCP carrega registros de mapeamento de campanhas a partir das fontes personalizadas. É possível escolher entre dois modos de carregamento desses registros:
-
Última estratégia: o DCP usa os registros mais recentes com base na data de envio do registro.
Por exemplo, se a fonte contiver registros com datas de envio de 18 de janeiro, 17 de janeiro ou 29 de dezembro, o sistema selecionará os registros com a data de 18 de janeiro.
- Estratégia diária: o DCP só aceita registos cuja data de envio corresponde ao dia da execução da atribuição. Por exemplo, se a execução ocorrer à meia-noite de 19 de janeiro, o sistema só selecionará registros de campanha com a data de envio de 19 de janeiro.
Ingestão de fontes de conversão
No final de cada dia, o DCP executa o trabalho de atribuição para esse dia apenas se puder acessar a pasta dedicada a esse dia e aos registros de conversão nela contidos. No entanto, você pode enviar a pasta para um determinado dia em uma data posterior. Por exemplo, você pode enviar a pasta de 17 de janeiro em 22 de janeiro.
- No final de cada dia, o DCP executa o trabalho de atribuição para esse dia. O job só será executado se o DCP conseguir encontrar a pasta para esse dia. O nome da pasta é idêntico ao nome do dia.
- A pasta diária pode incluir registros de eventos que datam de 30 dias a partir do dia da pasta. Por exemplo, na pasta Jan 17, o trabalho processa registros de 18 de dezembro a 17 de janeiro.
- Se você não enviar a pasta para um determinado dia, você tem 30 dias para enviá-la. Por exemplo, se você não enviou a pasta de 17 de janeiro, pode enviá-la até 17 de fevereiro. No entanto, recomendamos que ela seja enviada o mais próximo possível da data da pasta.
- Se o DCP não encontrar a pasta do dia atual, continuará a procurar a pasta de 10 em 10 minutos durante os 7 dias seguintes.
Ingestão de fontes de engajamento
Para cada registro de conversão, o DCP procura os eventos de engajamento que a desencadearam.
- Os registos dos engajamentos estão incluídos em pastas datadas. No entanto, não é necessário enviar uma pasta de engajamento para cada dia. Por exemplo, você pode enviar uma pasta de 13 e 15 de janeiro sem enviar a pasta de 14 de janeiro. Nesse exemplo, os registros de 14 de janeiro serão retirados da pasta 15 de janeiro.
- O job de atribuição para uma determinada pasta de conversão será iniciado apenas se existir uma pasta de engajamento com a mesma data que a pasta de conversão ou uma data posterior. Por exemplo, o job de atribuição para a pasta de conversão de 17 de janeiro será iniciado somente se a pasta de engajamento de 17 de janeiro ou as pastas com datas posteriores, como 18 de janeiro, existirem.
- O job de atribuição recolhe todos os eventos de engajamento que se enquadram na janela de lookback do engajamento.
Ingestão de dados in-app
Os dados de conversão e engajamento podem ser obtidos de eventos in-app, fontes personalizadas ou uma combinação de ambos. O DCP permite que você escolha se pretende usar um único modo ou misturá-los, permitindo que as conversões sejam obtidas de eventos in-app enquanto os engajamentos são obtidos a partir de arquivos personalizados, ou vice-versa.
Ao configurar eventos in-app para conversões, engajamentos ou ambos, é necessário especificar o App ID e o nome do evento de conversão ou engajamento. No final do dia, o job de atribuição seleciona todos os eventos com o nome especificado e o App ID que tem a mesma data de evento que o dia da conversão.
Criar e conectar fontes de dados personalizadas
Para conectar os dados através de fontes personalizadas, o cliente terá de seguir as instruções nos seguintes artigos da base de dados de conhecimento do DCP: