Transferências do Google Ad Manager

Com o serviço de transferência de dados do BigQuery para Google Ad Manager, é possível criar e gerenciar automaticamente jobs de carregamento recorrentes de dados de relatório do Google Ad Manager (antigo DoubleClick for Publishers).

Relatórios compatíveis

Atualmente, o serviço de transferência de dados do BigQuery para o Google Ad Manager é compatível com as seguintes opções de relatórios:

Para informações sobre como os relatórios do Google Ad Manager são transformados em tabelas e visualizações do BigQuery, consulte este artigo.

Opção de relatório Suporte
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 Google Ad Manager mantém os arquivos da transferência de dados por até 60 dias. Arquivos com mais de 60 dias são excluídos pelo Google Ad Manager.

Antes de começar

Antes de criar uma transferência do Google Ad 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.
  • Crie um conjunto de dados do BigQuery para armazenar os dados do Google Ad Manager.
  • Certifique-se de que sua organização tenha acesso aos arquivos de transferência de dados do Google Ad Manager (DT do Google Ad Manager). Esses arquivos são entregues pela equipe do Google Ad Manager a um bucket do Cloud Storage. Para ter acesso aos arquivos DT do Google Ad Manager, consulte os relatórios da Transferência de dados do Ad Manager. Sujeito a cobranças adicionais da equipe do Google Ad Manager.

    Após concluir esta etapa, você receberá um bucket do Cloud Storage semelhante a este:

    gdfp-12345678

    A equipe do Google Cloud NÃO pode gerar ou conceder acesso a arquivos DT do Google Ad Manager em seu nome. Entre em contato com o suporte do Google Ad Manager para ter acesso aos arquivos DT.

  • Ative o acesso da API à sua rede do Google Ad Manager.
  • Se você pretende configurar notificações de transferência, é necessário ter as permissões pubsub.topics.setIamPolicy do Pub/Sub. As permissões do Pub/Sub não serão necessárias caso você configure notificações por e-mail. Para 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 tem as permissões a seguir no BigQuery:

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

      O papel predefinido bigquery.admin do IAM inclui permissões bigquery.transfers.update, bigquery.datasets.update e bigquery.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.

    • Google Ad Manager: acesso de leitura aos arquivos DT do Google Ad Manager armazenados no Cloud Storage. As permissões para arquivos DT do Google Ad Manager são gerenciadas pela equipe do Google Ad Manager. Além dos arquivos DT do Google Ad Manager, a pessoa que cria a transferência precisa ser adicionada à rede do Google Ad Manager, com acesso de leitura a todas as entidades necessárias para criar as várias tabelas de correspondências (item de linha, pedido, bloco de anúncios etc.). Isso é feito mais facilmente adicionando o usuário do Ad Manager que autenticou a transferência para a equipe "Todas as entidades" no Ad Manager.

    Configurar uma transferência do Google Ad Manager

    Requisitos para configurar uma transferência de dados do BigQuery para o Google Ad Manager:

    • Bucket do Cloud Storage: o URI do bucket do Cloud Storage referente aos arquivos DT do Google Ad Manager, conforme descrito em Antes de começar. O nome do bucket é semelhante a este:

      gdfp-12345678
    • Código de rede: você verá o código de rede do Google Ad Manager no URL quando estiver conectado à rede. Por exemplo, no URL https://admanager.google.com/2032576#delivery, 2032576 é o código de rede. Para mais informações, consulte Primeiros passos com o Google Ad Manager.

    Para criar um serviço de transferência de dados do BigQuery para o Google Ad Manager, faça o seguinte:

    Console

    1. Acesse a página do BigQuery no console do Google Cloud.

      Acesse a página do BigQuery

    2. Clique em Transferências de dados.

    3. Clique em Criar transferência.

    4. Na página Criar transferência:

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

        Origem 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 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 origem de dados:

        • Em bucket do Cloud Storage, insira o nome do bucket do Cloud Storage que armazena os arquivos de transferência de dados. Ao inserir esse nome, não inclua gs://.
        • Em Código de rede, insira o código da rede.

          Detalhes da origem do Google Ad Manager

      • No menu Conta de serviço, selecione uma conta de serviço nas contas de serviço associadas ao seu projeto do Google Cloud. É possível associar uma conta de serviço à transferência em vez de usar suas credenciais de usuário. Para mais informações sobre o uso de contas de serviço com transferências de dados, consulte Usar contas de serviço.

      • 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.
    5. 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 abaixo também são obrigatórias:

    • --data_source
    • --target_dataset
    • --display_name
    • --params

    Sinalizações opcionais:

    • --service_account_name: especifica uma conta de serviço para usar na autenticação de transferência do Google Ad Manager em vez de sua conta de usuário.
    bq mk --transfer_config \
    --project_id=project_id \
    --target_dataset=dataset \
    --display_name=name \
    --params='parameters' \
    --data_source=data_source \
    --service_account_name=service_account_name
    

    Em que:

    • 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"}'. No Google Ad Manager, você precisa fornecer os parâmetros bucket e network_code. bucket é o bucket do Cloud Storage que contém seus arquivos DT do Google Ad Manager. network_code é seu código de rede;
    • data_source é a fonte de dados: dfp_dt (Google Ad Manager).
    • service_account_name é o nome da conta de serviço usado para autenticar a transferência. A conta de serviço precisa pertencer ao mesmo project_id usado para criar a transferência e ter todas as permissões necessárias.

    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, com o comando a seguir, você cria uma transferência do Google Ad Manager chamada My Transfer usando o código de rede 12345678, o bucket do Cloud Storage gdfp-12345678 e o conjunto de dados de destino mydataset. A transferência é criada no projeto padrão:

    bq mk --transfer_config \
    --target_dataset=mydataset \
    --display_name='My Transfer' \
    --params='{"bucket": "gdfp-12345678","network_code": "12345678"}' \
    --data_source=dfp_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.

    import com.google.api.gax.rpc.ApiException;
    import com.google.cloud.bigquery.datatransfer.v1.CreateTransferConfigRequest;
    import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
    import com.google.cloud.bigquery.datatransfer.v1.ProjectName;
    import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
    import com.google.protobuf.Struct;
    import com.google.protobuf.Value;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;
    
    // Sample to create a ad manager(formerly DFP) transfer config
    public class CreateAdManagerTransfer {
    
      public static void main(String[] args) throws IOException {
        // TODO(developer): Replace these variables before running the sample.
        final String projectId = "MY_PROJECT_ID";
        String datasetId = "MY_DATASET_ID";
        String bucket = "gs://cloud-sample-data";
        // the network_code can only be digits with length 1 to 15
        String networkCode = "12345678";
        Map<String, Value> params = new HashMap<>();
        params.put("bucket", Value.newBuilder().setStringValue(bucket).build());
        params.put("network_code", Value.newBuilder().setStringValue(networkCode).build());
        TransferConfig transferConfig =
            TransferConfig.newBuilder()
                .setDestinationDatasetId(datasetId)
                .setDisplayName("Your Ad Manager Config Name")
                .setDataSourceId("dfp_dt")
                .setParams(Struct.newBuilder().putAllFields(params).build())
                .build();
        createAdManagerTransfer(projectId, transferConfig);
      }
    
      public static void createAdManagerTransfer(String projectId, TransferConfig transferConfig)
          throws IOException {
        try (DataTransferServiceClient client = DataTransferServiceClient.create()) {
          ProjectName parent = ProjectName.of(projectId);
          CreateTransferConfigRequest request =
              CreateTransferConfigRequest.newBuilder()
                  .setParent(parent.toString())
                  .setTransferConfig(transferConfig)
                  .build();
          TransferConfig config = client.createTransferConfig(request);
          System.out.println("Ad manager transfer created successfully :" + config.getName());
        } catch (ApiException ex) {
          System.out.print("Ad manager transfer was not created." + ex.toString());
        }
      }
    }

    Resolver problemas de configuração de transferência do Google Ad Manager

    Se você tiver problemas para configurar a transferência, consulte Problemas de transferência do Google Ad 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.

    Use as consultas de amostra do Google Ad Manager a seguir para analisar seus 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 Google Ad Manager com o BigQuery. Se tiver mais dúvidas sobre o que é possível fazer com esses relatórios, entre em contato com seu representante técnico do Google Ad Manager.

    Em todas as consultas a seguir, substitua variáveis como dataset por seus valores. Por exemplo, substitua network_code pelo código de rede do Google Ad Manager.

    Impressões e usuários únicos por cidade

    Na seguinte consulta de amostra SQL, o número de impressões e usuários únicos é analisado por cidade nos últimos 30 dias.

    # START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    SELECT
      City,
      _DATA_DATE AS Date,
      count(*) AS imps,
      count(distinct UserId) AS uniq_users
    FROM `dataset.NetworkImpressionsnetwork_code`
    WHERE
      _DATA_DATE BETWEEN start_date AND end_date
    GROUP BY City, Date
    

    Impressões e usuários únicos por tipo de item de linha

    Na seguinte consulta de amostra do SQL, o número de impressões e usuários únicos é analisado por tipo de item de linha nos últimos 30 dias.

    # START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    SELECT
      MT.LineItemType AS LineItemType,
      DT._DATA_DATE AS Date,
      count(*) AS imps,
      count(distinct UserId) AS uniq_users
    FROM `dataset.NetworkImpressionsnetwork_code` AS DT
    LEFT JOIN `dataset.MatchTableLineItem_network_code` AS MT
    ON
      DT.LineItemId = MT.Id
    WHERE
      DT._DATA_DATE BETWEEN start_date AND end_date
    GROUP BY LineItemType, Date
    ORDER BY Date desc, imps desc
    

    Impressões por bloco de anúncios

    Na seguinte consulta de amostra SQL, o número de impressões é analisado por bloco de anúncios nos últimos 30 dias.

    # START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    SELECT
      MT.AdUnitCode AS AdUnitCode,
      DT.DATA_DATE AS Date,
      count(*) AS imps
    FROM `dataset.NetworkImpressionsnetwork_code` AS DT
    LEFT JOIN `dataset.MatchTableLineItem_network_code` AS MT
    ON
      DT.AdUnitId = MT.Id
    WHERE
      DT._DATA_DATE BETWEEN start_date AND end_date
    GROUP BY AdUnitCode, Date
    ORDER BY Date desc, imps desc
    

    Impressões por item de linha

    Na seguinte consulta de amostra SQL, o número de impressões é analisado por item de linha nos últimos 30 dias.

    # START_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY)
    # END_DATE = DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
    SELECT
      MT.Name AS LineItemName,
      DT._DATA_DATE AS Date,
      count(*) AS imps
    FROM `dataset.NetworkImpressionsnetwork_code` AS DT
    LEFT JOIN `dataset.MatchTableLineItem_network_code` AS MT
    ON
      DT.LineItemId = MT.Id
    WHERE
      DT._DATA_DATE BETWEEN start_date AND end_date
    GROUP BY LineItemName, Date
    ORDER BY Date desc, imps desc