Configure e use os relatórios de Cost ETL do ROI360

Premium

Resumo: O Cost ETL, parte do ROI360 da AppsFlyer, fornece dados de custo de campanha com a melhor granularidade disponível por fonte de mídia. Os dados, atualizados até 4 vezes por dia, são enviados para seu serviço de nuvem, prontos para serem carregados nos seus sistemas de BI.

5896_CostETL_graphic__2_.png

O Cost ETL, parte do ROI360 da AppsFlyer, fornece dados de custo de campanha com a melhor granularidade disponível por fonte de mídia. Até 4 vezes por dia, os dados são atualizados e enviados ao seu serviço de nuvem no Data Locker, prontos para serem carregados nos seus sistemas de BI.

Você pode enviar relatórios facilmente para vários destinos em nuvem de uma só vez. Isso agiliza o trabalho de transição de um serviço de nuvem para outro, pois os dados ficam acessíveis em vários serviços simultaneamente.

Os relatórios de Cost ETL incluem dados de custo vinculados à atribuição da AppsFlyer, incluindo métricas de atribuição como instalações, reatribuições e reengajamentos. 

Quatro tipos de relatórios de Cost ETL

A AppsFlyer oferece quatro tipos de relatórios de Cost ETL, oferecendo suporte a diferentes necessidades de análise.

  • Summary report: (padrão) dados de custo de alto nível agregados por fonte de mídia. Recomendado para a análise das métricas de custo e performance em um nível amplo.
  • Geo report: (opcional) dados de custo divididos por país (códigos de 2 letras), como US, CA e BR. Recomendado para a análise de performance e de custos a nível local.
  • Channel report: (opcional) dados de custo segmentados por canal (por exemplo, YouTube, Shopping). Recomendado para a análise da performance a nível de canal e análise de custos.
    Ver arquivo de amostra.
  • All Cost Report: uma visão abrangente dos dados de custos dentro e fora do mobile, provenientes diretamente das ad networks, sem dados de atribuição. Atualmente disponível para Google Ads, Meta Ads e TikTok.
    Ver arquivo de amostra.

    Atenção

    Para começar a receber dados do Google Ads e Meta Ads no relatório de todos os custos, entre em contato com seu representante da AppsFlyer.

Tabela de visão geral dos tipos de relatório de Cost ETL

  Summary Geo Channel Relatório de todos os custos
Para acessar o relatório Ative o Cost ETL. O Summary report é selecionado por padrão. Ative o Cost ETL e selecione o Geo report. Ative o Cost ETL e selecione o Channel report. Ative o Cost ETL e selecione o Geo report. (o All Cost report não possui um seletor específico na página do Cost ETL)
Onde encontrar o relatório Depende do serviço de conector de nuvem escolhido. Pode ser uma pasta (Summary) ou uma tabela dedicada. Depende do serviço de conector de nuvem escolhido. Pode ser uma pasta (Geo) ou uma tabela dedicada. Depende do serviço de conector de nuvem escolhido. Pode ser uma pasta (Channel) ou uma tabela dedicada. Depende do serviço de conector de nuvem escolhido. Pode ser uma pasta (All Cost) ou uma tabela dedicada.
Tipo de cobertura

Custo mobile: sem limitações.
CTV e custo da web - limitado a:
 

  1. Campanhas com pelo menos uma conversão
  2. A fonte de custo é a InCost API, Cost Import, ou CPI
Igual à do Summary report. Igual à do Summary report. Custo mobile, web, CTV, PC e console do Google Ads, Meta Ads e TikTok.
Cobertura da fonte de mídia Sem limitações Sem limitações Sem limitações
  • TikTok: os dados são adicionados automaticamente.
  • Google e Meta: entre em contato com seu CSM para ativar.
Granularidade do esquema Com base na configuração do cliente nas configurações de Cost ETL.

Com base na configuração do cliente nas configurações de Cost ETL.


Para o Meta, a dimensão do canal não tem valores.

Com base na configuração do cliente nas configurações de Cost ETL.


Para o Meta, a dimensão geo não tem valor.

Com base na configuração do cliente nas configurações de Cost ETL.

Para o Meta, a dimensão channel não é compatível.
Plataforma: uma nova dimensão da ad network que indica onde a campanha é executada (por exemplo, mobile, desktop, tablet).

