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: