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.
Nota
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 |
|---|---|---|---|---|
id_da_campanha |
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 |
fonte_de_mídia |
Canal de mídia restrito ou atribuído a um evento (saiba mais) | Sim | Não | string |
id_anúncio |
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 |
id_conjunto_de_anúncios |
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 |
Canal |
Fonte do canal de mídia Fonte do canal de mídia 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:
O esquema de conversão é unitário para os tipos de campanha off-site e on-site e para os diferentes parceiros de mídia.
O esquema de conversão é unitário para os tipos de campanha off-site e on-site e para os diferentes parceiros de mídia.
Parceiros de mídia selecionados:
G: Google
M: Meta
Cores de fundo:
Campos obrigatórios
Campos recomendados
Qualquer um dos campos selecionados é obrigatório
Os campos passam por hashing de acordo com as regras especificadas pela SRN.
| Categoria | Parâmetro | Descrição | Tipo de valor esperado | CMN | Parceiros de mídia | |||
|---|---|---|---|---|---|---|---|---|
| Aplicação | Web | |||||||
| G | M | G | M | |||||
| Hora do evento, arredondada para a hora mais próxima | Receita associada ao SKU na moeda fornecida no campo event_revenue_currency. |
Identificador exclusivo do evento. | string | ✓ | ✓ | ✓ | ✓ | ✓ |
| nome_do_evento | Nome ou tipo do evento (por exemplo, "purchase", "clique"). | string | ✓ | ✓ | ✓ | ✓ | ✓ | |
| event_time | Carimbo de data/hora de quando o evento ocorreu. | data e hora | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Informações do aplicativo | ativado | Um ID exclusivo do usuário do app, definido pelo proprietário do app. | string | ✓ | ✓ | ✓ | ||
| ativado | Nome do aplicativo. | string | ✓ | ✓ | ||||
| app_version | Número da versão do aplicativo. | string | ✓ | ✓ | ||||
| Validações de dados | facebook_browser_id | Identificador único para rastreamento do navegador do Facebook. | string | ✓ | ✓ | |||
| facebook_cookie | Identificador de clique para atribuição de anúncios do Facebook. | string | ✓ | ✓ | ||||
| gbraid | Identificador de atribuição de anúncios do Google. | string | ✓ | |||||
| google_click_id | ID único para rastreamento de cliques de anúncios do Google. | string | ✓ | ✓ | ||||
| wbraid | Identificador de atribuição baseado na web para o Google. | string | ✓ | |||||
| tiktok_id | Identificador exclusivo para rastreamento do TikTok. | string | ||||||
| Dados da campanha | id_da_campanha | Identificador exclusivo da campanha de marketing. | string | ✓ | ||||
| install_id | Identificador do evento de instalação do aplicativo. | string | ✓ | |||||
| Dados de conversão | sku | SKUs dos produtos envolvidos na conversão. | string | ✓ | ||||
| sku_quantity | Identificador exclusivo de um produto (SKU). | número inteiro | ✓ | |||||
| sku_revenue | Receita gerada pelo evento. | Número decimal | ✓ | |||||
| event_revenue | Receita gerada por este evento. | Obrigatório | ✓ | ✓ | ✓ | ✓ | ✓ | |
| event_currency | Moeda do valor da receita. | Número decimal | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Informação do dispositivo | client_ip | Endereço IP do usuário ou dispositivo. | string | ✓ | ✓ | |||
| client_user_agent | String do agente do usuário do dispositivo/navegador do usuário. | string | ✓ | ✓ | ✓ | |||
| device_category | Categoria do dispositivo do usuário (por exemplo, mobile, desktop). | string | ✓ | |||||
| plataforma (os?) | Sistema operacional do dispositivo do usuário (por exemplo, iOS, Android). | string | ✓ | ✓ | ||||
| os_version | Versão do sistema operacional do dispositivo. | string | ✓ | |||||
| ID do usuário | advertising_id | Identificador único para fins publicitários (por exemplo, IDFA). | string | ✓ | ||||
| appsflyer_id | Identificador exclusivo do app na Appsflyer. | string | ✓ | |||||
| android_id | Identificador exclusivo de dispositivo Android. | string | ✓ | ✓ | ||||
| idfa | Definido pelo anunciante | string | ✓ | ✓ | ||||
| idfv | Vendor ID fornecido pelo iOS. | string | ✓ | ✓ | ||||
| client_id | Identificador exclusivo do cliente (por exemplo, gerado pelo sistema). | string | ✓ | ✓ | ✓ | |||
| facebook_hashed_client_id | nenhuma regra especificada | string | ✓ | ✓ | ||||
| tiktok_hashed_client_id | aparar, converter para minúsculas | string | ||||||
| cookie | Dados de cookie do navegador para rastreamento de usuário/sessão. | string | ||||||
| first_name | Primeiro nome do usuário. | string | ✓ | ✓ | ✓ | |||
| sobrenome | Sobrenome do utilizador. | string | ✓ | ✓ | ✓ | |||
| número de telefone | Número de telefone do utilizador. | Obrigatório | ✓ | ✓ | ✓ | ✓ | ||
| data de nascimento | Data de nascimento do utilizador. | data e hora | ✓ | ✓ | ||||
| género | Género do utilizador. | string | ✓ | ✓ | ||||
| language | Idioma ou localidade preferidos do utilizador. | string | ✓ | |||||
| campanhas de mensagens por e-mail | Endereço de e-mail do utilizador. | string | ✓ | ✓ | ✓ | ✓ | ||
| e-mail com Hashing do TikTok | remover espaços, converter para minúsculas, remover pontos de endereços de e-mail do Google | string | ||||||
| telefone com Hashing do TikTok | E164 | string | ||||||
| e-mail com Hashing do Google | remover espaços, converter para minúsculas, remover pontos de endereços de e-mail do Google | string | ✓ | ✓ | ||||
| telefone com Hashing do Google | E164 | string | ✓ | ✓ | ||||
| nome com Hashing do Google | remover espaços, converter para minúsculas | string | ✓ | |||||
| apelido com Hashing do Google | remover espaços, converter para minúsculas | string | ✓ | |||||
| e-mail com Hashing do Facebook | remover espaços, converter para minúsculas | string | ✓ | ✓ | ||||
| telefone com Hashing do Facebook | formato personalizado (sem +?) | string | ✓ | ✓ | ||||
| facebook_hashed_first_name | minúsculas, sem pontuação | string | ✓ | ✓ | ||||
| facebook_hashed_last_name | minúsculas, sem pontuação | string | ✓ | ✓ | ||||
| facebook_hashed_date_of_birth | YYYYMMDD | string | ✓ | ✓ | ||||
| facebook_hashed_gender | recomenda-se f/m, mas qualquer valor com hash é aceitável | string | ✓ | ✓ | ||||
| Atributos do usuário | att_status | Status da App Tracking Transparency (ATT) para o consentimento do usuário. | string | ✓ | ✓ | |||
| Localização do dispositivo | Região | Região geográfica do usuário. | string | ✓ | ||||
| cidade | Cidade associada ao usuário. | string | ✓ | ✓ | ✓ | ✓ | ||
| estado | Estado ou província do usuário. | string | ✓ | ✓ | ✓ | ✓ | ||
| código_país | Código ISO do país do usuário. | string | ✓ | ✓ | ✓ | ✓ | ||
| zip_code | Código postal/CEP do usuário. | string | ✓ | ✓ | ✓ | |||
| street | Endereço do usuário (se disponível). | string | ✓ | |||||
| google_hashed_street | remover espaços em branco; minúsculas | string | ✓ | |||||
| facebook_hashed_city | minúsculas, sem pontuação, sem espaços | string | ✓ | ✓ | ||||
| facebook_hashed_state | ANSI para os EUA, em minúsculas, sem pontuação, sem espaços | string | ✓ | ✓ | ||||
| facebook_hashed_zip_code | regras especiais para EUA/Reino Unido, em minúsculas, sem pontuação, sem espaços | string | ✓ | ✓ | ||||
| facebook_hashed_country_code | Código do país usando ISO 3166 (alfa-2). | string | ✓ | ✓ | ||||
| Dados de referência/tráfego | referrer_url | URL do site que encaminhou o usuário para a página atual. | string | ✓ | ||||
| source_url | URL de origem em que o usuário interagiu pela primeira vez com a campanha. | string | ✓ | |||||
Necessário na fonte de dados personalizada
Use o esquema abaixo para criar a fonte de dados de engajamento.
Nota
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 |
ativado |
Identificador exclusivo do app na Appsflyer. Exemplo: iOS: id123456789, Android: com.appsflyer.referrersender
|
Opcional | string |
id_da_campanha |
ID da campanha | Obrigatório | string |
campaign_name |
Nome da campanha | Opcional | string |
fonte_de_mídia |
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 |
nome_do_evento |
Definido pelo anunciante | Obrigatório | string |
event_time |
Hora do evento, arredondada para a hora mais próxima | Obrigatório | data e hora |
ativado |
Definido pelo anunciante | Opcional | string |
app_version |
Definido pelo anunciante | Opcional | string |
id_anúncio |
ID do anúncio | Opcional | string |
ad_name |
Nome do anúncio | Opcional | string |
ad_type |
Exemplo: banner, footer | Opcional | string |
id_conjunto_de_anúncios |
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 |
Canal |
Fonte do canal de mídia Fonte do canal de mídia Fonte do canal de mídia Exemplo: YouTube para Google, Instagram para Meta Ads | Opcional | string |
platforma |
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.
Nota
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. |
| id_da_campanha | 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. |
| campaign_name | Sem | string | O nome da campanha. |
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:
- Plataforma de colaboração de dados - Configure a sua nuvem
- Plataforma de colaboração de dados - Adicionar conexões
- Plataforma de colaboração de dados - Criar e gerenciar fontes
This article was translated using AI and may contain errors. For the most accurate information, please refer to the English version using the language selector.