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 :
- L’outil Copier des données
- Le portail Azure
- Le kit SDK .NET
- Le kit SDK Python
- Azure PowerShell
- L’API REST
- Le modèle Azure Resource Manager
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.
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 :
Recherchez Google Ads et sélectionnez le connecteur Google Ads.
Configurez les informations du service, testez la connexion et créez le nouveau service lié.
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 : | ||
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 : | ||
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.
Google Ads comme source
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 :
- Si le symbole
*
(astérisque) est utilisé après la clauseSELECT
, vous devez spécifier tous les champs requis à la place de l'astérisque, car GAQL ne prend pas en charge le symboleSELECT *
. Consultez cet article pour découvrir tous les champs sélectionnables dans la ressource spécifique. - 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 champcampaign_id
dans l'instruction de requête SQL doit être converti encampaign.id
dans GAQL. Consultez Nom du champ pour plus d'informations sur la conversion des noms de champ. - Le nom de la ressource peut être conservé sans autre modification, à moins que sa casse ne soit incompatible avec les indications données ici.
- 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.
oumetrics.
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 |
Différences dans Google Ads lors de l’utilisation de la version recommandée du pilote et de la version héritée du pilote
Le tableau ci-dessous présente les différences de fonctionnalités dans Google Ads lors de l’utilisation de la version recommandée du pilote et de la version héritée du pilote.
Version recommandée du pilote | Version héritée du pilote |
---|---|
La spécification de la version de l’API Google Ads est prise en charge. | La spécification de la version de l’API Google Ads n’est pas prise en charge. |
ServiceAuthentication prend en charge deux propriétés : • privateKey |
ServiceAuthentication prend en charge quatre propriétés : • keyFilePath • trustedCertPath • useSystemTrustStore |
La sélection d’une table dans un jeu de données n’est pas prise en charge. | Prise en charge de la sélection d’une table dans un jeu de données et de l’interrogation de la table dans les activités de copie. |
Prise en charge de la syntaxe GAQL comme langage de requête. | Prise en charge de la syntaxe SQL comme langage de requête. |
Les noms des colonnes de sortie sont identiques aux noms des champs définis dans Google Ads. | Les noms des colonnes de sortie ne correspondent pas aux noms des champs définis dans Google Ads. |
Les mappages suivants sont utilisés entre les types de données Google Ads et les types de données intermédiaires utilisés par le service en interne. float -> float int32 -> int int64 -> long |
Les mappages suivants sont utilisés entre les types de données Google Ads et les types de données intermédiaires utilisés par le service en interne. float -> string int32 -> string int64 -> string |
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 :
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é.
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 :
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 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).
Attention, cette mise à niveau comporte certaines limitations :
- Tous les types de rapports AWQL ne sont pas pris en charge dans GAQL.
- Toutes les requêtes AWQL ne sont pas systématiquement traduites en requêtes GAQL.
Contenu connexe
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.