Copier des données à partir de Google Ads avec Azure Data Factory ou Synapse Analytics

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !

Cet article explique comment utiliser l'activité de copie dans Azure Data Factory ou Synapse Analytics pour copier des données de Google Ads. Il s’appuie sur l’article Vue d’ensemble de l’activité de copie.

Important

Veuillez mettre à jour votre version du pilote Google Ads avant le 18 février 2024. Autrement, la connexion échouera suite à une erreur en raison de l'obsolescence du pilote hérité.

Fonctionnalités prises en charge

Ce connecteur Google Ads est pris en charge pour les capacités suivantes :

Fonctionnalités prises en charge IR
Activité de copie (source/-) ① ②
Activité de recherche ① ②

① Runtime d’intégration Azure ② Runtime d’intégration auto-hébergé

Pour obtenir la liste des magasins de données pris en charge en tant que sources et récepteurs, consultez le tableau Magasins de données pris en charge.

Le service fournit un pilote intégré qui permet la connexion. Vous n’avez donc pas besoin d’installer manuellement un pilote à l’aide de ce connecteur.

Prise en main

Pour effectuer l’activité Copie avec un pipeline, vous pouvez vous servir de l’un des outils ou kits SDK suivants :

Créer un service lié à Google Ads à l'aide de l'interface utilisateur

Suivez les étapes suivantes pour créer un service lié à Google Ads dans l'interface utilisateur du portail Microsoft Azure.

  1. Accédez à l’onglet Gérer dans votre espace de travail Azure Data Factory ou Synapse et sélectionnez Services liés, puis cliquez sur Nouveau :

  2. Recherchez Google Ads et sélectionnez le connecteur Google Ads.

    Screenshot of the Google Ads connector.

  3. Configurez les informations du service, testez la connexion et créez le nouveau service lié.

    Screenshot of linked service configuration for Google Ads.

Informations de configuration des connecteurs

Les sections suivantes fournissent des informations détaillées sur les propriétés utilisées pour définir les entités Data Factory spécifiques du connecteur Google Ads.

Propriétés du service lié

Les propriétés prises en charge pour le service lié Google Ads sont les suivantes :

Propriété Description Obligatoire
type La propriété type doit être définie sur : GoogleAdWords Oui
googleAdsApiVersion Version de l'API Google Ads utilisée lors de la sélection de la version recommandée du pilote. Vous pouvez consulter cet article pour obtenir des informations sur la version de l'API. Oui
clientCustomerID ID client du client du compte Ads pour lequel vous souhaitez extraire des données de rapport. Oui
loginCustomerID L'ID client du compte manager Google Ads par le biais duquel vous souhaitez récupérer les données de rapport d'un client spécifique. Non
developerToken Jeton de développeur associé au compte de gestionnaire que vous utilisez pour accorder l'accès à l'API Ads. Vous pouvez choisir de marquer ce champ comme SecureString pour le stocker en toute sécurité, ou stocker le mot de passe dans Azure Key Vault et laisser l'activité de copie en tirer (pull) les données lors de la copie. Pour plus d'informations, consultez la page Stocker des informations d'identification dans Key Vault. Oui
authenticationType Mécanisme d’authentification OAuth 2.0 utilisé pour l’authentification.
Les valeurs autorisées sont : ServiceAuthentication, UserAuthentication.
ServiceAuthentication ne peut être utilisé que sur un runtime d’intégration auto-hébergé.
Oui
Pour UserAuthentication :
refreshToken Jeton d'actualisation obtenu depuis Google pour autoriser l'accès à Ads pour UserAuthentication. Vous pouvez choisir de marquer ce champ comme SecureString pour le stocker en toute sécurité, ou stocker le mot de passe dans Azure Key Vault et laisser l'activité de copie en tirer (pull) les données lors de la copie. Pour plus d'informations, consultez la page Stocker des informations d'identification dans Key Vault. Non
clientId ID client de l’application Google utilisé pour acquérir le jeton d’actualisation. Vous pouvez choisir de marquer ce champ comme SecureString pour le stocker en toute sécurité, ou stocker le mot de passe dans Azure Key Vault et laisser l'activité de copie en tirer (pull) les données lors de la copie. Pour plus d'informations, consultez la page Stocker des informations d'identification dans Key Vault. Non
clientSecret Clé secrète client de l’application google utilisée pour acquérir le jeton d’actualisation. Vous pouvez choisir de marquer ce champ comme SecureString pour le stocker en toute sécurité, ou stocker le mot de passe dans Azure Key Vault et laisser l'activité de copie en tirer (pull) les données lors de la copie. Pour plus d'informations, consultez la page Stocker des informations d'identification dans Key Vault. Non
Pour serviceAuthentication :
email ID d’e-mail du compte de service utilisé pour ServiceAuthentication et qui ne peut être utilisé que sur un runtime d’intégration auto-hébergé. Non
privateKey Clé privée de service utilisée pour ServiceAuthentication pour la version recommandée du pilote, ne pouvant être utilisée que sur un RI auto-hébergé. Vous pouvez choisir de marquer ce champ comme SecureString pour le stocker en toute sécurité, ou stocker le mot de passe dans Azure Key Vault et laisser l'activité de copie en tirer (pull) les données lors de la copie. Pour plus d'informations, consultez la page Stocker des informations d'identification dans Key Vault. Non
Pour ServiceAuthentication utilisant la version du pilote héritée :
email ID d’e-mail du compte de service utilisé pour ServiceAuthentication et qui ne peut être utilisé que sur un runtime d’intégration auto-hébergé. Non
keyFilePath Chemin complet du fichier de clé .p12 ou .json utilisé pour authentifier l’adresse e-mail du compte de service et qui ne peut être utilisé que sur un runtime d’intégration auto-hébergé. Non
trustedCertPath Chemin complet du fichier .pem contenant les certificats d’autorité de certification approuvés permettant de vérifier le serveur en cas de connexion TLS. Cette propriété n’est disponible que si le protocole TLS est utilisé sur un runtime d’intégration auto-hébergé. Valeur par défaut : le fichier cacerts.pem installé avec le runtime d’intégration. Non
useSystemTrustStore Indique s’il faut utiliser un certificat d’autorité de certification provenant du magasin de confiance du système ou d’un fichier PEM spécifié. La valeur par défaut est false. Non