Dados de atribuição Disponível Disponível Disponível

Indisponível.


Os valores das métricas de atribuição são exibidos como zero (0), se forem configurados pelo cliente para fazer parte do esquema de Cost ETL.

App ID Se a ad network não oferecer suporte à granularidade do App ID, o App ID é extraído dos dados de atribuição. Igual à do Summary report. Igual à do Summary report.

Extraído da ad network.


Se o App ID não for relatado, o valor é considerado "unknown".

Fonte de custo Integração da API (Cost + InCost), Cost Import, CPI Igual à do Summary report. Igual à do Summary report. Somente integração da API.
CNC Disponível Disponível Disponível Indisponível.
Dados da agência Disponível Disponível Disponível
  • Facebook e Meta: Indisponível.
  • TikTok: Disponível apenas para campanhas com App ID na AppsFlyer.
Taxa da agência Disponível Disponível Disponível Indisponível. O valor é sempre 0.
Atualização Os dados são coletados da ad network seis vezes por dia.
Os relatórios podem ser entregues até 4 vezes por dia (com base na configuração do cliente).

Detalhes do relatório

Atualização dos dados

Os dados de custo da campanha são registrados:

  • No seu bucket para visualização, transferência e carregamento de dados de custos nos seus sistemas.
  • Para todos os aplicativos que você escolher incluir no Cost ETL, por dia e por versão.
  • Até 4 vezes por dia (atualização dos dados: intradiário).
  • Para o dia atual e nos 6 dias anteriores (referidos como 7 dias neste artigo), bem como os dias 14, 29 e 88. Leve isso em consideração no seu processo de carregamento de dados.
    • Exemplo: Para a data de 14 de outubro de 2024, o arquivo contém dados de 14 de outubro (o dia atual), 13 de outubro (1 dia atrás), 12 de outubro (2 dias atrás), 11 de outubro (3 dias atrás), 10 de outubro (4 dias atrás), 9 de outubro (5 dias atrás), 8 de outubro (6 dias atrás), 30 de setembro (14 dias atrás), 15 de setembro (29 dias atrás) e 18 de julho (88 dias atrás).
    • Os dados retroativos permitem atualizações e correções ao relatar os dados de custos.
  • Para custos que correspondem a atribuição, clique ou impressão.
    Atenção:
    • Os dados relativos aos últimos 7 dias são extraídos novamente do canal de mídia. Os dados relativos aos dias 14, 29 e 88 são processados novamente.
    • Apenas os dados de custos são atualizados retroativamente; não os dados de atribuição.

Diretório e estrutura de nomes de arquivos

Os dados registrados no serviço de nuvem ou bucket têm o diretório e a estrutura de arquivos descritos a seguir:

  • Quando o Cost ETL termina de registrar em um diretório, uma flag é definida através da criação de um arquivo de sucesso. Esse é sempre o timestamp de data/hora mais recente no diretório. 
  • O número de pastas/arquivos é o seguinte:
    • Resumo: Até 4 pastas de versão por dia.
      • Cada pasta de versão contém arquivos parquet com 7 dias de dados.
    • Relatório de geo ou canal: Cada relatório contém até 4 pastas de versão por dia.
      • Cada pasta de versão contém arquivos parquet que contêm dados com numeração a partir de 1.
    • [Beta fechado] Todos os custos: Com base na dimensão geo, contém até 4 arquivos por dia.

Estrutura do diretório de conexão do Data Locker

///t=/dt=/v=<1/2/3/4>/

Variável Conteúdo
client-bucket Nome do bucket conforme configurado no serviço de nuvem
DL-generated-partition Partição gerada, exclusiva por cliente
connection-name Nome da conexão conforme definido durante a configuração do Data Locker
t

O nome do relatório específico. Seja:

  • cost_etl_summary
  • cost_etl_geo
  • cost_etl_channel
  • [Beta fechado] cost_etl_all_cost_geo
dt
  • A data do relatório, ou seja, a data em que o relatório foi enviado.
  • AAAA-MM-DD
v
  • A versão cronológica do relatório por dia (até 4 relatórios diários)
  • Números inteiros entre 1-4
Parquet file number
  • Numerados a partir de 00000
  • Exemplo: part-

Estrutura do diretório de conexão do Cost ETL

/cost_etl/version/dt=/b=//

