Trasferimenti dei rapporti di Google Ad Manager

BigQuery Data Transfer Service per Google Ad Manager consente di creare e gestire automaticamente job di caricamento ricorrenti per i dati dei report di Google Ad Manager (precedentemente noto come DoubleClick for Publishers).

Report supportati

BigQuery Data Transfer Service per Google Ad Manager attualmente supporta le seguenti opzioni di generazione di report:

Per informazioni su come i report di Google Ad Manager vengono trasformati in tabelle e viste di BigQuery, consulta Trasformazioni dei report di Google Ad Manager.

Opzione di segnalazione Assistenza
Pianificazione

Ogni 8 ore, in base all'ora di creazione.

Non configurabile

Finestra di aggiornamento

Ultimi 2 giorni

Non configurabile

Durata massima del backfill

Ultimi 60 giorni

Google Ad Manager conserva i file Data Transfer per un massimo di 60 giorni. I file più vecchi di 60 giorni vengono eliminati da Google Ad Manager.

Importazione dati dai trasferimenti di Google Ad Manager

Quando trasferisci dati da Google Ad Manager a BigQuery, i dati vengono caricati in tabelle BigQuery partizionate per data. La partizione della tabella in cui vengono caricati i dati corrisponde alla data dell'origine dati. Se pianifichi più trasferimenti per la stessa data, BigQuery Data Transfer Service sovrascrive la partizione per quella data specifica con i dati più recenti. Più trasferimenti nello stesso giorno o backfill in esecuzione non generano dati duplicati e le partizioni per altre date non vengono interessate.

Prima di iniziare

