Carregue dados do Campaign Manager para o BigQuery
Pode carregar dados do Campaign Manager para o BigQuery através do conetor do Serviço de transferência de dados do BigQuery para o Campaign Manager. Com o Serviço de transferência de dados do BigQuery, pode agendar tarefas de transferência recorrentes que adicionam os dados mais recentes do Campaign Manager ao BigQuery.
Vista geral do conetor
O Serviço de transferência de dados do BigQuery para o conetor do Campaign Manager suporta as seguintes opções para a transferência de dados.
Para ver informações sobre como os relatórios do Campaign Manager são transformados em tabelas e vistas do BigQuery, consulte o artigo Transformações de relatórios do Campaign Manager.
Opções de transferência de dados | Apoio técnico |
---|---|
Relatórios suportados | O conector do Campaign Manager suporta a transferência de dados dos seguintes relatórios: |
Frequência de repetição | O conetor do Campaign Manager suporta a transferência de dados a cada 8 horas. Por predefinição, as transferências de dados do Campaign Manager são agendadas no momento em que a transferência de dados é criada. |
Período de atualização | O conetor do Campaign Manager obtém dados do Campaign Manager até 2 dias no momento em que a transferência de dados é executada. Não pode configurar o período de atualização para este conetor.
Para mais informações, consulte o artigo Períodos de atualização. |
Disponibilidade de dados de preenchimento | Execute um repreenchimento de dados para obter dados fora da transferência de dados agendada. Pode obter dados até ao limite permitido pela política de retenção de dados na sua origem de dados. Para informações sobre a política de retenção de dados do Display & Video 360, consulte o artigo Controlos de eliminação e retenção de dados. |
Carregamento de dados de transferências do Campaign Manager
Quando transfere dados do Campaign Manager para o BigQuery, os dados são carregados em tabelas do BigQuery particionadas por data. A partição da tabela na qual os dados são carregados corresponde à data da origem de dados. Se agendar várias transferências para a mesma data, o Serviço de transferência de dados do BigQuery substitui a partição dessa data específica pelos dados mais recentes. As várias transferências no mesmo dia ou a execução de preenchimentos não resultam em dados duplicados, e as partições para outras datas não são afetadas.Atualize as janelas
Um período de atualização é o número de dias que uma transferência de dados obtém dados quando ocorre uma transferência de dados. Por exemplo, se a janela de atualização for de três dias e ocorrer uma transferência diária, o Serviço de transferência de dados do BigQuery obtém todos os dados da tabela de origem dos últimos três dias. Neste exemplo, quando ocorre uma transferência diária, o Serviço de transferência de dados do BigQuery cria uma nova partição da tabela de destino do BigQuery com uma cópia dos dados da tabela de origem do dia atual e, em seguida, aciona automaticamente execuções de preenchimento para atualizar as partições da 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 substituem ou atualizam incrementalmente a tabela de destino do BigQuery, consoante as atualizações incrementais sejam ou não suportadas no conector do Serviço de transferência de dados do BigQuery.
Quando executa uma transferência de dados pela primeira vez, a transferência de dados obtém 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 executar a transferência de dados pela primeira vez, o Serviço de transferência de dados do BigQuery obtém todos os dados de origem no prazo de três dias.
Para obter dados fora do período de atualização, como dados do histórico, ou para recuperar dados de quaisquer indisponibilidades ou lacunas de transferência, pode iniciar ou agendar uma execução de preenchimento.
Antes de começar
Antes de criar uma transferência de dados do Campaign Manager:
- Verifique se concluiu 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 a sua organização tem acesso aos ficheiros da Transferência de dados do Campaign Manager v2 (DTv2 do Campaign Manager). Estes ficheiros são enviados pela equipa do Campaign Manager para um contentor do Cloud Storage. Para aceder aos ficheiros DTv2 do Campaign Manager, o passo seguinte depende de ter um contrato direto com o Campaign Manager. Em ambos os casos, podem ser aplicáveis custos adicionais.
- Se tiver um contrato com o Campaign Manager, contacte o apoio técnico do Campaign Manager para configurar ficheiros DTv2 do Campaign Manager.
- Se não tiver um contrato com o Campaign Manager, a sua agência ou revendedor do Campaign Manager pode ter acesso a ficheiros DTv2 do Campaign Manager. Contacte a sua agência ou revendedor para ter acesso a estes ficheiros.
Depois de concluir este passo, recebe um nome do contentor do Cloud Storage semelhante ao seguinte:
dcdt_-dcm_account123456
Se pretender configurar notificações de execução de transferências para o Pub/Sub, tem de ter autorizações
pubsub.topics.setIamPolicy
. Para mais informações, consulte o artigo Notificações de execução do Serviço de transferência de dados do BigQuery.
Autorizações necessárias
BigQuery: certifique-se de que a pessoa que cria a transferência de dados tem as seguintes autorizações no BigQuery:
- Autorizações
bigquery.transfers.update
para criar a Transferência de dados - Autorizações de
bigquery.datasets.get
ebigquery.datasets.update
no conjunto de dados de destino
A
bigquery.admin
função de IAM predefinida inclui as autorizaçõesbigquery.transfers.update
,bigquery.datasets.update
ebigquery.datasets.get
. Para mais informações sobre as funções do IAM no Serviço de transferência de dados do BigQuery, consulte o artigo Controlo de acesso.- Autorizações
Campaign Manager: acesso de leitura aos ficheiros DTv2 do Campaign Manager armazenados no armazenamento na nuvem. O acesso é gerido pela entidade a partir da qual recebeu o contentor do Cloud Storage.
Configure uma transferência do Campaign Manager
A configuração de uma transferência de dados do Campaign Manager requer:
Contentor do Cloud Storage: o URI do contentor do Cloud Storage para os seus ficheiros DTv2 do Campaign Manager, conforme descrito em Antes de começar. O nome do contentor deve ser semelhante ao seguinte:
dcdt_-dcm_account123456
ID do Campaign Manager: o ID da rede, do anunciante ou do Floodlight do Campaign Manager. O ID da rede é o elemento principal na hierarquia.
Encontre o seu ID do Campaign Manager
Para obter o ID do Campaign Manager, pode usar a consola do Cloud Storage para examinar os ficheiros no contentor do Cloud Storage da Transferência de dados do Campaign Manager. O ID do Campaign Manager é usado para fazer corresponder ficheiros no contentor do Cloud Storage fornecido. O ID está incorporado no nome do ficheiro e não no nome do contentor do Cloud Storage.
Por exemplo:
- Num ficheiro denominado
dcm_account123456_activity_*
, o ID é 123456. - Num ficheiro denominado
dcm_floodlight7890_activity_*
, o ID é 7890. - Num ficheiro denominado
dcm_advertiser567_activity_*
, o ID é 567.
Encontrar o prefixo do nome de ficheiro
Em casos raros, os ficheiros no seu contentor do Cloud Storage podem ter nomes de ficheiros personalizados e não padrão que foram configurados para si pela equipa de serviços da Google Marketing Platform.
Por exemplo:
- Num ficheiro denominado
dcm_account123456custom_activity_*
, o prefixo é dcm_account123456custom, ou seja, tudo o que está antes de_activity
.
Contacte o apoio técnico do Campaign Manager se precisar de ajuda.
Crie uma transferência de dados para o Campaign Manager
Consola
Aceda à página Transferências de dados na Google Cloud consola.
Clique em
Criar transferência.Na página Criar transferência:
Na secção Tipo de origem, em Origem, escolha Campaign Manager.
Na secção Nome da configuração de transferência, em Nome a apresentar, introduza um nome para a transferência de dados, como
My Transfer
. O nome da transferência pode ser qualquer valor que lhe permita identificar a transferência se precisar de a modificar mais tarde.Na secção Opções de programação, para Programação, deixe o valor predefinido (Começar agora) ou clique em Começar a uma hora definida.
- Para Repetições, escolha uma opção para a frequência de execução da transferência. Se escolher uma opção diferente de Diário, estão disponíveis opções adicionais. Por exemplo, se escolher Semanalmente, é apresentada uma opção para selecionar o dia da semana.
- Para Data de início e hora de execução, introduza a data e a hora de início da transferência de dados. Se escolher Começar agora, esta opção é desativada.
Na secção Definições de destino, para Conjunto de dados de destino, escolha o conjunto de dados que criou para armazenar os seus dados.
Na secção Detalhes da origem de dados:
- Para o contentor do Cloud Storage, introduza ou procure o nome do contentor do Cloud Storage que armazena os seus ficheiros da Transferência de dados V2.0. Quando introduzir o nome do contentor, não inclua
gs://
. - Para o ID do DoubleClick, introduza o ID do Campaign Manager adequado.
- (Opcional) Se os seus ficheiros tiverem nomes padrão, como estes exemplos, deixe o campo Prefixo do nome do ficheiro em branco. Especifique um prefixo do nome do ficheiro se os ficheiros no seu contentor do Cloud Storage tiverem nomes de ficheiros personalizados.
- Para o contentor do Cloud Storage, introduza ou procure o nome do contentor do Cloud Storage que armazena os seus ficheiros da Transferência de dados V2.0. Quando introduzir o nome do contentor, não inclua
(Opcional) Na secção Opções de notificação:
- Clique no botão para ativar as notificações por email. Quando ativa esta opção, o administrador da transferência recebe uma notificação por email quando uma execução de transferência falha.
- Em Selecionar um tópico do Pub/Sub, escolha o nome do tópico ou clique em Criar um tópico. Esta opção configura notificações executadas pelo Pub/Sub para a transferência.
Clique em Guardar.
bq
Introduza o comando bq mk
e forneça a flag de criação de transferência —
--transfer_config
. Os seguintes indicadores também são obrigatórios:
--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
Onde:
- project_id é o ID do seu projeto.
- dataset é o conjunto de dados de destino para a configuração da Transferência de dados.
- name é o nome a apresentar da configuração de transferência de dados. O nome da transferência pode ser qualquer valor que lhe permita identificar a transferência se precisar de a modificar mais tarde.
- parameters contém os parâmetros da configuração de transferência de dados criada no formato JSON. Por exemplo:
--params='{"param":"param_value"}'
. Para o Campaign Manager, tem de fornecer os parâmetrosbucket
enetwork_id
.bucket
é o contentor de armazenamento na nuvem que contém os seus ficheiros DTv2 do Campaign Manager.network_id
é o ID da rede, do Floodlight ou do anunciante. - data_source é a origem de dados:
dcm_dt
(Campaign Manager).
Também pode fornecer a flag --project_id
para especificar um projeto
em particular. Se --project_id
não for especificado, é usado o projeto predefinido.
Por exemplo, o comando seguinte cria uma transferência de dados do Campaign Manager denominada My Transfer
com o ID do Campaign Manager 123456
, o contentor 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 ficheiros personalizados raros.
A transferência de dados é criada no projeto predefinido:
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
Depois de executar o comando, recebe uma mensagem semelhante à seguinte:
[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 comandos.
API
Use o método projects.locations.transferConfigs.create
e forneça uma instância do recurso TransferConfig
.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Resolva problemas de configuração da transferência do Campaign Manager
Se estiver a ter problemas com a configuração da transferência de dados, consulte o artigo Problemas de transferência do Campaign Manager em Resolução de problemas de configurações de transferência.
Consultar os seus dados
Quando os dados são transferidos para o BigQuery, são gravados em tabelas particionadas por tempo de ingestão. Para mais informações, consulte o artigo Introdução às tabelas particionadas.
Se consultar as tabelas diretamente em vez de usar as vistas geradas automaticamente, tem de usar a pseudocoluna _PARTITIONTIME
na consulta. Para mais informações,
consulte o artigo Consultar tabelas particionadas.
Consultas de exemplo do Campaign Manager
Pode usar as seguintes consultas de exemplo do Campaign Manager para analisar os dados transferidos. Também pode usar as consultas numa ferramenta de visualização, como o Looker Studio. Estas consultas são fornecidas para ajudar a começar a consultar os dados do Campaign Manager com o BigQuery. Se tiver mais dúvidas sobre o que pode fazer com estes relatórios, contacte o seu representante técnico do Campaign Manager.
Em cada uma das seguintes consultas, substitua as variáveis, como dataset, pelos seus valores.
Campanhas mais recentes
A seguinte consulta de exemplo de SQL obtém as campanhas mais recentes.
SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE
Impressões e utilizadores distintos por campanha
A seguinte consulta de exemplo de SQL analisa o número de impressões e utilizadores 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 seguinte consulta de exemplo de SQL 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 utilizadores distintos por campanha num intervalo de datas
A consulta de exemplo de SQL seguinte analisa o número de impressões e utilizadores 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 utilizadores distintos por campanha
A seguinte consulta de exemplo de SQL analisa o número de impressões, cliques, atividades e utilizadores distintos por campanha nos últimos 30 dias. Nesta consulta, substitua as variáveis, como campaign_list, pelos seus valores. Por exemplo, substitua campaign_list por uma lista separada por vírgulas de todas as campanhas do Campaign Manager de interesse no âmbito 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 seguinte consulta de exemplo de SQL analisa a atividade da campanha nos últimos 30 dias. Nesta consulta, substitua as variáveis, como campaign_list, pelos seus valores. Por exemplo, substitua campaign_list por uma lista separada por vírgulas de todas as campanhas do Campaign Manager de interesse no âmbito 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