Transferências do Campaign Manager
Com o conector do serviço de transferência de dados do BigQuery para Campaign Manager, é possível programar e gerenciar automaticamente jobs de carregamento recorrentes de dados de relatório do Campaign Manager.
Relatórios compatíveis
O serviço de transferência de dados do BigQuery para Campaign Manager (antigo DoubleClick Campaign Manager) é compatível com as seguintes opções de relatório:
- Arquivos de transferência de dados v2 (DTv2 do Campaign Manager)
- Tabelas de correspondências de transferência de dados v2 (DTv2 do Campaign Manager)
Para ver informações sobre como os relatórios do Campaign Manager são transformados em tabelas e visualizações do BigQuery, consulte Transformações de relatório do Campaign Manager.
Opção de relatório | Suporte |
---|---|
Repetir frequência | A cada 8 horas, com base no tempo de criação. Não configurável |
Atualizar janela | Últimos 2 dias Não configurável |
Duração máxima do preenchimento | Últimos 60 dias O Campaign Manager mantém os arquivos de transferência de dados por até 60 dias. Ele excluirá os arquivos que excederem esse período. |
Ingestão de dados das transferências do Campaign Manager
Ao transferir dados do Campaign Manager para o BigQuery, eles são carregados em tabelas do BigQuery particionadas por data. A partição da tabela em que os dados são carregados corresponde à data da fonte de dados. Se você programar várias transferências para a mesma data, o serviço de transferência de dados do BigQuery substituirá a partição dessa data específica pelos dados mais recentes. Várias transferências no mesmo dia ou preenchimentos não resultam em dados duplicados, e as partições de outras datas não são afetadas.Atualizar janelas
Uma janela de atualização é o número de dias que uma transferência de dados recupera dados quando ocorre uma transferência de dados. Por exemplo, se a janela de atualização for de três dias e uma transferência diária ocorrer, o serviço de transferência de dados do BigQuery vai extrair todos os dados da tabela de origem dos últimos três dias. Nesse exemplo, quando uma transferência diária ocorre, o serviço de transferência de dados do BigQuery cria uma nova partição de tabela de destino do BigQuery com uma cópia dos dados da tabela de origem do dia atual e, em seguida, aciona automaticamente as execuções de preenchimento para atualizar as partições de tabela de destino do BigQuery com os dados da tabela de origem dos últimos dois dias. As execuções de preenchimento automático acionadas automaticamente vão substituir ou atualizar de forma incremental a tabela de destino do BigQuery, dependendo de se as atualizações incrementais são aceitas ou não pelo conector do serviço de transferência de dados do BigQuery.
Quando você executa uma transferência de dados pela primeira vez, ela recupera todos os dados de origem disponíveis na janela de atualização. Por exemplo, se a janela de atualização for de três dias e você executar a transferência de dados pela primeira vez, o serviço de transferência de dados do BigQuery vai recuperar todos os dados de origem em três dias.
As janelas de atualização são mapeadas para o campo da APITransferConfig.data_refresh_window_days
.
Para recuperar dados fora da janela de atualização, como dados históricos, ou para recuperar dados de interrupções ou lacunas de transferência, inicie ou programe uma execução de preenchimento.
Antes de começar
Antes de criar uma transferência de dados do Campaign Manager:
- Verifique se você realizou todas as ações necessárias para ativar o serviço de transferência de dados do BigQuery.
- Crie um conjunto de dados do BigQuery para armazenar os dados do Campaign Manager.
Certifique-se de que sua organização tenha acesso aos arquivos de transferência de dados v2 do Campaign Manager (DTv2 do Campaign Manager). Esses arquivos são entregues pela equipe do Campaign Manager a um bucket do Cloud Storage. Para ter acesso aos arquivos DTv2 do Campaign Manager, a próxima etapa será diferente se você tiver um contrato direto com o Campaign Manager. Nos dois casos, é possível que haja a cobrança de taxas extras.
- Se você tiver um contrato com o Campaign Manager, entre em contato com o suporte do Campaign Manager para configurar os arquivos DTv2 do Campaign Manager.
- Se você não tiver um contrato com o Campaign Manager, sua agência ou o revendedor do Campaign Manager poderá ter acesso aos arquivos DTv2 do Campaign Manager. Entre em contato com a agência ou o revendedor para ter acesso a esses arquivos.
Depois de concluir essa etapa, você receberá um nome de bucket do Cloud Storage semelhante ao seguinte:
dcdt_-dcm_account123456
Se você pretende configurar notificações de execução de transferência para o Pub/Sub, é preciso ter permissões
pubsub.topics.setIamPolicy
. Para saber mais informações, consulte Notificações de execução do serviço de transferência de dados do BigQuery.
Permissões necessárias
BigQuery: verifique se a pessoa que está criando a transferência de dados tem as permissões a seguir no BigQuery:
- Permissões
bigquery.transfers.update
para criar a transferência de dados - Permissões
bigquery.datasets.get
ebigquery.datasets.update
no conjunto de dados de destino
O papel predefinido
bigquery.admin
do IAM inclui permissõesbigquery.transfers.update
,bigquery.datasets.update
ebigquery.datasets.get
. Para mais informações sobre os papéis do IAM no serviço de transferência de dados do BigQuery, consulte o controle de acesso.- Permissões
Campaign Manager: acesso de leitura aos arquivos DTv2 do Campaign Manager armazenados no Cloud Storage. O acesso é gerenciado pela entidade em que você recebeu o bucket do Cloud Storage.
Configurar uma transferência do Campaign Manager
Para configurar uma transferência de dados do Campaign Manager, é necessário:
Bucket do Cloud Storage: o URI do bucket do Cloud Storage referente aos arquivos DTv2 do Campaign Manager, conforme descrito em Antes de começar. O nome do bucket é semelhante a este:
dcdt_-dcm_account123456
Código do Campaign Manager: código do Campaign Manager Network, Advertiser ou Floodlight. O código do Network é o pai na hierarquia.
Encontrar seu ID do Campaign Manager
Para recuperar seu ID do Campaign Manager, use o console do Cloud Storage para examinar os arquivos do seu bucket de transferência de dados do Campaign Manager no Cloud Storage. O ID do Campaign Manager é usado para corresponder arquivos no bucket do Cloud Storage fornecido. O ID fica incorporado no nome do arquivo, e não no nome do bucket do Cloud Storage.
Exemplo:
- Em um arquivo chamado
dcm_account123456_activity_*
, o ID é 123456. - Em um arquivo chamado
dcm_floodlight7890_activity_*
, o ID é 7890. - Em um arquivo chamado
dcm_advertiser567_activity_*
, o ID é 567.
Como encontrar o prefixo de nome de arquivo
Em casos raros, os arquivos no seu bucket do Cloud Storage podem ter nomes personalizados, fora do padrão, que foram configurados para você pela equipe de serviços do Google Marketing Platform.
Exemplo:
- Em um arquivo chamado
dcm_account123456custom_activity_*
, o prefixo é dcm_account123456custom, tudo antes de_activity
.
Entre em contato com o suporte do Campaign Manager se precisar de ajuda.
Criar uma transferência de dados para o Campaign Manager
Console
Acesse a página "Transferências de dados" no console do Google Cloud.
Clique em
Criar transferência.Na página Criar transferência:
Na seção Tipo de origem, em Origem, escolha Campaign Manager.
No campo Nome de exibição da seção Transferir nome da configuração, insira um nome para a transferência de dados, como
My Transfer
. O nome da transferência pode ser qualquer valor que permita identificá-la, caso você precise modificá-la mais tarde.Na seção Opções de programação, não altere o valor padrão de Programação (Começar agora). Se preferir, clique em Começar no horário definido.
Em Repetições, escolha uma opção para a frequência de execução da transferência:
- Diário (padrão)
- Semanais
- Mensais
- Personalizadas
- Sob demanda
Se você escolher uma opção diferente de "Diário", outras opções estarão disponíveis. Por exemplo, se você escolher "Semanal", aparecerá uma opção para selecionar o dia da semana.
Em Data e hora de início, insira a data e a hora para iniciar a transferência de dados. Se você escolher Iniciar agora, essa opção ficará desativada.
Na seção Configurações de destino, em Conjunto de dados de destino, escolha o conjunto criado para armazenar seus dados.
Na seção Detalhes da fonte de dados:
- Em Bucket do Cloud Storage, insira ou procure o nome
do bucket do Cloud Storage
que armazena os arquivos do Data Transfer V2.0. Ao inserir o
nome do bucket, não inclua
gs://
. - Em Código da DoubleClick, digite o código adequado do Campaign Manager.
Opcional: se os arquivos tiverem nomes padrão como estes exemplos, deixe em branco o campo Prefixo do nome do arquivo. Especifique um prefixo de nome de arquivo se os arquivos no bucket do Cloud Storage tiverem nomes de arquivo personalizados.
- Em Bucket do Cloud Storage, insira ou procure o nome
do bucket do Cloud Storage
que armazena os arquivos do Data Transfer V2.0. Ao inserir o
nome do bucket, não inclua
Opcional: na seção Opções de notificação:
- Clique no botão para ativar as notificações por e-mail. Quando você ativa essa opção, o administrador de transferência recebe uma notificação por e-mail se uma execução de transferência falhar.
- Em Selecionar um tópico do Pub/Sub, escolha o nome do tópico ou clique em Criar um tópico. Essa opção configura notificações de execução do Pub/Sub da sua transferência.
Clique em Salvar.
bq
Insira o comando bq mk
e forneça a sinalização de execução da transferência
--transfer_config
. As sinalizações a seguir também são obrigatórias:
--data_source
--target_dataset
--display_name
--params
bq mk --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source
Em que:
- project_id é o ID do projeto;
- dataset é o conjunto de dados de destino na configuração da transferência de dados.
- name é o nome de exibição da configuração de transferência de dados. O nome da transferência pode ser qualquer valor que permita identificá-la facilmente, caso precise modificá-la mais tarde.
- parameters contém os parâmetros da configuração da
transferência de dadps criada no formato JSON. Por exemplo,
--params='{"param":"param_value"}'
. Para o Campaign Manager, você precisa fornecer os parâmetrosbucket
enetwork_id
.bucket
é o bucket do Cloud Storage que contém os arquivos do DTv2 do Campaign Manager;network_id
é o ID da rede, do Floodlight ou do anunciante; - data_source é a fonte de dados:
dcm_dt
(Campaign Manager).
Também é possível fornecer a sinalização --project_id
para especificar um projeto determinado. Se --project_id
não for especificado, o projeto padrão será usado.
Por exemplo, o comando a seguir cria uma transferência de dados do Campaign Manager
chamada My Transfer
usando o ID do Campaign Manager 123456
,
o bucket do Cloud Storage dcdt_-dcm_account123456
e o conjunto de dados de destino
mydataset
. O parâmetro file_name_prefix
é opcional e usado apenas
para nomes de arquivos raros e personalizados.
A transferência de dados é criada no projeto padrão:
bq mk --transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"bucket": "dcdt_-dcm_account123456","network_id": "123456","file_name_prefix":"YYY"}' \
--data_source=dcm_dt
Após executar o comando, você recebe uma mensagem semelhante a esta:
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
Siga as instruções e cole o código de autenticação na linha de comando.
API
Use o método projects.locations.transferConfigs.create
e forneça uma instância do recurso TransferConfig
.
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Resolver problemas de configuração de transferência do Campaign Manager
Se você tiver problemas para configurar a transferência de dados, consulte Problemas de transferência do Campaign Manager em Solução de problemas de configurações de transferência.
Consultar dados
Quando os dados são transferidos para o BigQuery, eles são gravados em tabelas particionadas por tempo de processamento. Para mais informações, consulte Introdução às tabelas particionadas.
Use a pseudocoluna _PARTITIONTIME
para consultar suas tabelas diretamente em vez de usar visualizações geradas automaticamente. Para mais informações, veja Como consultar tabelas particionadas.
Consultas de amostra do Campaign Manager
Use as consultas de amostra do Campaign Manager a seguir para analisar os dados transferidos. Também é possível usar as consultas em uma ferramenta de visualização, como o Looker Studio. Essas consultas são fornecidas para você começar a consultar seus dados do Campaign Manager com o BigQuery. Para solucionar outras dúvidas sobre o que fazer com esses relatórios, entre em contato com seu representante técnico do Campaign Manager.
Em todas as consultas a seguir, substitua as variáveis como dataset pelos seus valores.
Campanhas mais recentes
A amostra de consulta SQL a seguir recupera as campanhas mais recentes.
SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE
Impressões e usuários distintos por campanha
A amostra de consulta SQL a seguir analisa o número de impressões e usuários distintos por campanha nos últimos 30 dias.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.impression_campaign_manager_id` WHERE _DATA_DATE BETWEEN start_date AND end_date GROUP BY Campaign_ID, Date
Campanhas mais recentes ordenadas por campanha e data
A amostra de consulta SQL a seguir analisa as campanhas mais recentes nos últimos 30 dias ordenadas por campanha e data.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT Campaign, Campaign_ID, Date FROM ( SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT date AS Date FROM `bigquery-public-data.utility_us.date_greg` WHERE Date BETWEEN start_date AND end_date ) ORDER BY Campaign_ID, Date
Impressões e usuários distintos por campanha em um período
A amostra de consulta SQL a seguir analisa o número de impressões e usuários distintos por campanha entre start_date e end_date.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT base.*, imp.count AS imp_count, imp.du AS imp_du FROM ( SELECT * FROM ( SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT date AS Date FROM `bigquery-public-data.utility_us.date_greg` WHERE Date BETWEEN start_date AND end_date ) ) AS base LEFT JOIN ( SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.impression_campaign_manager_id` WHERE _DATA_DATE BETWEEN start_date AND end_date GROUP BY Campaign_ID, Date ) AS imp ON base.Campaign_ID = imp.Campaign_ID AND base.Date = imp.Date WHERE base.Campaign_ID = imp.Campaign_ID AND base.Date = imp.Date ORDER BY base.Campaign_ID, base.Date
Impressões, cliques, atividades e usuários distintos por campanha
A amostra de consulta SQL a seguir analisa o número de impressões, cliques, atividades e usuários distintos por campanha nos últimos 30 dias. Nesta consulta, substitua as variáveis como campaign_list por seus valores. Por exemplo, substitua campaign_list por uma lista separada por vírgulas de todas as campanhas do Campaign Manager de interesse no escopo da consulta.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT base.*, imp.count AS imp_count, imp.du AS imp_du, click.count AS click_count, click.du AS click_du, activity.count AS activity_count, activity.du AS activity_du FROM ( SELECT * FROM ( SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT date AS Date FROM `bigquery-public-data.utility_us.date_greg` WHERE Date BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) ) ) AS base LEFT JOIN ( SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.impression_campaign_manager_id` WHERE _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) GROUP BY Campaign_ID, Date ) AS imp ON base.Campaign_ID = imp.Campaign_ID AND base.Date = imp.Date LEFT JOIN ( SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.click_campaign_manager_id` WHERE _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) GROUP BY Campaign_ID, Date ) AS click ON base.Campaign_ID = click.Campaign_ID AND base.Date = click.Date LEFT JOIN ( SELECT Campaign_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.activity_campaign_manager_id` WHERE _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) GROUP BY Campaign_ID, Date ) AS activity ON base.Campaign_ID = activity.Campaign_ID AND base.Date = activity.Date WHERE base.Campaign_ID IN campaign_list AND (base.Date = imp.Date OR base.Date = click.Date OR base.Date = activity.Date) ORDER BY base.Campaign_ID, base.Date
Atividade da campanha
A amostra de consulta SQL a seguir analisa a atividade da campanha nos últimos 30 dias. Nesta consulta, substitua as variáveis como campaign_list por seus valores. Por exemplo, substitua campaign_list por uma lista separada por vírgulas de todas as campanhas do Campaign Manager de interesse no escopo da consulta.
# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) SELECT base.*, activity.count AS activity_count, activity.du AS activity_du FROM ( SELECT * FROM ( SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT mt_at.Activity_Group, mt_ac.Activity, mt_ac.Activity_Type, mt_ac.Activity_Sub_Type, mt_ac.Activity_ID, mt_ac.Activity_Group_ID FROM `dataset.match_table_activity_cats_campaign_manager_id` AS mt_ac JOIN ( SELECT Activity_Group, Activity_Group_ID FROM `dataset.match_table_activity_types_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE ) AS mt_at ON mt_at.Activity_Group_ID = mt_ac.Activity_Group_ID WHERE _DATA_DATE = _LATEST_DATE ), ( SELECT date AS Date FROM `bigquery-public-data.utility_us.date_greg` WHERE Date BETWEEN start_date AND end_date ) ) AS base LEFT JOIN ( SELECT Campaign_ID, Activity_ID, _DATA_DATE AS Date, COUNT(*) AS count, COUNT(DISTINCT User_ID) AS du FROM `dataset.activity_campaign_manager_id` WHERE _DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) GROUP BY Campaign_ID, Activity_ID, Date ) AS activity ON base.Campaign_ID = activity.Campaign_ID AND base.Activity_ID = activity.Activity_ID AND base.Date = activity.Date WHERE base.Campaign_ID IN campaign_list AND base.Activity_ID = activity.Activity_ID ORDER BY base.Campaign_ID, base.Activity_Group_ID, base.Activity_ID, base.Date