Trasferimenti dei rapporti di Google Ad Manager

Il connettore BigQuery Data Transfer Service per Google Ad Manager ti consente di eseguire creare e gestire job di caricamento ricorrenti per Google Ad Manager (precedentemente noto come DoubleClick for Publishers).

Report supportati

Il connettore BigQuery Data Transfer Service per Google Ad Manager supporta le seguenti funzionalità: opzioni dei report:

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

Opzione di segnalazione Assistenza
Frequenza di ripetizione

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

Non configurabile

Aggiorna finestra

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 da trasferimenti di Google Ad Manager

Quando trasferisci i dati da Google Ad Manager a BigQuery, questi vengono caricati nelle 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 sono interessate.

Aggiorna finestre

Una finestra di aggiornamento indica il numero di giorni in cui un trasferimento di dati recupera i dati. quando avviene un trasferimento di dati. Ad esempio, se la finestra di aggiornamento è di tre giorni e un trasferimento giornaliero, BigQuery Data Transfer Service recupera tutti i dati da nella tabella di origine degli ultimi tre giorni. In questo Ad esempio, quando si verifica un trasferimento giornaliero, BigQuery Data Transfer Service crea una nuova Partizione della tabella di destinazione BigQuery con una copia dei dati della tabella di origine dal giorno corrente, poi attiva automaticamente le esecuzioni di backfill per aggiornare La tabella di destinazione BigQuery esegue le partizioni con i dati della tabella di origine dal ultimi due giorni. Le esecuzioni di backfill attivate automaticamente sovrascrivono o aggiornano in modo incrementale la tabella di destinazione BigQuery, a seconda che gli aggiornamenti incrementali siano supportati o meno nel connettore BigQuery Data Transfer Service.

Quando esegui un trasferimento dati per la prima volta, vengono recuperati tutti i dati di origine disponibili all'interno della finestra di aggiornamento. Ad esempio, se la finestra di aggiornamento è di tre giorni ed esegui il trasferimento dei dati per la prima volta, BigQuery Data Transfer Service recupera tutti i dati di origine entro tre giorni.

Le finestre di aggiornamento sono mappate al campo dell'API TransferConfig.data_refresh_window_days.

Per recuperare i dati al di fuori della finestra di aggiornamento, ad esempio i dati storici, o per recuperare i dati da eventuali interruzioni o lacune del trasferimento, puoi avviare o pianificare un'esecuzione di backfill.

Prima di iniziare

Prima di creare un trasferimento di dati di Google Ad Manager:

  • Verifica di aver completato tutte le azioni richieste 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 di Data Transfer di Google Ad Manager (DT di Google Ad Manager). Questi file vengono caricati dal team di Google Ad Manager in un bucket Cloud Storage. Per ottenere l'accesso a File DT di Google Ad Manager, revisione Report Data Transfer di Ad Manager. Potrebbero essere applicati dei costi aggiuntivi da parte del team di Google Ad Manager.

    Al termine di questo passaggio, riceverai un bucket Cloud Storage simile al seguente:

        gdfp-12345678
      

    Il team di Google Cloud NON ha di generare o concedere l'accesso ai file DT di Google Ad Manager sul tuo per conto tuo. Contatto, Google Ad Manager assistenza, per accedere ai file DT di Google Ad Manager.

  • Attiva l'accesso all'API alla tua rete Google Ad Manager.
  • Se intendi configurare le notifiche relative al trasferimento dei dati, devi disporre delle autorizzazioni pubsub.topics.setIamPolicy per Pub/Sub. Le autorizzazioni Pub/Sub non sono necessarie se hai appena configurato l'email notifiche. Per saperne di più, consulta Notifiche di esecuzione di BigQuery Data Transfer Service.

