Caricare i dati di Google Ad Manager in BigQuery
Puoi caricare i dati da Google Ad Manager a BigQuery utilizzando il connettore BigQuery Data Transfer Service per Google Ad Manager. Con BigQuery Data Transfer Service, puoi pianificare job di trasferimento ricorrenti che aggiungono i dati più recenti di Google Ad Manager a BigQuery.
Report supportati
Il connettore BigQuery Data Transfer Service per Google Ad Manager supporta le seguenti opzioni di generazione dei report:
- File Data Transfer (Google Ad Manager DT)
- Campi di Data Transfer
- Tabelle di corrispondenza fornite da BigQuery Data Transfer Service. Questi vengono creati e aggiornati automaticamente.
- Corrispondenza delle tabelle recuperate con PQL
- Corrispondenza delle tabelle di CompanyService (v201908)
- Corrispondenza delle tabelle di OrderService (v201908)
- Tabelle di corrispondenza di PlacementService (v201908)
Per informazioni su come i report di Google Ad Manager vengono trasformati in tabelle e viste BigQuery, consulta Trasformazione dei report di Google Ad Manager.
Opzione di segnalazione | Assistenza |
---|---|
Frequenza di ripetizione | Ogni 8 ore per impostazione predefinita Configurabile con un minimo di ogni 4 ore |
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 dei dati dai trasferimenti di Google Ad Manager
Quando trasferisci i dati da Google Ad Manager a BigQuery, questi 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 l'esecuzione di backfill non comportano la duplicazione dei dati e le partizioni per altre date non vengono interessate.Aggiorna finestre
Una finestra di aggiornamento è il numero di giorni in cui un trasferimento di dati recupera i dati quando si verifica un trasferimento di dati. Ad esempio, se la finestra di aggiornamento è di tre giorni<0xx0A>e si verifica un trasferimento giornaliero, BigQuery Data Transfer Service recupera tutti i dati dalla tabella di origine degli ultimi tre giorni. In questo 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 del giorno corrente, quindi attiva automaticamente le esecuzioni di backfill per aggiornare le partizioni della tabella di destinazione BigQuery con i dati della tabella di origine degli ultimi due giorni. I backfill attivati automaticamente sovrascriveranno o aggiorneranno 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 di dati per la prima volta, il trasferimento di dati recupera 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 API TransferConfig.data_refresh_window_days
.
Per recuperare dati al di fuori della finestra di aggiornamento, ad esempio dati storici, o per recuperare dati da eventuali interruzioni o lacune nel trasferimento, puoi avviare o pianificare un backfill.
Aggiornamenti ai file Data Transfer (DT)
Le tabelle create dai file di trasferimento dei dati di Google Ad Manager (Google Ad Manager DT) possono essere aggiornate in modo incrementale. Google Ad Manager aggiunge i file DT di Google Ad Manager nel bucket Cloud Storage. Un'esecuzione del trasferimento carica poi in modo incrementale i nuovi file DT di Google Ad Manager dal bucket Cloud Storage nella tabella BigQuery senza ricaricare i file già trasferiti nella tabella BigQuery.
Ad esempio, Google Ad Manager aggiunge file1
al bucket alle 01:00 e
file2
alle 02:00. Un'esecuzione del trasferimento inizia alle 03:30 e carica file1
e
file2
in BigQuery. Google Ad Manager aggiunge poi file3
alle 5:00
e file4
alle 6:00. Una seconda esecuzione del trasferimento inizia alle 7:30 e accoda
file3
e file4
in BigQuery, anziché sovrascrivere la
tabella caricando tutti e quattro i file.
Aggiornamenti alle tabelle delle corrispondenze
Le tabelle delle corrispondenze forniscono un meccanismo di ricerca per i valori non elaborati contenuti nei file di trasferimento dei dati. Per un elenco delle tabelle delle corrispondenze, consulta la sezione Trasformazione dei report di Google Ad Manager. Diverse tabelle di corrispondenza vengono aggiornate con metodi di importazione diversi. Le tabelle di corrispondenza e i relativi metodi di importazione sono elencati nella tabella seguente:
Metodo di importazione | Descrizione | Tabella delle corrispondenze |
---|---|---|
Aggiornamento incrementale | Gli aggiornamenti incrementali vengono aggiunti a ogni esecuzione. Ad esempio, la prima esecuzione del trasferimento della giornata carica tutti i dati modificati prima dell'esecuzione del trasferimento, la seconda esecuzione del trasferimento nello stesso giorno carica i dati modificati dopo l'esecuzione precedente e prima dell'esecuzione corrente. | Company , Order , Placement , LineItem , AdUnit |
Aggiornamento dell'intera tabella | Gli aggiornamenti dell'intera tabella caricano l'intera tabella una volta al giorno. Ad esempio, la prima esecuzione del trasferimento della giornata carica tutti i dati disponibili per una tabella. Un secondo trasferimento eseguito lo stesso giorno salta il caricamento di queste tabelle. | AdCategory , AudienceSegmentCategory , BandwidthGroup , Browser , BrowserLanguage ,
DeviceCapability , DeviceCategory , DeviceManufacturer , GeoTarget , MobileCarrier ,
MobileDevice , MobileDeviceSubmodel , OperatingSystem , OperatingSystemVersion ,
ThirdPartyCompany , TimeZone , User , ProgrammaticBuyer
|
Sovrascrittura dell'intera tabella | L'intera tabella viene sovrascritta a ogni esecuzione del trasferimento. | AudienceSegment |
Prima di iniziare
Prima di creare un trasferimento dei dati di Google Ad Manager:
- Verifica di aver completato tutte le azioni necessarie per attivare 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 (Google Ad Manager DT). Questi file vengono inviati dal team di Google Ad Manager a un bucket Cloud Storage. Per accedere ai file DT di Google Ad Manager, consulta Report Data Transfer di Ad Manager. Potrebbero essere applicati costi aggiuntivi da parte del team di Google Ad Manager.
Dopo aver completato questo passaggio, riceverai un bucket Cloud Storage simile al seguente:
gdfp-12345678
Il team Google Cloud NON ha la possibilità di generare o concedere l'accesso ai 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 all'API alla tua rete Google Ad Manager.
- Se intendi configurare le notifiche di trasferimento dei dati, devi disporre delle autorizzazioni
pubsub.topics.setIamPolicy
per Pub/Sub. Le autorizzazioni Pub/Sub non sono necessarie se hai configurato solo le notifiche email. 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 disponga delle seguenti autorizzazioni in BigQuery:
- Autorizzazioni
bigquery.transfers.update
per creare il trasferimento di dati - Autorizzazioni
bigquery.datasets.get
ebigquery.datasets.update
sul set di dati di destinazione
Il ruolo IAM predefinito
bigquery.admin
include le autorizzazionibigquery.transfers.update
,bigquery.datasets.update
ebigquery.datasets.get
. Per saperne di più sui ruoli IAM in BigQuery Data Transfer Service, consulta Controllo dell'accesso.- Autorizzazioni
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, la persona che crea il trasferimento dei dati deve essere aggiunta alla rete Google Ad Manager, con accesso in lettura a tutte le entità necessarie per creare le varie tabelle di corrispondenza (elemento pubblicitario, ordine, unità pubblicitaria e così via). A questo scopo, aggiungi l'utente Ad Manager che ha autenticato il trasferimento dei dati al team Tutte le entità in Ad Manager.
Configura un trasferimento di Google Ad Manager
La configurazione di un trasferimento di dati BigQuery per Google Ad Manager richiede un:
Bucket Cloud Storage: l'URI del bucket Cloud Storage per i file DT di Google Ad Manager, come descritto in Prima di iniziare. Il nome del bucket dovrebbe essere simile al seguente:
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 codice di rete. Per saperne di più, consulta la guida introduttiva a Google Ad Manager.
Per creare un trasferimento di dati BigQuery Data Transfer Service per Google Ad Manager:
Console
Vai alla pagina Trasferimenti di dati nella console Google Cloud .
Fai clic su
Crea un trasferimento.Nella pagina Crea trasferimento:
- Nella sezione Tipo di origine, per Origine, scegli Google Ad Manager (in precedenza DFP).
- Nella sezione Nome configurazione di trasferimento, per Nome visualizzato, inserisci un nome per il 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.
- Nella sezione Impostazioni destinazione, in Set di dati, scegli il set di dati che hai creato per archiviare i dati.
- Nella sezione Dettagli origine dati:
- Per Bucket Cloud Storage, inserisci il nome del bucket Cloud Storage in cui sono archiviati i file del trasferimento di dati. Quando inserisci il nome del bucket, non includere
gs://
. - Per Codice di rete, inserisci il tuo codice di rete.
- Per Bucket Cloud Storage, inserisci il nome del bucket Cloud Storage in cui sono archiviati i file del trasferimento di dati. Quando inserisci il nome del bucket, non includere
Nel menu Service account, seleziona un service account tra quelli associati al tuo progetto Google Cloud . Puoi associare un service account al trasferimento anziché utilizzare le tue credenziali utente. Per ulteriori informazioni sull'utilizzo dei service account con i trasferimenti di dati, consulta Utilizza i service account.
Se hai eseguito l'accesso con un'identità federata, è necessario un service account per creare un trasferimento. Se hai eseguito l'accesso con un Account Google, il service account per il trasferimento è facoltativo. Il service account 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 attivi questa opzione, l'amministratore del trasferimento riceve una notifica via email quando l'esecuzione di un trasferimento non riesce.
- Fai clic sul pulsante di attivazione/disattivazione per abilitare le notifiche di esecuzione Pub/Sub. In Seleziona un argomento Cloud Pub/Sub, scegli il nome dell'argomento o fai clic su Crea un argomento. Questa opzione configura l'esecuzione delle notifiche di Pub/Sub in relazione al trasferimento.
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 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 del trasferimento.
- name è il nome visualizzato per la configurazione del trasferimento di dati. Il nome del trasferimento può essere qualsiasi valore che ti consenta di identificare il trasferimento dei 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 parametribucket
enetwork_code
.bucket
: il bucket Cloud Storage che contiene i file DT di Google Ad Manager.network_code
: codice di reteload_match_tables
: indica se caricare le tabelle delle corrispondenze. Per impostazione predefinita, è impostato suTrue
- data_source è l'origine dati:
dfp_dt
(Google Ad Manager). - service_account_name è il nome del account di servizio utilizzato per
autenticare il trasferimento dei dati. Il account di servizio deve
essere di proprietà dello stesso
project_id
utilizzato per creare il trasferimento e deve disporre di tutte le autorizzazioni richieste.
Puoi anche fornire il flag --project_id
per specificare un progetto
particolare. Se --project_id
non è specificato, viene utilizzato il progetto predefinito.
Ad esempio, il seguente comando crea un trasferimento dei dati di 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 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, ricevi 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 nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Java.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Risolvere i problemi di configurazione del trasferimento da Google Ad Manager
Se riscontri problemi durante la configurazione del trasferimento dei dati, consulta la sezione Problemi di trasferimento di Google Ad Manager in Risoluzione dei problemi relativi alle configurazioni di trasferimento.
Eseguire query sui dati
Quando vengono trasferiti a BigQuery, i tuoi dati vengono scritti in tabelle partizionate per data 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 pseudocolonna _PARTITIONTIME
nella query. Per maggiori informazioni,
consulta la pagina Esecuzione di query sulle tabelle partizionate.
Query di esempio
Puoi utilizzare le seguenti query di esempio 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 dati di Google Ad Manager con BigQuery. Per ulteriori domande su cosa puoi fare con questi report, contatta il tuo rappresentante tecnico di Google Ad Manager.
In ognuna delle seguenti query, sostituisci le 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 di esempio SQL analizza il numero di impressioni e 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.NetworkImpressions_network_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 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.NetworkImpressions_network_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.NetworkImpressions_network_code` AS DT LEFT JOIN `dataset.MatchTableAdUnit_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.NetworkImpressions_network_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