Variável Conteúdo
advertiser_bucket_name Tal como definido na configuração do Cost ETL: af-xpend-cost-etl-<af-account-id>-[sufixo do nome do seu bucket]
cost_etl Sempre cost_etl
version Versão do Cost ETL
date

Data do custo

Formato: aaaa-mm-dd

batch Número 1-4,
dimension

Dimensão dos dados:

  • geo
  • canal
file_name
  • summary
  • all-cost
Parquet file number
  • Numerados a partir de 00000
  • Exemplo: part-

Exemplo: Para a primeira extração de dados de 23 de junho de 2020, a estrutura do nome do diretório e do arquivo é a seguinte: /bucket-name/cost_etl/v1/dt=2020-06-23/b=1/geo/part-00001

Campos de arquivo

Campos/Dimensões

Campo Observações Sempre preenchido Formato Incluído no arquivo de resumo
ad Componente da hierarquia publicitária Não String -
ad_account
  • Conta de anúncios da qual foram extraídos os dados de custos
  • Relevante para networks nas quais a conexão é feita através de oAuth (login com as suas credenciais), por exemplo, no Google Ads ou Meta Ads
Não String -
ad_id Componente da hierarquia publicitária Não String
adset Componente da hierarquia publicitária Não String -
adset_id Componente da hierarquia publicitária Não String -
af_bid_strategy Estratégia de bidding mapeada e normalizada pela AppsFlyer. Componente das propriedades da campanha. Saiba mais Não String  -
af_cost_model Modelo de custo mapeado e normalizado pela AppsFlyer. Componente das propriedades da campanha. Saiba mais Não String  -
agency Agência responsável pela colocação do anúncio Não String -
app_id ID do aplicativo na plataforma da AppsFlyer Sim String
bid_amount Componente das propriedades da campanha. Saiba mais Não Número inteiro -
bid_strategy Componente das propriedades da campanha. Saiba mais Não String  -
campaign Componente da hierarquia publicitária Não String -
campaign_id Componente da hierarquia publicitária Não String -
campaign_objective Componente das propriedades da campanha. Saiba mais Não String  -
canal Dimensão na hierarquia da publicidade Não String
cost_model Componente das propriedades da campanha. Saiba mais Não String  -
currency Moeda do gasto do anunciante conforme configurada para o app na AppsFlyer Sim String de 3 caracteres em conformidade com a norma ISO-4217
date Data em que o custo foi reportado pelo canal de mídia Sim String aaaa-mm-dd
geo Dimensão na hierarquia da publicidade Não Cadeia de 2 caracteres em conformidade com a norma ISO 3166
keyword_id ID dos termos da palavra-chave no ASA Sim String -
keyword_term Palavra(s) usada(s) pelo usuário na pesquisa online Sim String  -
media_source Canal de mídia responsável pela exibição do anúncio Sim String
original_bid_amount Componente das propriedades da campanha. Saiba mais Não Número inteiro -
original_currency Moeda do custo tal como reportada pela ad network antes de quaisquer conversões Sim String de 3 caracteres em conformidade com a norma ISO-4217 -
os

Sistema operacional do dispositivo. Valores possíveis:

  • android
  • windowsphone
  • ios
Sim String -
platform A plataforma usada para executar a campanha (mobile, tablet, desktop e CTV) Somente All Cost report String -
site_id Publisher ID Não String  -
timezone
  • Fuso horário dos dados tal como estão armazenados na AppsFlyer
  • Às vezes, as ad networks comunicam dados em um fuso horário diferente daquele definido na AppsFlyer. Esse ponto de dados ajuda a explicar as discrepâncias de custo entre a AppsFlyer e as ad networks
Sim String  -

Métricas

Campo Observações Sempre preenchido Formato Incluído no arquivo de resumo
ccvr
  • Custo por conversão
  • Fórmula: Custo / (instalações + reatribuições + reengajamentos)
  Número inteiro
clicks
  • Contado pela AppsFlyer.
  • Inclui UA e retargeting.
  • Engaged clicks são subtraídos do número total de cliques.
  Número inteiro
clicks_discrepancy
  • Diferença entre as impressões contadas pela ad network e pela AppsFlyer
  • Desconsidere essa métrica se:
    • não há uma correspondência entre o custo e a atribuição.
    • A ad network não é compatível com cliques relatados.
  Número inteiro -
