Copiare dati da Google Ads usando Azure Data Factory o Synapse Analytics
SI APPLICA A: Azure Data Factory Azure Synapse Analytics
Suggerimento
Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
Questo articolo illustra come usare l'attività Copy in una pipeline di Azure Data Factory o Synapse Analytics per copiare dati da Google Ads. Si basa sull'articolo di panoramica dell'attività di copia che presenta una panoramica generale sull'attività di copia.
Importante
Si prega di aggiornare la versione del driver Google Ads prima del 18 febbraio 2024. In caso contrario, la connessione inizierà a causare un errore a causa della deprecazione del driver legacy.
Funzionalità supportate
Questo connettore di Google Ads è supportato per le funzionalità seguenti:
Funzionalità supportate | IR |
---|---|
Attività Copy (origine/-) | ① ② |
Attività Lookup | ① ② |
① Azure Integration Runtime ② Runtime di integrazione self-hosted
Per un elenco degli archivi dati supportati come origini o sink, vedere la tabella Archivi dati supportati.
Il servizio offre un driver predefinito per abilitare la connettività, pertanto non è necessario installare manualmente alcun driver usando questo connettore.
Introduzione
Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o SDK seguenti:
- Strumento Copia dati
- Il portale di Azure
- .NET SDK
- SDK di Python
- Azure PowerShell
- API REST
- Modello di Azure Resource Manager
Creare un servizio collegato a Google Ads usando l'interfaccia utente
Seguire questa procedura per creare un servizio collegato a Google Ads nell'interfaccia utente del portale di Azure.
Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:
Cercare Google Ads e selezionare il connettore Google Ads.
Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.
Dettagli di configurazione del connettore
Le sezioni seguenti riportano informazioni dettagliate sulle proprietà usate per definire entità specifiche di Data Factory per il connettore Google Ads.
Proprietà del servizio collegato
Per il servizio collegato a Google Ads sono supportate le proprietà seguenti:
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà tipo deve essere impostata su GoogleAdWords | Sì |
googleAdsApiVersion | Versione dell'API Google Ads usata quando si seleziona la versione consigliata del driver. È possibile fare riferimento a questo articolo per informazioni sulla versione dell'API. | Sì |
clientCustomerID | L'ID cliente Client dell'account Ads di cui si vogliono recuperare i dati del report. | Sì |
loginCustomerID | ID cliente dell'account amministratore di Google Ads tramite il quale si vogliono recuperare i dati del report di un cliente specifico. | No |
developerToken | Il token sviluppatore associato all'account amministratore usato per concedere l'accesso all'API Ads. È possibile scegliere di contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o archiviare la password in Azure Key Vault e consentire all'attività Copy di eseguire il pull da tale posizione durante l'esecuzione della copia dei dati. Per altre informazioni, vedere Archiviare le credenziali in Azure Key Vault. | Sì |
authenticationType | Meccanismo di autenticazione OAuth 2.0 usato per l'autenticazione. I valori consentiti sono ServiceAuthentication, UserAuthentication. È possibile usare ServiceAuthentication solo su runtime di integrazione self-hosted. |
Sì |
Per UserAuthentication: | ||
refreshToken | Il token di aggiornamento ottenuto da Google per autorizzare l'accesso a Ads per UserAuthentication. È possibile scegliere di contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o archiviare la password in Azure Key Vault e consentire all'attività Copy di eseguire il pull da tale posizione durante l'esecuzione della copia dei dati. Per altre informazioni, vedere Archiviare le credenziali in Azure Key Vault. | No |
clientId | ID client dell'applicazione Google usata per acquisire il token di aggiornamento. È possibile scegliere di contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o archiviare la password in Azure Key Vault e consentire all'attività Copy di eseguire il pull da tale posizione durante l'esecuzione della copia dei dati. Per altre informazioni, vedere Archiviare le credenziali in Azure Key Vault. | No |
clientSecret | Il segreto client dell'applicazione google usata per acquisire il token di aggiornamento. È possibile scegliere di contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o archiviare la password in Azure Key Vault e consentire all'attività Copy di eseguire il pull da tale posizione durante l'esecuzione della copia dei dati. Per altre informazioni, vedere Archiviare le credenziali in Azure Key Vault. | No |
Per ServiceAuthentication: | ||
posta elettronica | ID di posta elettronica dell'account del servizio usato per ServiceAuthentication. Può essere usato solo su runtime di integrazione self-hosted. | No |
privateKey | Chiave privata del servizio usata per ServiceAuthentication per la versione del driver consigliata. Può essere usato solo su runtime di integrazione self-hosted. È possibile scegliere di contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o archiviare la password in Azure Key Vault e consentire all'attività Copy di eseguire il pull da tale posizione durante l'esecuzione della copia dei dati. Per altre informazioni, vedere Archiviare le credenziali in Azure Key Vault. | No |
Per ServiceAuthentication usando la versione del driver legacy: | ||
posta elettronica | ID di posta elettronica dell'account del servizio usato per ServiceAuthentication. Può essere usato solo su runtime di integrazione self-hosted. | No |
keyFilePath | Percorso completo per il file di chiave .p12 o .json usato per autenticare l'indirizzo di posta elettronica dell'account del servizio. Può essere usato solo su runtime di integrazione self-hosted. |
No |
trustedCertPath | Percorso completo del file PEM contenente i certificati CA attendibili per la verifica del server in caso di connessione tramite TLS. È possibile impostare questa proprietà solo quando si usa TLS nel runtime di integrazione self-hosted. Il valore predefinito è il file cacerts.pem installato con il runtime di integrazione. | No |
useSystemTrustStore | Specifica se usare o meno un certificato della CA dall'archivio di scopi consentiti o da un file .pem specificato. Il valore predefinito è false. | No |
Esempio:
{
"name": "GoogleAdsLinkedService",
"properties": {
"type": "GoogleAdWords",
"typeProperties": {
"clientCustomerID": "<clientCustomerID>",
"loginCustomerID": "<loginCustomerID>",
"developerToken": {
"type": "SecureString",
"value": "<developerToken>"
},
"authenticationType": "UserAuthentication",
"refreshToken": {
"type": "SecureString",
"value": "<refreshToken>"
},
"clientId": {
"type": "SecureString",
"value": "<clientId>"
},
"clientSecret": {
"type": "SecureString",
"value": "<clientSecret>"
},
"googleAdsApiVersion": "v14"
}
}
}
Proprietà del set di dati
Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione di set di dati, vedere l'articolo sui set di dati. Questa sezione presenta un elenco delle proprietà supportate dal set di dati di Google Ads.
Per copiare dati da Google Ads, impostare la proprietà del tipo del set di dati su GoogleAdWordsObject. Sono supportate le proprietà seguenti:
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà del tipo del set di dati deve essere impostata su: GoogleAdWordsObject | Sì |
tableName | Nome della tabella. Specificare questa proprietà quando si usa la versione del driver legacy. | No (se nell'origine dell'attività è specificato "query") |
Esempio
{
"name": "GoogleAdsDataset",
"properties": {
"type": "GoogleAdWordsObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<GoogleAds linked service name>",
"type": "LinkedServiceReference"
}
}
}
Proprietà dell'attività di copia
Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. Questa sezione presenta un elenco delle proprietà supportate dall'origine Google Ads.
Google Ads come origine
Per copiare dati da Google Ads, impostare il tipo di origine nell'attività Copy su GoogleAdWordsSource. Nella sezione origine dell'attività di copia sono supportate le proprietà seguenti:
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà tipo dell'origine dell'attività di copia deve essere impostata su: GoogleADWordsSource | Sì |
query | Usare la query GAQL per leggere i dati. Ad esempio: SELECT campaign.id FROM campaign . |
No (se nel set di dati è specificato "tableName") |
Esempio:
"activities":[
{
"name": "CopyFromGoogleAds",
"type": "Copy",
"inputs": [
{
"referenceName": "<GoogleAds input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "GoogleAdWordsSource",
"query": "SELECT campaign.id FROM campaign"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Proprietà dell'attività Lookup
Per altre informazioni sulle proprietà, vedere Attività Lookup.
Aggiornare la versione del driver di Google Ads
Per aggiornare la versione del driver di Google Ads, è necessario aggiornare il servizio collegato e imparare a eseguire la migrazione da SQL a Google Ads Query Language (GAQL).
Aggiornare la configurazione del servizio collegato
Nella pagina Modifica servizio collegato selezionare Consigliata in Versione driver e configurare il servizio collegato facendo riferimento alle Proprietà del servizio collegato.
Eseguire la migrazione da SQL a GAQL
Convertire le istruzioni di query e i nomi dei campi per la migrazione da SQL a GAQL.
Istruzioni di query
Se si usa una query SQL nell'origine dell'attività Copy o nell'attività di ricerca che fa riferimento al servizio collegato Google Ads legacy, è necessario aggiornarla a una GAQL.
A differenza di SQL, la query in GAQL è costituita da sei tipi di clausole:
SELECT
FROM
WHERE
ORDER BY
LIMIT
PARAMETERS
Vedere Grammatica del linguaggio di query di Google Ads per un'introduzione a GAQL.
Prendere come esempio l'istruzione SQL seguente:
SELECT *|FieldName FROM ResourceName WHERE FieldName Operator Value
È possibile seguire le indicazioni seguenti per convertire l'istruzione SQL nell'istruzione GAQL corrispondente:
- Se viene usato l'asterisco (
*
) dopo la clausolaSELECT
, è necessario specificare tutti i campi obbligatori al posto dell'asterisco perché GAQL non supportaSELECT *
. Vedere questo articolo per informazioni su tutti i campi selezionabili nella risorsa specifica. - Se il nome del campo viene usato dopo la clausola
SELECT
, è necessario convertire il nome nel nome del campo corrispondente in GAQL perché le convenzioni di denominazione sono diverse. Ad esempio, il nome del campocampaign_id
in un'istruzione di query SQL deve essere convertito incampaign.id
in GAQL. Per altre informazioni sulla conversione dei nomi dei campi, vedere Nome del campo. - Il nome della risorsa può essere lasciato così com'è, a meno che la combinazione di maiuscole/minuscole non sia coerente con quanto specificato qui.
- La clausola
WHERE
deve essere aggiornata in base alla grammatica GAQL poiché gli operatori supportati da GAQL non sono coerenti con SQL e anche il nome del campo deve essere convertito come descritto nel secondo punto.
Ecco due strumenti molto utili offerti da Google, caldamente consigliati per la creazione delle istruzioni di query GAQL corrispondenti:
Nome del campo
Il nome del campo usato in SQL non è allineato a GAQL. È anche necessario apprendere le regole di conversione dai nomi di campo in SQL ai nomi di campo in GAQL. Le regole di conversione possono essere riepilogate come segue:
Se il nome del campo appartiene a una risorsa, il carattere di sottolineatura (
_
) in SQL verrà modificato in punto (.
) in GAQL. E per le parole tra i punti, l'istruzione di tipo camelCase usata in SQL verrà sostituita da parole autonome separate da caratteri di sottolineatura. La prima stringa di tipo PascalCase in SQL verrà modificata nel nome della risorsa corrispondente in GAQL.Se il nome del campo appartiene a segmenti o metriche, il prefisso
segments.
ometrics.
deve essere aggiunto in GAQL, quindi seguire la stessa regola descritta nel primo punto per la conversione del nome.
Ecco alcuni esempi concreti della conversione dei nomi di campo:
Categoria | Nomi di campo in SQL | Nomi di campo in GAQL |
---|---|---|
Campi della risorsa | Campaign_startDate |
campaign.start_date |
Campi della risorsa | Customer_conversionTrackingSetting_conversionTrackingStatus |
customer.conversion_tracking_setting.conversion_tracking_status |
Segments | DayOfWeek |
segments.day_of_week |
Metrica | VideoViews |
metrics.video_views |
Differenze tra la versione consigliata e la versione legacy del driver di Google Ads
La tabella seguente illustra le differenze a livello di funzionalità tra la versione consigliata e la versione legacy del driver di Google Ads.
Versione del driver consigliata | Versione del driver legacy |
---|---|
È supportata la specifica della versione dell'API Google Ads. | Non è supportata la specifica della versione dell'API Google Ads. |
ServiceAuthentication supporta due proprietà: • privateKey |
ServiceAuthentication supporta quattro proprietà: • keyFilePath • trustedCertPath • useSystemTrustStore |
La selezione di una tabella in un set di dati non è supportata. | Supporto per la selezione di una tabella in un set di dati e l'esecuzione di query sulla tabella nelle attività Copy. |
Supporto della sintassi GAQL come linguaggio di query. | Supporto della sintassi SQL come linguaggio di query. |
I nomi delle colonne di output corrispondono ai nomi dei campi definiti in Google Ads. | I nomi delle colonne di output non corrispondono ai nomi dei campi definiti in Google Ads. |
I mapping seguenti vengono usati dai tipi di dati Google Ads ai tipi di dati provvisori usati internamente dal servizio. float -> float int32 -> int int64 -> long |
I mapping seguenti vengono usati dai tipi di dati Google Ads ai tipi di dati provvisori usati internamente dal servizio. float -> string int32 -> string int64 -> string |
Aggiornare il connettore Google AdWords al connettore Google Ads
Aggiornare il servizio collegato Google AdWords al servizio collegato Google Ads più recente seguendo questa procedura:
Selezionare Consigliata come versione del driver per creare un nuovo servizio collegato Google Ads e configurarlo facendo riferimento a Proprietà del servizio collegato.
Aggiornare le pipeline che fanno riferimento al servizio collegato Google AdWords legacy. Considerando che il servizio collegato Google Ads supporta solo l'uso della query per copiare i dati:
Se la pipeline recupera direttamente i dati dal report di Google AdWords, trovare il nome della risorsa corrispondente di Google Ads nella tabella seguente e usare questo strumento per creare la query.
Report Google AdWords Risorsa Google Ads ACCOUNT_PERFORMANCE_REPORT Cliente AD_PERFORMANCE_REPORT ad_group_ad ADGROUP_PERFORMANCE_REPORT ad_group AGE_RANGE_PERFORMANCE_REPORT age_range_view AUDIENCE_PERFORMANCE_REPORT campaign_audience_view,ad_group_audience_view AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT group_placement_view BID_GOAL_PERFORMANCE_REPORT bidding_strategy BUDGET_PERFORMANCE_REPORT campaign_budget CALL_METRICS_CALL_DETAILS_REPORT call_view CAMPAIGN_AD_SCHEDULE_TARGET_REPORT ad_schedule_view CAMPAIGN_CRITERIA_REPORT campaign_criterion CAMPAIGN_PERFORMANCE_REPORT Campagna CAMPAIGN_SHARED_SET_REPORT campaign_shared_set CAMPAIGN_LOCATION_TARGET_REPORT location_view CLICK_PERFORMANCE_REPORT click_view DISPLAY_KEYWORD_PERFORMANCE_REPORT display_keyword_view DISPLAY_TOPICS_PERFORMANCE_REPORT topic_view GENDER_PERFORMANCE_REPORT gender_view GEO_PERFORMANCE_REPORT geographic_view,user_location_view KEYWORDLESS_QUERY_REPORT dynamic_search_ads_search_term_view KEYWORDS_PERFORMANCE_REPORT keyword_view LABEL_REPORT label LANDING_PAGE_REPORT landing_page_view,expanded_landing_page_view PAID_ORGANIC_QUERY_REPORT paid_organic_search_term_view PARENTAL_STATUS_PERFORMANCE_REPORT parental_status_view PLACEHOLDER_FEED_ITEM_REPORT feed_item,feed_item_target PLACEHOLDER_REPORT feed_placeholder_view PLACEMENT_PERFORMANCE_REPORT managed_placement_view PRODUCT_PARTITION_REPORT product_group_view SEARCH_QUERY_PERFORMANCE_REPORT search_term_view SHARED_SET_CRITERIA_REPORT shared_criterion SHARED_SET_REPORT shared_set SHOPPING_PERFORMANCE_REPORT shopping_performance_view TOP_CONTENT_PERFORMANCE_REPORT Non più disponibile nell'API Google Ads. URL_PERFORMANCE_REPORT detail_placement_view USER_AD_DISTANCE_REPORT distance_view VIDEO_PERFORMANCE_REPORT video Se la pipeline usa la query per recuperare dati da Google AdWords, usare lo strumento di migrazione delle query per la conversione da AWQL (AdWords Query Language) a GAQL (Google Ads Query Language).
Tenere presente che esistono alcune limitazioni per questo aggiornamento:
- Non tutti i tipi di report di AWQL sono supportati in GAQL.
- Non tutte le query AWQL vengono convertite correttamente in query GAQL.
Contenuto correlato
Per un elenco degli archivi dati supportati come origini e sink dall'attività Copy, vedere Archivi dati supportati.