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.
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.
|
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 |
|
| 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.
|
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 channel não é compatível. |
| Dados de atribuição | Disponível | Disponível | Disponível |
Indisponível.
|
| 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.
|
| 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 |
|
| 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.
- Resumo: Até 4 pastas de versão por dia.
Estrutura do diretório de conexão do Data Locker
| 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:
|
| dt |
|
| v |
|
| Parquet file number |
|
Estrutura do diretório de conexão do Cost ETL
| 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:
|
| file_name |
|
| Parquet file number |
|
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 |
|
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:
|
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 |
|
Sim | String | - |
Métricas
| Campo | Observações | Sempre preenchido | Formato | Incluído no arquivo de resumo |
|---|---|---|---|---|
| ccvr |
|
Número inteiro | - | |
| clicks |
|
Número inteiro | ✓ | |
| clicks_discrepancy |
|
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 |
|
Número inteiro | - | |
| ctr |
|
Não | Número inteiro | - |
| cvr |
|
Número inteiro | - | |
| cvvr |
|
Número inteiro | - | |
| ecpc |
|
Número inteiro | - | |
| ecpm |
|
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 |
|
Sim. Se não estiver disponível nenhum valor para uma determinada métrica, ela é preenchida com 0. |
Número inteiro | ✓ |
| impressions_discrepancy |
|
Número inteiro | - | |
| installs | Contado pela AppsFlyer | Número inteiro | ✓ | |
| installs_discrepancy |
|
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 |
|
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.
- Na AppsFlyer, no menu lateral, selecione Exportar > Cost ETL.
- 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á:
- Dê um nome à sua conexão.
-
Selecione um destino para os dados no seu cloud service. Faça uma das seguintes opções:
- Selecione S3.
- Insira o nome do seu bucket S3 da AWS. O prefixo
af-af-af- é obrigatório e deve ser inserido manualmente. - Clique em Testar conexão.
- Verifique se uma mensagem de erro indicando que o bucket path é inválido é exibida.
- Selecione se deseja tornar essa conexão compatível com a Adobe Experience Platform.
- Clique em Salvar.
- Na configuração do Cost ETL, no menu suspenso de Conexão, selecione o serviço de nuvem que você criou.
- Insira o nome do seu bucket S3 da AWS. O prefixo
- Selecione GCS.
- Insira o nome do bucket do GCS.
- Clique em Testar conexão.
- Verifique se uma mensagem de erro indicando que o bucket path é inválido é exibida.
- Selecione se deseja tornar essa conexão compatível com a Adobe Experience Platform.
- Clique em Salvar.
- Na configuração do Cost ETL, no menu suspenso de Conexão, selecione o serviço de nuvem que você criou.
- [Beta] Selecione Azure.
- Insira seu Nome de conexão, Nome da conta de armazenamento e Chave.
- Verifique se uma mensagem de erro indicando que o bucket path é inválido é exibida.
- Selecione se deseja tornar essa conexão compatível com a Adobe Experience Platform.
- Clique em Save.
- Na configuração do Cost ETL, no menu suspenso de Conexão, selecione o serviço de nuvem que você criou.
- [Beta] Selecione Yandex.
- Insira o nome do bucket, a chave de acessoe a chave secreta.
- Verifique se uma mensagem de erro indicando que o bucket path é inválido é exibida.
- Selecione se deseja tornar essa conexão compatível com a Adobe Experience Platform.
- Clique em Save.
- Na configuração do Cost ETL, no menu suspenso de Conexão, selecione o serviço de nuvem que você criou.
- Selecione BigQuery.
- Insira o project ID do BigQuery e o nome do conjunto de dados.
- Clique em Testar conexão.
- Verifique se uma mensagem de erro indicando que o bucket path é inválido é exibida.
- Clique em Save.
- Na configuração do Cost ETL, no menu suspenso de Conexão, selecione o serviço de nuvem que você criou.
- Selecione Snowflake.
- Insira sua região e o ID da conta do Snowflake.
- Clique em Testar conexão.
- Verifique se uma mensagem de erro indicando que o bucket path é inválido é exibida.
- Clique em Save.
- Na configuração do Cost ETL, no menu suspenso de Conexão, selecione o serviço de nuvem que você criou.
- Selecione S3.
- Dê um nome à sua conexão.
- Se você já tiver conexões de dados configuradas, no menu suspenso de Conexão, selecione as conexões desejadas para o Cost ETL.
- Clique em Próximo.
- Configure o relatório Version schedule (UTC):
- Selecione quantos relatórios receber por dia (1, 2, 3 ou 4).
- Selecione a hora em que deseja receber os relatórios. Saiba mais
- Clique em Próximo.
- Configure os detalhes do relatório:
- 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.
- Selecione os relatórios que melhor atendem às suas necessidades de análise. Consulte as descrições na seção Tipos de relatório.
- 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.
- Selecione as métricas a serem incluídas nos relatórios.
- 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.
- 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:
- Na AppsFlyer, no menu lateral, selecione Exportar > Cost ETL.
- Na seção Conexão de dados:
- Siga as instruções na tela para editar seus detalhes de conexão.
- Clique em Salvar alterações ou em Aplicar conforme solicitado.
Alterar conexão do Data Locker
Para mudar de uma conexão para outra:
- Na AppsFlyer, no menu lateral, selecione Exportar > Cost ETL.
- 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.
- 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.
- 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:
- Na AppsFlyer, no menu lateral, selecione Exportar > Cost ETL.
- Em Conexão de dados, clique em Conexões do Data Locker.
- 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.
- 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.
- 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:
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 |
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 |
|
| Dados de custo de campanhas SKAN |
|
| 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. |