cost Valor das despesas (incluindo taxas de agências, se relevante)   Valor
cost_without_fees Custo menos a taxa de agência. Contado pela AppsFlyer Sim Número inteiro -
cpi
  • Contado pela AppsFlyer
  • Fórmula: Custo / instalações
  Número inteiro
ctr
  • Click-through rate. Contado pela AppsFlyer
  • Fórmula: Cliques / impressões
Não Número inteiro -
cvr
  • Taxa de conversão. Contado pela AppsFlyer
  • Fórmula: Instalações / cliques
  Número inteiro  -
cvvr
  • Taxa de visualização de vídeo concluída Contado pela AppsFlyer
  • Fórmula: Número de conclusões do vídeo / impressões do vídeo
  Número inteiro -
ecpc
  • Contado pela AppsFlyer
  • Fórmula: Custo / cliques
  Número inteiro -
ecpm
  • Contado pela AppsFlyer
  • Fórmula: (Custo / impressões) x 1.000 
  Número inteiro
fees Taxas que uma agência cobra para além do custo normal do anúncio. Contadas pela AppsFlyer Sim Número inteiro -
impressions
  • Contado pela AppsFlyer.
  • Inclui UA e retargeting.
  • Engaged views são subtraídas do número total de impressões.

Sim.

Se não estiver disponível nenhum valor para uma determinada métrica, ela é preenchida com 0.

Número inteiro
impressions_discrepancy
  • Diferença entre as impressões contadas pela ad network e pela AppsFlyer
  • Desconsidere essa métrica se:
    • não há uma correspondência entre o custo e a atribuição.
    • A ad network não é compatível com impressões relatadas.
  Número inteiro -
installs Contado pela AppsFlyer   Número inteiro
installs_discrepancy
  • Diferença entre as impressões contadas pela ad network e pela AppsFlyer
  • Desconsidere essa métrica se:
    • não há uma correspondência entre o custo e a atribuição.
    • A ad network não é compatível com conversões relatadas.
  Número inteiro -
original_cost Custo conforme reportado pela ad network, na moeda informada pela ad network antes de qualquer conversão de moeda (taxas de agência calculadas pela AppsFlyer são adicionadas quando relevante)   Valor  -
original_cost_without_fees Custo original, conforme reportado pela ad network, sem taxas de agência Sim Número inteiro -
re_attributions Contado pela AppsFlyer   Número inteiro
re_engagements Contado pela AppsFlyer   Número inteiro
reported_clicks Contado pelo canal de mídia   Número inteiro
reported_conversions Contado pelo canal de mídia   Número inteiro  
reported_cvr
  • Taxa de conversão reportada
  • Fórmula: Conversões reportadas / cliques reportados
  Número inteiro
reported_impressions Contado pelo canal de mídia   Número inteiro
video_25p_views 25% do vídeo reproduzido Reportado pela ad network   Número inteiro
video_50p_views 50% do vídeo reproduzido Reportado pela ad network   Número inteiro
video_75p_views 75% do vídeo reproduzido Reportado pela ad network   Número inteiro
video_completions Reportado pela ad network   Número inteiro

Procedimentos

Configurar Cost ETL

Esse procedimento de configuração deve ser feito por um usuário administrador.

Antes de começar:

A configuração do Cost ETL requer:

  • Um serviço de nuvem configurado com permissão para que a AppsFlyer registre dados nele. Isso significa que você precisa configurar 1 ou mais dos seguintes serviços de nuvem:
  • Você precisa ser administrador da conta da AppsFlyer e do acesso à interface do usuário da AppsFlyer para concluir a configuração do Cost ETL.

