Condividi tramite


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:

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.

  1. Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:

  2. Cercare Google Ads e selezionare il connettore Google Ads.

    Screenshot del connettore Google Ads.

  3. Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.

    Screenshot della configurazione del servizio collegato per un server Google Ads.

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
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.
clientCustomerID L'ID cliente Client dell'account Ads di cui si vogliono recuperare i dati del report.
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.
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.
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
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.

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
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:

  1. Se viene usato l'asterisco (*) dopo la clausola SELECT, è necessario specificare tutti i campi obbligatori al posto dell'asterisco perché GAQL non supporta SELECT *. Vedere questo articolo per informazioni su tutti i campi selezionabili nella risorsa specifica.
  2. 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 campo campaign_id in un'istruzione di query SQL deve essere convertito in campaign.id in GAQL. Per altre informazioni sulla conversione dei nomi dei campi, vedere Nome del campo.
  3. Il nome della risorsa può essere lasciato così com'è, a meno che la combinazione di maiuscole/minuscole non sia coerente con quanto specificato qui.
  4. 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. o metrics. 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

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à:
  • email
  • privateKey
ServiceAuthentication supporta quattro proprietà:
  • email
  • 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:

  1. Selezionare Consigliata come versione del driver per creare un nuovo servizio collegato Google Ads e configurarlo facendo riferimento a Proprietà del servizio collegato.

  2. 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:

    1. 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
    2. 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).

  3. Tenere presente che esistono alcune limitazioni per questo aggiornamento:

    1. Non tutti i tipi di report di AWQL sono supportati in GAQL.
    2. Non tutte le query AWQL vengono convertite correttamente in query GAQL.

Per un elenco degli archivi dati supportati come origini e sink dall'attività Copy, vedere Archivi dati supportati.