Exemple :

{
    "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"
        }
    }
}

Propriétés du jeu de données

Pour obtenir la liste complète des sections et propriétés disponibles pour la définition de jeux de données, consultez l’article sur les jeux de données. Cette section fournit une liste des propriétés prises en charge par le jeu de données Google Ads.

Pour copier des données à partir de Google Ads, définissez la propriété type du jeu de données sur GoogleAdWordsObject. Les propriétés prises en charge sont les suivantes :

Propriété Description Obligatoire
type La propriété type du jeu de données doit être définie sur : GoogleAdWordsObject Oui
tableName Nom de la table. Spécifiez cette propriété lorsque vous utilisez la version du pilote héritée. Non (si « query » dans la source de l’activité est spécifié)

Exemple

{
    "name": "GoogleAdsDataset",
    "properties": {
        "type": "GoogleAdWordsObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<GoogleAds linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propriétés de l’activité de copie

Pour obtenir la liste complète des sections et des propriétés disponibles pour la définition des activités, consultez l’article Pipelines. Cette section fournit une liste des propriétés prises en charge par la source Google Ads.

Pour copier des données à partir de Google Ads, définissez le type de source sur GoogleAdWordsSource dans l'activité de copie. Les propriétés prises en charge dans la section source de l’activité de copie sont les suivantes :

Propriété Description Obligatoire
type La propriété type de la source d’activité de copie doit être définie sur : GoogleAdWordsSource Oui
query Utilisez la requête GAQL pour la lecture des données. Par exemple : SELECT campaign.id FROM campaign. Non (si « tableName » est spécifié dans dataset)

Exemple :

"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>"
            }
        }
    }
]

Propriétés de l’activité Lookup

Pour en savoir plus sur les propriétés, consultez Activité Lookup.

Mettre à niveau la version du pilote Google Ads

Pour mettre à niveau votre version du pilote Google Ads, vous devez mettre à jour votre service lié et apprendre à migrer de SQL vers Google Ads Query Language (GAQL).

Mettre à jour la configuration du service lié

Dans la page Modifier le service lié, sélectionnez Recommandé sous Version du pilote et configurez le service lié en vous référant aux propriétés du service lié.

Migrer de SQL vers GAQL

Convertissez vos instructions de requête et vos noms de champs lors de la migration de SQL vers GAQL.

Instructions de requête

Si vous utilisez une requête SQL dans la source de l'activité de copie ou dans l'activité de recherche qui fait référence à l'ancien service lié hérité Google Ads, vous devez la mettre à jour avec la requête GAQL.

Contrairement à SQL, la requête en GAQL est constituée de six types de clauses :

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT
  • PARAMETERS

Consultez Google Ads Query Language Grammar pour l'introduction de GAQL.