AppsFlyerAdmin_us-en.png Para configurar o Cost ETL: 

  1. Na AppsFlyer, no menu lateral, selecione Exportar > Cost ETL.
  2. Selecione ou configure uma conexão de dados:
    • Se você já tiver conexões de dados configuradas, no menu suspenso de Conexão, selecione as conexões desejadas para o Cost ETL.
    • Se você ainda não tiver uma conexão de dados, clique em + Nova conexão no Data Locker e crie uma conexão lá:
      1. Dê um nome à sua conexão.
      2. Selecione um destino para os dados no seu cloud service. Faça uma das seguintes opções:
        • Selecione S3.
          1. Insira o nome do seu bucket S3 da AWS. O prefixo af-af-af- é obrigatório e deve ser inserido manualmente.
          2. Clique em Testar conexão.
          3. Verifique se uma mensagem de erro indicando que o bucket path é inválido é exibida.
          4. Selecione se deseja tornar essa conexão compatível com a Adobe Experience Platform.
          5. Clique em Salvar.
          6. Na configuração do Cost ETL, no menu suspenso de Conexão, selecione o serviço de nuvem que você criou.
        • Selecione GCS.
          1. Insira o nome do bucket do GCS.
          2. Clique em Testar conexão.
          3. Verifique se uma mensagem de erro indicando que o bucket path é inválido é exibida.
          4. Selecione se deseja tornar essa conexão compatível com a Adobe Experience Platform.
          5. Clique em Salvar.
          6. Na configuração do Cost ETL, no menu suspenso de Conexão, selecione o serviço de nuvem que você criou.
        • [Beta] Selecione Azure.
          1. Insira seu Nome de conexão, Nome da conta de armazenamento e Chave.
          2. Verifique se uma mensagem de erro indicando que o bucket path é inválido é exibida.
          3. Selecione se deseja tornar essa conexão compatível com a Adobe Experience Platform.
          4. Clique em Save.
          5. Na configuração do Cost ETL, no menu suspenso de Conexão, selecione o serviço de nuvem que você criou.
        • [Beta] Selecione Yandex.
          1. Insira o nome do bucket, a chave de acessoe a chave secreta.
          2. Verifique se uma mensagem de erro indicando que o bucket path é inválido é exibida.
          3. Selecione se deseja tornar essa conexão compatível com a Adobe Experience Platform.
          4. Clique em Save.
          5. Na configuração do Cost ETL, no menu suspenso de Conexão, selecione o serviço de nuvem que você criou.
        • Selecione BigQuery.
          1. Insira o project ID do BigQuery e o nome do conjunto de dados.
          2. Clique em Testar conexão.
          3. Verifique se uma mensagem de erro indicando que o bucket path é inválido é exibida.
          4. Clique em Save.
          5. Na configuração do Cost ETL, no menu suspenso de Conexão, selecione o serviço de nuvem que você criou.
        • Selecione Snowflake.
          1. Insira sua região e o ID da conta do Snowflake.
          2. Clique em Testar conexão.
          3. Verifique se uma mensagem de erro indicando que o bucket path é inválido é exibida.
          4. Clique em Save.
          5. Na configuração do Cost ETL, no menu suspenso de Conexão, selecione o serviço de nuvem que você criou.
  3. Clique em Próximo.
  4. Configure o relatório Version schedule (UTC):
    1. Selecione quantos relatórios receber por dia (1, 2, 3 ou 4).
    2. Selecione a hora em que deseja receber os relatórios. Saiba mais
    3. Clique em Próximo.
  5. Configure os detalhes do relatório:
    1. Selecione 1 ou mais aplicativos para incluir nos relatórios. Selecione Adicionar todos os aplicativos futuros para incluir automaticamente os apps que você adicionar no futuro.
    2. Selecione os relatórios que melhor atendem às suas necessidades de análise. Consulte as descrições na seção Tipos de relatório.
      • O Summary report é selecionado por padrão.
      • Para receber um relatório de All cost, é necessário selecionar o Geo report.
    3. Selecione as dimensões a serem incluídas nos relatórios. Atenção: Se você optar por receber o relatório Geo, a dimensão de geo será incluída por padrão. Se você optar por receber o relatório Canal, a dimensão do canal será incluída por padrão. 
    4. Selecione as métricas a serem incluídas nos relatórios. 
  6. Clique em Aplicar.

Editar ou alterar conexão

Você pode editar ou alterar conexões para obter dados enviados para locais diferentes (ou adicionais). 

Atenção: Depois de mudar para uma conexão existente, você não poderá reverter para a sua conexão anterior do Cost ETL.

Editar conexão

Para os editar detalhes de conexão:

  1. Na AppsFlyer, no menu lateral, selecione Exportar > Cost ETL.
  2. Na seção Conexão de dados:
    • Para conexões do Data Locker, no menu suspenso Conexão, passe o mouse sobre a conexão que você deseja editar. Os detalhes da conexão são exibidos. Clique em Editar no Data Locker.
    • Para conexões de Cost ETL, clique no menu suspenso detalhes de conexão. Os detalhes da conexão são exibidos.
  3. Siga as instruções na tela para editar seus detalhes de conexão.
  4. Clique em Salvar alterações ou em Aplicar conforme solicitado.

