Transferências do Campaign Manager

Com o serviço de transferência de dados do BigQuery para Campaign Manager, programe e gerencie 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 (anteriormente conhecido como DoubleClick Campaign Manager) é compatível atualmente com as seguintes opções de relatório:

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
Versão da API compatível 26 de junho de 2017
Programação

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.

Antes de começar

Antes de criar uma transferência do Campaign Manager, siga estas recomendações:

  • Verifique se você realizou todas as ações necessárias para ativar o serviço de transferência de dados do BigQuery.
  • Se estiver criando a transferência usando a IU clássica da Web do BigQuery, ative os pop-ups no navegador em bigquery.cloud.google.com para visualizar a janela de permissões. Conceda ao serviço de transferência de dados do BigQuery a permissão para gerenciar a transferência.
  • 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. Em ambos os casos, cobranças adicionais podem ser aplicadas.

    • 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 exigidas

  • BigQuery: verifique se a pessoa que está criando a transferência tem as permissões a seguir no BigQuery:

    • Permissões bigquery.transfers.update para criar a transferência
    • Permissões bigquery.datasets.update no conjunto de dados de destino

    O papel predefinido bigquery.admin do IAM inclui permissões bigquery.transfers.update e bigquery.datasets.update. Para mais informações sobre papéis do IAM no BigQuery Data Transfer Service, consulte Referência de controle de acesso.

  • 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.

Como configurar uma transferência do Campaign Manager

Veja o que é necessário para configurar uma transferência do Campaign Manager:

  • 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.

Como encontrar o código do Campaign Manager

Para recuperar seu ID do Campaign Manager, você pode usar o console do Cloud Storage para examinar os arquivos do seu bucket de transferência de dados do Campaign Manager no Cloud Storage. O código do Campaign Manager é usado para corresponder arquivos no bucket do Cloud Storage fornecido. O código 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 do nome do arquivo (opcional)

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

  1. Acesse a página do BigQuery no Console do Cloud.

    Acessar a página do BigQuery

  2. Clique em Transferências.

  3. Clique em Criar transferência.

  4. Na página Criar transferência:

    • Na seção Tipo de origem, em Origem, escolha Campaign Manager.

      Fonte da transferência

    • No campo Nome da configuração de transferência da seção Nome de exibição, insira um nome para a transferência, como My Transfer. Esse nome pode ter qualquer valor que identifique facilmente a transferência, caso seja necessário modificá-la futuramente.

      Nome da transferência

    • 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)
        • Semanal
        • Mensal
        • Personalizada
        • 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. Se você escolher Iniciar agora, essa opção ficará desativada.

        Programação da transferência

    • Na seção Configurações de destino, em Conjunto de dados de destino, escolha o conjunto criado para armazenar seus dados.

      Conjunto de dados da transferência

    • 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 esse nome, 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. Preencha o campo Prefixo do nome do arquivo somente se os arquivos no bucket do Cloud Storage tiverem nomes de arquivo personalizados como este exemplo.

        Detalhes da origem do Campaign Manager

    • 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 falha.
      • Em Selecionar um tópico do Pub/Sub, escolha o nome do seu 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.
  5. Clique em Salvar.

IU clássica

  1. Acesse a IU da Web do BigQuery.

    Acessar a IU da Web do BigQuery

  2. Clique em Transferências.

  3. Clique em Adicionar transferência.

  4. Na página Nova transferência:

    • Em Origem, selecione Campaign Manager (anteriormente conhecido como DCM).
    • Em Nome de exibição, insira um nome para a transferência, como My Transfer. Ele pode ter qualquer valor que identifique facilmente a transferência, caso seja necessário modificá-la no futuro;
    • Em Destination dataset, escolha o conjunto apropriado.
    • Em bucket do Cloud Storage, insira o nome do bucket do Cloud Storage que armazena os arquivos da Transferência de dados V2.0. Ao inserir esse nome, 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. Preencha o campo Prefixo do nome do arquivo somente se os arquivos no bucket do Cloud Storage tiverem nomes de arquivo personalizados como este exemplo.

      Transferência do Campaign Manager

    • (Opcional) Expanda a seção Avançado e configure as notificações de execução da transferência.

      • Em Tópico do Pub/Sub, insira o nome do seu tópico. Por exemplo: projects/myproject/topics/mytopic.
      • Marque Enviar notificações por e-mail para permitir notificações por e-mail sobre falhas na execução da transferência.
      • Não marque Desativada ao configurar uma transferência. Para desativar transferências, consulte Como trabalhar com transferências.

        Tópico do Pub/Sub

  5. Clique em Add.

  6. Quando solicitado, clique em Permitir para conceder ao serviço de transferência de dados do BigQuery a permissão para acessar os dados de relatórios do Campaign Manager e gerenciá-los no BigQuery. É necessário permitir pop-ups do endereço bigquery.cloud.google.com para ver a janela de permissões.

    Permitir transferência

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

Onde:

  • project_id é o ID do projeto.
  • dataset é o conjunto de dados de destino na configuração da transferência.
  • name é o nome de exibição da configuração de transferência. Esse nome pode ser qualquer valor que identifique facilmente a transferência, caso seja necessário modificá-la futuramente.
  • parameters contém os parâmetros da configuração da transferência criada no formato JSON. Por exemplo, --params='{"param":"param_value"}'. Para o Campaign Manager, você deve fornecer os parâmetros bucket e network_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 específico. Se --project_id não for especificado, o projeto padrão será usado.

Por exemplo, o comando a seguir cria uma transferência 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 é 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.

Solução de problemas da configuração da transferência do Campaign Manager

Se você estiver com problemas para configurar a transferência, consulte Problemas de transferência do Campaign Manager em Como solucionar problemas de configuração do serviço de transferência de dados do BigQuery.

Como 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 Google Data 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

O exemplo de consulta a seguir recupera as campanhas mais recentes.

Console

SELECT
  Campaign,
  Campaign_ID
FROM
  `dataset.match_table_campaigns_campaign_manager_id`
WHERE
  _DATA_DATE = _LATEST_DATE

bq

bq query --use_legacy_sql=false \
'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

O exemplo de consulta a seguir analisa o número de impressões e usuários distintos por campanha nos últimos 30 dias.

Console

# 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

bq

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)

bq query --use_legacy_sql=false \
'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

O exemplo de consulta a seguir analisa as campanhas mais recentes nos últimos 30 dias ordenadas por campanha e data.

Console

# 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

bq

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
bq query --use_legacy_sql=false \
'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 dentro de um período

O exemplo de consulta a seguir analisa o número de impressões e usuários distintos por campanha e ntre start_date e end_date.

Console

# 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

bq

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
bq query --use_legacy_sql=false \
'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

O exemplo de consulta 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.

Console

# 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

bq

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
bq query --use_legacy_sql=false \
'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 consulta de amostra 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.

Console

# 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

bq

# START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
# END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
bq query --use_legacy_sql=false \
'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'