Trasferimenti dei rapporti di Campaign Manager
Il connettore BigQuery Data Transfer Service per Campaign Manager consente di pianificare e gestire automaticamente i job di caricamento ricorrenti per i dati dei report di Campaign Manager.
Report supportati
BigQuery Data Transfer Service per Campaign Manager (precedentemente noto come DoubleClick) Campaign Manager) supporta le seguenti opzioni di generazione dei report:
- File Data Transfer v2 (Campaign Manager DTv2)
- Tabelle di corrispondenza di Data Transfer v2 (DTv2 di Campaign Manager)
Per informazioni su come i report di Campaign Manager vengono trasformati per le tabelle e le viste BigQuery, consulta Trasformazioni dei report di Campaign 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 Campaign Manager conserva i file di Data Transfer per un massimo di 60 giorni. I file più vecchi di 60 giorni vengono eliminati da Campaign Manager. |
Importazione dati da trasferimenti di Campaign Manager
Quando trasferisci i dati da Campaign 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 l'esecuzione di backfill non generano dati duplicati e le partizioni per altre date non sono interessate.Aggiornare le 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 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 dati di Campaign 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 Campaign Manager.
Assicurati che la tua organizzazione abbia accesso ai file Campaign Manager Data Transfer v2 (Campaign Manager DTv2). Questi file vengono caricati dal team di Campaign Manager in un bucket Cloud Storage. Per ottenere l'accesso ai file DTv2 di Campaign Manager, il passaggio successivo dipende dalla disponibilità di un contratto con Campaign Manager. In entrambi i casi, potrebbero essere applicati dei costi aggiuntivi.
- Se hai un contratto con Campaign Manager, contatta l'assistenza di Campaign Manager per configurare i file DTv2 di Campaign Manager.
- Se non hai un contratto con Campaign Manager, la tua agenzia o il tuo rivenditore Campaign Manager potrebbe avere accesso ai file DTv2 di Campaign Manager. Contatta la tua agenzia o il tuo rivenditore per accedere a questi file.
Dopo aver completato questo passaggio, riceverai un nome bucket simile al seguente:
dcdt_-dcm_account123456
Se intendi configurare le notifiche di esecuzione del trasferimento per Pub/Sub, devi disporre delle autorizzazioni
pubsub.topics.setIamPolicy
. Per saperne di più, consulta Notifiche di esecuzione di BigQuery Data Transfer Service.
Autorizzazioni obbligatorie
BigQuery: assicurati che la persona che crea il trasferimento dei dati disponga delle seguenti autorizzazioni in BigQuery:
- Autorizzazioni
bigquery.transfers.update
per creare il trasferimento di dati - Entrambe le 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
Campaign Manager: accesso in lettura ai file DTv2 di Campaign Manager memorizzati in Cloud Storage. L'accesso è gestito dall'entità da cui hai ricevuto il bucket Cloud Storage.
Configurare un trasferimento di Campaign Manager
L'impostazione di un trasferimento di dati in Campaign Manager richiede:
Bucket Cloud Storage: l'URI del bucket Cloud Storage per i file DTv2 di Campaign Manager come descritto in Prima di iniziare. Il nome del bucket deve avere il seguente aspetto:
dcdt_-dcm_account123456
ID Campaign Manager: la tua rete Campaign Manager, l'inserzionista o ID Floodlight. L'ID rete è l'elemento principale della gerarchia.
Individuare l'ID Campaign Manager
Per recuperare l'ID di Campaign Manager, puoi utilizzare la console Cloud Storage per esaminare i file nel bucket Cloud Storage di trasferimento dei dati di Campaign Manager. L'ID Campaign Manager viene utilizzato per trovare corrispondenze tra i file nella nel bucket Cloud Storage. L'ID è incorporato nel nome del file, non nella Nome del bucket Cloud Storage.
Ad esempio:
- In un file denominato
dcm_account123456_activity_*
, l'ID è 123456. - In un file denominato
dcm_floodlight7890_activity_*
, l'ID è 7890. - In un file denominato
dcm_advertiser567_activity_*
, l'ID è 567.
Trovare il prefisso del nome file
In rari casi, i file nel bucket Cloud Storage potrebbero avere nomi personalizzati e non standard che sono stati configurati per te dal team di servizi di Google Marketing Platform.
Ad esempio:
- In un file denominato
dcm_account123456custom_activity_*
, il prefisso è dcm_account123456custom: tutto prima_activity
.
Se hai bisogno di aiuto, contatta l'assistenza di Campaign Manager.
Creare un trasferimento di dati per Campaign Manager
Console
Vai alla pagina Trasferimenti dati nella console Google Cloud.
Fai clic su
Crea trasferimento.Nella pagina Crea trasferimento:
Nella sezione Tipo di origine, per Origine, scegli Campaign Manager.
Nella sezione Nome configurazione di trasferimento, in Nome visualizzato, inserisci un nome per il trasferimento dei 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 Opzioni di pianificazione, per Programmazione, lascia la valore predefinito (Inizia ora) oppure fai clic su Inizia a un orario prestabilito.
Per Ripeti, scegli un'opzione per la frequenza con cui eseguire il trasferimento.
- Ogni giorno (impostazione predefinita)
- Ogni settimana
- Ogni mese
- Personalizzato
- On demand
Se scegli un'opzione diversa da Giornaliera, sono disponibili opzioni aggiuntive. Ad esempio, se scegli Settimanale, viene visualizzata un'opzione per selezionare il giorno della settimana.
In Data di inizio e ora di esecuzione, inserisci data e ora di inizio il trasferimento dei dati. Se scegli Inizia ora, l'opzione è disattivata.
Nella sezione Impostazioni di destinazione, per Set di dati di destinazione, scegli il set di dati che hai creato per archiviare i dati.
Nella sezione Dettagli dell'origine dati:
- In Bucket Cloud Storage, inserisci o cerca il nome
la console Cloud Storage
in cui sono archiviati i file Data Transfer V2.0. Quando inserisci il nome del
bucket, non includere
gs://
. - In ID DoubleClick, inserisci l'ID Campaign Manager appropriato.
(Facoltativo) Se i file hanno nomi standard come questi esempi, lascia vuoto il campo Prefisso nome file. Specifica un prefisso del nome del file se i file nel bucket Cloud Storage hanno nomi personalizzati.
- In Bucket Cloud Storage, inserisci o cerca il nome
la console Cloud Storage
in cui sono archiviati i file Data Transfer V2.0. Quando inserisci il nome del
bucket, non includere
(Facoltativo) Nella sezione Opzioni di notifica:
- Fai clic sul pulsante di attivazione/disattivazione per attivare 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 le notifiche di esecuzione di Pub/Sub per il trasferimento.
Fai clic su Salva.
bq
Inserisci il comando bq mk
e specifica il flag di creazione del trasferimento:
--transfer_config
. Sono necessari anche i seguenti flag:
--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
Dove:
- project_id è l'ID progetto.
- dataset è il set di dati di destinazione per la configurazione del trasferimento di dati.
- name è il nome visualizzato della configurazione di trasferimento dei dati. La Transfer name può essere qualsiasi valore che ti consenta di identificare se devi modificarlo in un secondo momento.
- parameters contiene i parametri per il trasferimento di dati creato
configurazione in formato JSON. Ad esempio:
--params='{"param":"param_value"}'
. Per Campaign Manager, devi fornire i parametribucket
enetwork_id
.bucket
è il Bucket Cloud Storage che contiene i file DTv2 di Campaign Manager.network_id
è l'ID della tua rete, Floodlight o inserzionista. - data_source è l'origine dati -
dcm_dt
(Campagna responsabile).
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 trasferimento di dati di Campaign Manager chiamato My Transfer
utilizzando l'ID Campaign Manager 123456
, il bucket Cloud Storage dcdt_-dcm_account123456
e il set di dati di destinazione mydataset
. Il parametro file_name_prefix
è facoltativo e viene utilizzato solo per nomi di file personalizzati rari.
Il trasferimento dei dati viene creato nel progetto predefinito:
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
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 il metodo projects.locations.transferConfigs.create
e fornisci un'istanza della risorsa TransferConfig
.
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 la documentazione di riferimento dell'API BigQuery Java.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Risolvere i problemi di configurazione del trasferimento di Campaign Manager
Se hai problemi a configurare il trasferimento dei dati, consulta Problemi di trasferimento di Campaign Manager nella sezione Risoluzione dei problemi relativi alle configurazioni di trasferimento.
Esegui query sui dati
Quando vengono trasferiti in BigQuery, i dati vengono vengono scritte in tabelle partizionate in fase di importazione. Per ulteriori informazioni, vedi Introduzione alle tabelle partizionate.
Se esegui query direttamente sulle tabelle anziché utilizzare le viste generate automaticamente, devi utilizzare la pseudocolonna _PARTITIONTIME
nella query. Per ulteriori informazioni,
consulta Esecuzione di query su tabelle partizionate.
Query di esempio di Campaign Manager
Puoi utilizzare le query di esempio di Campaign Manager riportate di seguito 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 Campaign Manager con BigQuery. Per ulteriori domande su che cosa puoi fare con questi report, contatta il tuo account manager Campaign Manager come rappresentante tecnico.
In ciascuna delle seguenti query, sostituisci le variabili come dataset con i tuoi valori.
Campagne più recenti
La seguente query di esempio SQL recupera le campagne più recenti.
SELECT Campaign, Campaign_ID FROM `dataset.match_table_campaigns_campaign_manager_id` WHERE _DATA_DATE = _LATEST_DATE
Impressioni e utenti distinti per campagna
La seguente query SQL di esempio analizza il numero di impressioni e gli utenti distinti per campagna negli ultimi 30 giorni.
# 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
Campagne più recenti ordinate per campagna e data
La seguente query di esempio SQL analizza le ultime campagne degli ultimi 30 giorno, ordinate per campagna e data.
# 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
Impressioni e utenti distinti per campagna in un intervallo di date
La seguente query di esempio SQL analizza il numero di impressioni e utenti distinti per campagna tra start_date e end_date.
# 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
Impressioni, clic, attività e utenti distinti per campagna
La seguente query di esempio SQL analizza il numero di impressioni, clic, attività e utenti distinti per campagna negli ultimi 30 giorni. In questa query, sostituisci le variabili come campaign_list con i tuoi valori. Ad esempio, sostituisci campaign_list con una virgola separata di tutte le campagne Campaign Manager di interesse che rientrano nell'ambito del query.
# 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
Attività della campagna
La seguente query di esempio SQL analizza l'attività della campagna negli ultimi 30 giorni. In questa query, sostituisci le variabili come campaign_list con i tuoi valori. Ad esempio, sostituisci campaign_list con una virgola separata di tutte le campagne Campaign Manager di interesse che rientrano nell'ambito del query.
# 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