Alterar conexão do Data Locker

Para mudar de uma conexão para outra:

  1. Na AppsFlyer, no menu lateral, selecione Exportar > Cost ETL.
  2. Na seção Conexão de dados:
    • Se você já tiver as conexões do Data Locker que deseja configurar, no menu suspenso de Conexão, selecione as conexões desejadas para Cost ETL.
    • Se você ainda não tiver uma conexão do Data Locker que deseja configurar, clique em + Nova conexão no Data Locker e crie uma conexão lá. Em seguida, volte para as configurações de Cost ETL e selecione-a no menu suspenso de Conexão.
  3. Clique em Salvar alterações.

Mudar a conexão do Cost ETL para Data Locker

Antes de começar:

  • Depois de alternar para uma conexão Data Locker, você não poderá voltar para sua conexão de Cost ETL anterior.
  • Ao alternar para uma conexão Data Locker, a estrutura de folder path muda para o seguinte formato, sem afetar os dados do relatório:

    ///t=/dt=/v=<1/2/3/4>/

Para mudar de uma conexão de Cost ETL para uma conexão Data Locker:

  1. Na AppsFlyer, no menu lateral, selecione Exportar > Cost ETL.
  2. Em Conexão de dados, clique em Conexões do Data Locker.
  3. Siga um desses procedimentos para configurar a conexão do Data Locker:
    • Se você já tiver as conexões de dados que deseja configurar, no menu suspenso de Conexão, selecione as conexões desejadas para o Cost ETL.
    • Se você ainda não tiver a conexão de dados que deseja configurar, clique em + Nova conexão no Data Locker e crie uma conexão lá. Em seguida, volte para as configurações de Cost ETL e selecione-a no menu suspenso de Conexão.
  4. Clique em Salvar alterações.

Alterar propriedade de objetos no AWS

No AWS, por padrão, quando a AppsFlyer registra objetos no seu bucket, o proprietário do objeto é a AppsFlyer. Dependendo do seu processo de envio de dados, talvez você precise alterar a propriedade predefinida para você - o proprietário do bucket.  

Para alterar a propriedade dos objetos no seu bucket:

  1. Entre no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.
  2. Na lista Buckets, escolha o nome do bucket para o qual você deseja ativar o Object Ownership S3.
  3. Acesse a aba de Permissions.
  4. Em Object Ownership, clique em Edit.
  5. Selecione o propietário do bucket desejado.
  6. Clique em Save.

Práticas recomendadas

Cronograma de relatório

As configurações de cronograma de relatório permitem que você acesse os dados mais atualizados quando precisar. 

Ao escolher seu cronograma de relatório: 

  • Selecione a hora em que o relatório será exibido - o mais próximo possível da hora em que você começa a processar dados em seu sistema de BI.
  • Se você tiver qualquer ad network que forneça os dados do dia anterior mais tarde do que os outras, configure um relatório adicional no momento em que os dados dessa ad network estiverem prontos.

Substituir dados

Ao extrair e analisar os seus dados, recomendamos extrair dados para uma data e um lote específicos, ou que substitua todos os dados anteriores para os dias que o lote atual fornece. Caso contrário, você poderá ver os mesmos dados repetidos.

Por exemplo, o lote 1 em 20 de fevereiro contém dados de 14 a 20 de fevereiro. Mas os lotes registrados em 19 de fevereiro também continham dados de 14 a 19 de fevereiro. Substitua os dados dos dias anteriores recebidos em 19 de fevereiro pelos dados recebidos no lote mais recente de 20 de fevereiro.

Geo versus canal

Nem todas as ad networks fornecem dados para todas as dimensões em conjunto. Os dados de geo e de canal no Meta ads são os exemplos mais comuns. É por isso que são fornecidos dois conjuntos de dados separados. É garantido que o conjunto de dados de geo contém dados geográficos e que o conjunto de dados de canais contém dados de canais.

Em muitos casos e para muitos canais de mídia, os dados nos conjuntos geo e de canais serão idênticos. Como tal, consuma um dos conjuntos de dados (geo ou canal), de acordo com o que melhor se adequa às suas necessidades.