Prima di creare un trasferimento Google Ad Manager:

  • Verifica di aver completato tutte le azioni necessarie per abilitare BigQuery Data Transfer Service.
  • Crea un set di dati BigQuery per archiviare i dati di Google Ad Manager.
  • Assicurati che la tua organizzazione abbia accesso ai file Data Transfer (DT di Google Ad Manager) di Google Ad Manager. Questi file vengono inviati dal team di Google Ad Manager in un bucket Cloud Storage. Per ottenere l'accesso ai file DT di Google Ad Manager, esamina i report Data Transfer di Ad Manager. Potrebbero essere addebitati costi aggiuntivi dal team di Google Ad Manager.

    Dopo aver completato questo passaggio, riceverai un bucket Cloud Storage simile al seguente:

    gdfp-12345678

    Il team di Google Cloud NON ha la possibilità di generare o concedere l'accesso a file DT di Google Ad Manager per tuo conto. Contatta l'assistenza di Google Ad Manager per accedere ai file DT di Google Ad Manager.

  • Attiva l'accesso API alla tua rete Google Ad Manager.
  • Se intendi configurare le notifiche di trasferimento, devi disporre delle autorizzazioni pubsub.topics.setIamPolicy per Pub/Sub. Le autorizzazioni Pub/Sub non sono necessarie se hai solo configurato le notifiche via email. Per maggiori informazioni, consulta Notifiche di esecuzione di BigQuery Data Transfer Service.
  • Autorizzazioni obbligatorie

    • BigQuery: assicurati che la persona che crea il trasferimento disponga delle seguenti autorizzazioni in BigQuery:

      • bigquery.transfers.update autorizzazioni per creare il trasferimento
      • Sia le autorizzazioni bigquery.datasets.get che bigquery.datasets.update per il set di dati di destinazione

      Il ruolo IAM predefinito bigquery.admin include le autorizzazioni bigquery.transfers.update, bigquery.datasets.update e bigquery.datasets.get. Per ulteriori informazioni sui ruoli IAM in BigQuery Data Transfer Service, consulta Controllo dell'accesso.

    • Google Ad Manager: accesso in lettura ai file DT di Google Ad Manager archiviati in Cloud Storage. Le autorizzazioni per i file DT di Google Ad Manager vengono gestite dal team di Google Ad Manager. Oltre ai file DT di Google Ad Manager, la persona che crea il trasferimento deve essere aggiunta alla rete Google Ad Manager, con accesso in lettura a tutte le entità necessarie per creare le varie tabelle delle corrispondenze (elemento pubblicitario, ordine, unità pubblicitaria e così via). Questo è possibile facilmente aggiungendo l'utente di Ad Manager che ha autenticato il trasferimento al team Tutte le entità in Ad Manager.

    Configurare un trasferimento di Google Ad Manager

    La configurazione di un trasferimento di dati BigQuery per Google Ad Manager richiede:

    • Bucket Cloud Storage: l'URI del bucket Cloud Storage per i file DT di Google Ad Manager, come descritto nella sezione Prima di iniziare. Il nome del bucket dovrebbe avere il seguente aspetto:

      gdfp-12345678
    • Codice di rete: troverai il codice di rete Google Ad Manager nell'URL quando hai eseguito l'accesso alla tua rete. Ad esempio, nell'URL https://admanager.google.com/2032576#delivery, 2032576 è il tuo codice di rete. Per ulteriori informazioni, consulta la guida introduttiva a Google Ad Manager.

    Per creare un trasferimento di BigQuery Data Transfer Service per Google Ad Manager:

    Console

    1. Vai alla pagina BigQuery nella console Google Cloud.

      Vai alla pagina di BigQuery

    2. Fai clic su Trasferimenti di dati.

    3. Fai clic su Crea trasferimento.

    4. Nella pagina Crea trasferimento:

      • Nella sezione Tipo di origine, per Origine, scegli Google Ad Manager.

        Origine trasferimento

      • Nella sezione Nome configurazione di trasferimento, per Nome visualizzato, inserisci un nome per il trasferimento, ad esempio My Transfer. Il nome del trasferimento può essere qualsiasi valore che ti consente di identificare facilmente il trasferimento se devi modificarlo in un secondo momento.

        Nome trasferimento

      • Nella sezione Impostazioni destinazione, per Set di dati di destinazione, scegli il set di dati che hai creato per archiviare i dati.

        Trasferisci set di dati

      • Nella sezione Dettagli origine dati:

        • In Bucket Cloud Storage, inserisci il nome del bucket Cloud Storage in cui sono archiviati i tuoi file Data Transfer. Quando inserisci il nome del bucket, non includere gs://.
        • In Codice di rete, inserisci il tuo codice di rete.

          Dettagli origine Google Ad Manager

      • Nel menu Account di servizio, seleziona un account di servizio tra quelli associati al tuo progetto Google Cloud. Puoi associare un account di servizio al trasferimento, anziché utilizzare le tue credenziali utente. Per ulteriori informazioni sull'utilizzo degli account di servizio con trasferimenti di dati, consulta Utilizzare gli account di servizio.

        • Se hai eseguito l'accesso con un'identità federata, è necessario un account di servizio per creare un trasferimento. Se hai eseguito l'accesso con un Account Google, un account di servizio per il trasferimento è facoltativo.
        • L'account di servizio deve disporre delle autorizzazioni richieste.
      • (Facoltativo) Nella sezione Opzioni di notifica:

        • Fai clic sul pulsante di attivazione/disattivazione per abilitare le notifiche via email. Quando abiliti questa opzione, l'amministratore dei trasferimenti riceve una notifica via email quando un'esecuzione del trasferimento non va a buon fine.
        • In Seleziona un argomento Pub/Sub, scegli il nome dell'argomento o fai clic su Crea un argomento. Questa opzione configura le notifiche dell'esecuzione di Pub/Sub per il trasferimento.
    5. Fai clic su Salva.

    bq

    Inserisci il comando bq mk e fornisci il flag di creazione del trasferimento --transfer_config. Sono richiesti anche i seguenti flag:

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

    Flag facoltativi:

    • --service_account_name: specifica un account di servizio da utilizzare per l'autenticazione del trasferimento di Google Ad Manager anziché il tuo account utente.
    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
    

    Dove:

    • project_id è l'ID progetto.
    • dataset è il set di dati di destinazione per la configurazione di trasferimento.
    • name è il nome visualizzato della configurazione di trasferimento. Il nome del trasferimento può essere qualsiasi valore che ti consenta di identificare facilmente il trasferimento se devi modificarlo in un secondo momento.
    • parameters contiene i parametri per la configurazione di trasferimento creata in formato JSON. Ad esempio: --params='{"param":"param_value"}'. Per Google Ad Manager, devi fornire i parametri bucket e network_code. bucket è il bucket Cloud Storage che contiene i file DT di Google Ad Manager. network_code è il tuo codice di rete.
    • data_source è l'origine dati, dfp_dt (Google Ad Manager).
    • service_account_name è il nome dell'account di servizio utilizzato per autenticare il trasferimento. L'account di servizio deve essere di proprietà dello stesso project_id utilizzato per creare il trasferimento e deve avere tutte le autorizzazioni richieste.

    Puoi anche fornire il flag --project_id per specificare un particolare progetto. Se --project_id non è specificato, viene utilizzato il progetto predefinito.

    Ad esempio, il seguente comando crea un trasferimento Google Ad Manager denominato My Transfer utilizzando il codice di rete 12345678, il bucket Cloud Storage gdfp-12345678 e il set di dati di destinazione mydataset. Il trasferimento viene creato nel progetto predefinito:

    bq mk --transfer_config \
    --target_dataset=mydataset \
    --display_name='My Transfer' \
    --params='{"bucket": "gdfp-12345678","network_code": "12345678"}' \
    --data_source=dfp_dt
    

    Dopo aver eseguito il comando, viene visualizzato un messaggio simile al seguente:

    [URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

    Segui le istruzioni e incolla il codice di autenticazione nella riga di comando.

    API

    Utilizza il metodo projects.locations.transferConfigs.create e fornisci un'istanza della risorsa TransferConfig.

    Java

    Prima di provare questo esempio, segui le istruzioni di configurazione di Java disponibili nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Java.

    Per eseguire l'autenticazione in BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.

    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());
        }
      }
    }

    Risolvere i problemi di configurazione del trasferimento di Google Ad Manager

    Se hai problemi durante la configurazione del trasferimento, consulta Problemi di trasferimento Google Ad Manager in Risoluzione dei problemi relativi alle configurazioni di trasferimento.

    Esegui query sui dati

    Quando i dati vengono trasferiti in BigQuery, vengono scritti in tabelle partizionate per la fase di importazione. Per ulteriori informazioni, consulta Introduzione alle tabelle partizionate.

    Se esegui query direttamente sulle tabelle anziché utilizzare le viste generate automaticamente, devi utilizzare la pseudo-colonna _PARTITIONTIME nella query. Per ulteriori informazioni, consulta la pagina relativa all'esecuzione di query sulle tabelle partizionate.

    Puoi utilizzare i seguenti esempi di query di Google Ad Manager per analizzare i dati trasferiti. Puoi anche utilizzare le query in uno strumento di visualizzazione come Looker Studio. Queste query vengono fornite per aiutarti a iniziare a eseguire query sui tuoi dati di Google Ad Manager con BigQuery. Per ulteriori domande su cosa puoi fare con questi report, contatta il tuo rappresentante tecnico Google Ad Manager.

    In ciascuna delle seguenti query, sostituisci variabili come dataset con i tuoi valori. Ad esempio, sostituisci network_code con il tuo codice di rete Google Ad Manager.

    Impressioni e utenti unici per città

    La seguente query SQL di esempio analizza il numero di impressioni e di utenti unici per città negli ultimi 30 giorni.

    # 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
    

    Impressioni e utenti unici per tipo di elemento pubblicitario

    La seguente query SQL di esempio analizza il numero di impressioni e di utenti unici per tipo di elemento pubblicitario negli ultimi 30 giorni.

    # 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
    

    Impressioni per unità pubblicitaria

    La seguente query SQL di esempio analizza il numero di impressioni per unità pubblicitaria negli ultimi 30 giorni.

    # 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
    

    Impressioni per elemento pubblicitario

    La seguente query SQL di esempio analizza il numero di impressioni per elemento pubblicitario negli ultimi 30 giorni.

    # 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