Prenons l'exemple de l'instruction SQL suivante :

SELECT *|FieldName FROM ResourceName WHERE FieldName Operator Value

Vous pouvez suivre les instructions ci-dessous pour convertir l'instruction SQL en instruction GAQL correspondante :

  1. Si le symbole * (astérisque) est utilisé après la clause SELECT, vous devez spécifier tous les champs requis à la place de l'astérisque, car GAQL ne prend pas en charge le symbole SELECT *. Consultez cet article pour découvrir tous les champs sélectionnables dans la ressource spécifique.
  2. Si le nom du champ est utilisé après la clause SELECT, vous devez convertir le nom en nom de champ correspondant dans GAQL, car les conventions d'affectations de noms sont différentes. Par exemple, le nom du champ campaign_id dans l'instruction de requête SQL doit être converti en campaign.id dans GAQL. Consultez Nom du champ pour plus d'informations sur la conversion des noms de champ.
  3. Le nom de la ressource peut être conservé sans autre modification, à moins que sa casse ne soit incompatible avec les indications données ici.
  4. La clause WHERE doit être mise à jour conformément à la grammaire GAQL , car les opérateurs pris en charge par GAQL ne sont pas compatibles avec SQL, et le nom du champ doit également être converti tel que décrit dans le deuxième point.

Voici deux outils très utiles proposés par Google. Ils sont fortement recommandés lors de l'élaboration des requêtes correspondantes de GAQL :

Nom du champ

Le nom du champ utilisé dans SQL n'est pas aligné sur GAQL. Vous devez également apprendre les règles de conversion des noms de champs dans SQL en noms de champs dans GAQL. La règle de conversion peut être formulée comme suit :

  • Si le nom du champ appartient à une ressource, le trait de soulignement (_) dans SQL sera remplacé par un point (.) dans GAQL. Pour ce qui est des mots situés entre les points, les instructions de type « camelCase » utilisées dans SQL seront remplacées par des mots autonomes entre lesquels seront ajoutés des traits de soulignement. La première chaîne de type PascalCase dans SQL sera remplacée par le nom de la ressource correspondante dans GAQL.

  • Si le nom du champ appartient à des segments ou à des métriques, les préfixes segments. ou metrics. doivent être ajoutés dans GAQL. Ensuite, suivez la même règle que celle décrite au premier point pour convertir le nom.

Découvrez ci-dessous des exemples concrets de conversion de nom de champ :

Catégorie Noms de champs dans SQL Noms de champs dans GAQL
Champs de ressource Campaign_startDate campaign.start_date
Champs de ressource Customer_conversionTrackingSetting_conversionTrackingStatus customer.conversion_tracking_setting.conversion_tracking_status
Segments DayOfWeek segments.day_of_week
Métriques VideoViews metrics.video_views

Mise à jour du connecteur Google AdWords vers le connecteur Google Ads

Mettez à jour votre service lié à Google AdWords avec la dernière version du service lié à Google Ads en suivant les étapes ci-dessous :

  1. Sélectionnez Recommandé comme version du pilote pour créer un nouveau service lié à Google Ads et le configurer en vous référant aux propriétés du service lié.

  2. Mettez à jour vos pipelines faisant référence au service lié Google AdWords hérité. En considérant que le service lié à Google Ads ne prend en charge que l'utilisation de la requête pour copier des données :

    1. Si votre pipeline récupère directement les données du rapport de Google AdWords, trouvez le nom de la ressource correspondante de Google Ads dans le tableau ci-dessous et utilisez cet outil pour générer la requête.

      Rapport Google AdWords Ressource Google Ads
      ACCOUNT_PERFORMANCE_REPORT client
      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 campagne
      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 Ce service n'est plus disponible dans l'API Google Ads.
      URL_PERFORMANCE_REPORT detail_placement_view
      USER_AD_DISTANCE_REPORT distance_view
      VIDEO_PERFORMANCE_REPORT vidéo
    2. Si le pipeline utilise des requêtes pour récupérer des données de Google AdWords, utilisez l'outil Query Migration pour traduire le langage AWQL (AdWords Query Language) en langage GAQL (Google Ads Query Language).

  3. Attention, cette mise à niveau comporte certaines limitations :

    1. Tous les types de rapports AWQL ne sont pas pris en charge dans GAQL.
    2. Toutes les requêtes AWQL ne sont pas systématiquement traduites en requêtes GAQL.

Pour obtenir une liste des magasins de données pris en charge comme sources et récepteurs par l’activité de copie, consultez la section sur les magasins de données pris en charge.