Autorizzazioni obbligatorie

  • BigQuery: assicurati che la persona che crea il trasferimento di dati abbia le seguenti autorizzazioni in BigQuery:

    • Autorizzazioni bigquery.transfers.update per creare il trasferimento di dati
    • Entrambe le autorizzazioni bigquery.datasets.get e bigquery.datasets.update sul 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 saperne di più 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 sono gestite dal team di Google Ad Manager. Oltre ai file DT di Google Ad Manager, persona che crea il trasferimento di dati deve essere aggiunta alla rete Google Ad Manager con accesso in lettura a tutte le entità necessarie per creare i vari tabelle delle corrispondenze (elemento pubblicitario, ordine, unità pubblicitaria ecc.). Per farlo, aggiungi l'utente Ad Manager che ha autenticato il trasferimento dei dati al team Tutte le entità in Ad Manager.

Configurare un trasferimento da 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 dell'annuncio Google. Gestisce i file DT come descritto in Prima di iniziare. Il nome del bucket deve avere il seguente aspetto:

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

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

Console

  1. Vai alla pagina Trasferimenti di dati nella console Google Cloud.

    Vai a Trasferimenti di dati

  2. Fai clic su Crea trasferimento.

  3. 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 del trasferimento di dati, ad esempio My Transfer. Il nome del trasferimento può essere qualsiasi valore che ti consenta di identificare 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 tuoi dati.

      Trasferisci set di dati

    • Nella sezione Dettagli dell'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 dell'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 a il trasferimento anziché utilizzare le tue credenziali utente. Per ulteriori informazioni sull'utilizzo degli account di servizio con i 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 service account 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. Se attivi 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 l'esecuzione delle notifiche in Pub/Sub per il trasferimento.
  4. Fai clic su Salva.

bq

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

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

Flag facoltativi:

  • --service_account_name - Specifica un account di servizio da utilizzare per Google dell'autenticazione di trasferimento di Ad Manager anziché del 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 del trasferimento.
  • name è il nome visualizzato per la configurazione del trasferimento di dati. La Transfer name può essere qualsiasi valore che ti consenta di identificare trasferimento di dati se devi modificarlo in un secondo momento.
  • parameters contiene i parametri per la configurazione del 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 il tuo annuncio Google File DT del gestore. 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 autenticare il trasferimento dei dati. L'account di servizio deve essere di proprietà dello stesso project_id usato per creare il trasferimento; devono disporre di tutte le autorizzazioni richieste.

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

Ad esempio, il seguente comando crea un account Google Ad Manager trasferimento dati denominato My Transfer utilizzando il codice di rete 12345678, Cloud Storage il bucket gdfp-12345678 e il set di dati di destinazione mydataset. Il trasferimento dei dati 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 nel comando dalla riga di comando.

API

Utilizza la projects.locations.transferConfigs.create e fornisce un'istanza del metodo TransferConfig risorsa.

Java

Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Java BigQuery documentazione di riferimento.

Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, 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 riscontri problemi durante la configurazione del trasferimento di dati, vedi Problemi di trasferimento da Google Ad Manager in Risoluzione dei problemi relativi alle configurazioni di trasferimento.

Eseguire query sui dati

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

Se esegui una query direttamente sulle tabelle anziché utilizzare le viste generate automaticamente, deve utilizzare la pseudocolonna _PARTITIONTIME nella query. Per ulteriori informazioni, consulta la pagina Esecuzione di query sulle tabelle partizionate.

Puoi utilizzare le query di esempio di Google Ad Manager riportate di seguito per analizzare 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 sul tuo annuncio Google Gestisce i dati con BigQuery. Per ulteriori domande su cosa puoi fare con questi report, contatta il tuo rappresentante tecnico di Google Ad Manager.

In ciascuna delle seguenti query, sostituisci le variabili come dataset con i tuoi valori. Ad esempio, sostituisci network_code con il tuo annuncio Google Codice di rete del gestore.

Impressioni e utenti unici per città

La seguente query SQL di esempio analizza il numero di impressioni e utenti 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 utenti 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