Se o acordo de integração com um determinado canal de mídia não incluir o canal, fazendo com que esse canal fique em branco, tratamos esses dados como se contivessem o canal. 

Dados agregados

O Cost ETL fornece dados flexíveis e granulares tão detalhados quanto podem ser extraídos da ad network. Para extrair informações úteis de quantidades tão grandes de dados, recomenda-se a agregação dos dados da forma que melhor se adapte às necessidades da sua empresa. Por exemplo, se você precisar compreender os dados de custos a nível da campanha e de país, use essas dimensões.

Padronização entre ad networks

Nem todas as ad networks fornecem dados com a mesma granularidade. Por exemplo, o Meta Ads não fornece dados de site ID cost, enquanto o X Ads não fornece dados geo cost. Preste atenção nesses casos quando for agregar dados no Cost ETL e certifique-se de analisar dados parecidos ao comparar ad networks.

Comparar dados

O Cost ETL fornece informações sobre todos os seus dados de custos. Algumas campanhas fornecidas no Cost ETL não aparecem em alguns dashboards da AppsFlyer - por exemplo, dados de campanhas inativas, ou seja, campanhas sem nenhuma instalação registrada. Para comparar os dados, procure um campaign ID específico no dashboard de visão geral e compare-o com os seus dados de custo no Cost ETL. Saiba mais sobre a disponibilidade dos dados de custos

Combinar Geo report e All Cost report

Para obter dados de custo completos relacionados à atribuição para Google, Meta, TikTok (mobile e não mobile) e outras fontes de mídia (somente mobile), use a seguinte consulta:

with etl as (
    select *
    from etl
    where media_source = 'Facebook Ads'
      and date = '2025-07-16'
),

allcost as (
    select *
    from allcost
    where media_source = 'Facebook Ads'
      and date = '2025-07-16'
),

main as (
    select
        case when etl.date is null then 'all cost' else 'cost etl' end as report,
        coalesce(etl.date, allcost.date) as date,
        coalesce(etl.app_id, allcost.app_id) as app_id,
        etl.os,
        allcost.platform,
        coalesce(etl.media_source, allcost.media_source) as media_source,
        coalesce(etl.agency, allcost.agency) as agency,
        coalesce(etl.campaign_id, allcost.campaign_id) as campaign_id,
        coalesce(etl.campaign, allcost.campaign) as campaign,
        coalesce(etl.adset_id, allcost.adset_id) as adset_id,
        coalesce(etl.adset, allcost.adset) as adset,
        coalesce(etl.ad_id, allcost.ad_id) as ad_id,
        coalesce(etl.ad, allcost.ad) as ad,
        coalesce(etl.geo, allcost.geo) as geo,
        coalesce(etl.channel, allcost.channel) as channel,
        coalesce(etl.site_id, allcost.site_id) as site_id,
        coalesce(etl.ad_account, allcost.ad_account) as ad_account,
        coalesce(etl.keyword_id, allcost.keyword_id) as keyword_id,
        coalesce(etl.keywords, allcost.keywords) as keywords,
        coalesce(etl.campaign_objective, allcost.campaign_objective) as campaign_objective,
        coalesce(etl.af_cost_model, allcost.af_cost_model) as af_cost_model,
        coalesce(etl.bid_strategy, allcost.bid_strategy) as bid_strategy,
        coalesce(etl.af_bid_strategy, allcost.af_bid_strategy) as af_bid_strategy,
        coalesce(etl.currency, allcost.currency) as currency,
        coalesce(etl.cost, allcost.cost) as cost,
        coalesce(etl.impressions, allcost.impressions) as impressions,
        coalesce(etl.clicks, allcost.clicks) as clicks,
        coalesce(etl.installs, allcost.installs) as installs,
        coalesce(etl.re_attributions, allcost.re_attributions) as re_attributions,
        coalesce(etl.re_engagements, allcost.re_engagements) as re_engagements,
        coalesce(etl.original_cost, allcost.original_cost) as original_cost,
        coalesce(etl.reported_impressions, allcost.reported_impressions) as reported_impressions,
        coalesce(etl.reported_clicks, allcost.reported_clicks) as reported_clicks,
        coalesce(etl.reported_conversions, allcost.reported_conversions) as reported_conversions,
        coalesce(etl.ctr, allcost.ctr) as ctr,
        coalesce(etl.cvr, allcost.cvr) as cvr,
        coalesce(etl.ecpm, allcost.ecpm) as ecpm,
        coalesce(etl.cpi, allcost.cpi) as cpi,
        coalesce(etl.ccvr, allcost.ccvr) as ccvr,
        coalesce(etl.cvvr, allcost.cvvr) as cvvr,
        coalesce(etl.reported_cvr, allcost.reported_cvr) as reported_cvr,
        coalesce(etl.install_diff, allcost.install_diff) as install_diff,
        coalesce(etl.click_diff, allcost.click_diff) as click_diff,
        coalesce(etl.impression_diff, allcost.impression_diff) as impression_diff,
        coalesce(etl.ecpc, allcost.ecpc) as ecpc,
        coalesce(etl.video_25p_views, allcost.video_25p_views) as video_25p_views,
        coalesce(etl.video_50p_views, allcost.video_50p_views) as video_50p_views,
        coalesce(etl.video_75p_views, allcost.video_75p_views) as video_75p_views,
        coalesce(etl.video_completions, allcost.video_completions) as video_completions
    from etl
    full join allcost
        on etl.date = allcost.date
        and etl.app_id = allcost.app_id
        and etl.media_source = allcost.media_source
        and etl.campaign_id = allcost.campaign_id
        and etl.adset_id = allcost.adset_id
        and etl.ad_id = allcost.ad_id
        and etl.channel = allcost.channel
        and etl.geo = allcost.geo
        and etl.agency = allcost.agency
        and etl.site_id = allcost.site_id
        and etl.keyword_id = allcost.keyword_id
),

dedup as (
    select *,
           row_number() over (
               partition by date, media_source, agency, campaign_id, adset_id, ad_id, geo, channel, site_id, keyword_id
               order by report desc, cost desc
           ) as rank_for_dedup
    from main
)

select *
from dedup
where rank_for_dedup = 1;

Combinar relatórios do Cost ETL e de Cohort

Você pode combinar relatórios de Cost ETL custo com relatórios agregados de Cohort (ou relatórios padrão de Cohort via Data Locker) em seu sistema de BI. Juntos, eles oferecem uma visão mais completa da sua performance de marketing com dados atualizados e precisos (incluindo cliques, impressões, custo, receita, eventos in-app, etc). Você pode usar esses dados combinados para acessar seu ROAS, CPA, etc. Saiba mais

Informações adicionais

Características e limitações

Caraterística Observações
Fuso horário Se o fuso horário for alterado, os dados de custos aparecem duplicados no dia e no dia seguinte à alteração. Saiba mais
Atualização dos dados
  • Intradiário. Durante a configuração do Cost ETL, você define o cronograma de relatórios, ou seja, quando você deseja que os relatórios sejam enviados.
  • Os dados geralmente chegam no intervalo de uma hora antes da hora selecionada. Portanto, se você deseja que um relatório seja enviado até as 6h, ele chegará entre as 5 e 6h.

Atenção: Quando os dados de custos chegam ao seu bucket, a transferência de dados para os seus sistemas de BI pode variar muito, dependendo do tamanho do relatório e do arquivo parquet, que pode ir de alguns KBs a muitos GBs. 

Relatório de todos os custos
  • Não inclui dados de custo para campanhas de Google Performance Max.
  • Sem suporte para alterações no nome da campanha
Dados de custo de campanhas SKAN
  • O Cost ETL somente fornece dados de custo para campanhas na SKAN se a campanha tiver pelo menos uma conversão clássica.
  • Para campanhas que têm somente conversões da SKAN, os dados de custo só estão disponíveis se:
    • A ad network relacionada é o Twitter (X) ou Meta, ou
    • A integração com a ad network é marcada como Campanha inativa (Coluna M= "Sim" nessa lista).
Suporte para aplicativos de CTV e PC Aplicativos de PC e CTV não estão disponíveis para relatórios de Cost ETL.
Disponibilidade de custo do Google Web e Meta Web
 
Para incluir dados de custo de Google Web (pid=googleads_int) e Meta Web (pid=metaweb_int) no relatório All Cost, você deve criar uma conexão de custo na aba Custo das suas integrações ativas do Google Ads (pid=googleadwords_int) e Meta Ads (pid=facebook_int). Sem essas conexões, os dados de custo do Google e do Meta Web não aparecerão no relatório.