Transferts Google Ads
Le service de transfert de données BigQuery pour le connecteur Google Ads (anciennement connu sous le nom de Google AdWords) vous permet de programmer et de gérer automatiquement les jobs de chargement récurrents pour les données de rapports Google Ads.
Rapports acceptés
Le service de transfert de données BigQuery pour Google Ads est compatible avec l'API Google Ads version 16 :
Pour en savoir plus sur la transformation des rapports Google Ads en tables et vues du service de transfert de données BigQuery, consultez la section Transformation des rapports Google Ads.
Pour mapper les rapports Google Ads sur le contenu de l'UI de Google Ads, consultez la page Mapper les rapports sur l'UI de Google Ads.
Option de création de rapports | Compatibilité |
---|---|
Version d'API compatible | |
Fréquence de répétition | Tous les jours, à l'heure où le transfert a été créé (par défaut) Vous pouvez configurer une heure spécifique. |
Intervalle d'actualisation | 7 derniers jours (par défaut) Configurable jusqu'à 30 jours Les instantanés des tableaux de correspondance sont réalisés une fois par jour, puis stockés dans la partition pour la dernière date d'exécution. Ils ne sont pas mis à jour pour les remplissages ni pour les jours chargés via l'intervalle d'actualisation. |
Durée maximale du remplissage | Aucune limite Même si aucune restriction connue n'est appliquée à la conservation des données dans Google Ads, excepté pour le rapport sur les performances des clics, le service de transfert de données BigQuery limite le nombre de jours couverts par chaque requête de remplissage. Pour en savoir plus sur les remplissages, consultez Déclencher manuellement un transfert. |
Nombre de numéros client par compte administrateur | 8 000 Le service de transfert de données BigQuery accepte jusqu'à 8 000 numéros client pour chaque compte administrateur Google Ads (CM). |
Ingestion de données à partir de transferts Google Ads
Lorsque vous transférez des données de Google Ads vers BigQuery, elles sont chargées dans des tables BigQuery partitionnées par date. La partition de la table dans laquelle les données sont chargées correspond à la date de la source de données. Si vous planifiez plusieurs transferts pour la même date, le service de transfert de données BigQuery remplace la partition de cette date spécifique par les données les plus récentes. Plusieurs transferts le même jour ou l'exécution de remplissages n'entraînent pas de données en double, et les partitions des autres dates ne sont pas affectées.Actualiser les fenêtres
Un intervalle d'actualisation correspond au nombre de jours pendant lesquels un transfert de données récupère des données lors d'un transfert de données. Par exemple, si la fenêtre d'actualisation est de trois jours et qu'un transfert quotidien a lieu, le service de transfert de données BigQuery récupère toutes les données de votre table source des trois derniers jours. Dans cet exemple, lorsqu'un transfert quotidien a lieu, le service de transfert de données BigQuery crée une partition de table de destination BigQuery avec une copie des données de votre table source du jour, puis déclenche automatiquement des exécutions de remplissage pour mettre à jour les partitions de table de destination BigQuery avec les données de votre table source des deux jours précédents. Les opérations de remplissage déclenchées automatiquement écrasent ou mettent à jour de manière incrémentielle votre table de destination BigQuery, selon que les mises à jour incrémentielles sont ou non compatibles avec le connecteur du service de transfert de données BigQuery.
Lorsque vous exécutez un transfert de données pour la première fois, celui-ci récupère toutes les données sources disponibles pendant l'intervalle d'actualisation. Par exemple, si la fenêtre d'actualisation est de trois jours et que vous exécutez le transfert de données pour la première fois, le service de transfert de données BigQuery récupère toutes les données sources dans un délai de trois jours.
Les fenêtres d'actualisation sont mappées sur le champ d'API TransferConfig.data_refresh_window_days
.
Pour récupérer des données en dehors de la période d'actualisation, telles que des données historiques, ou pour récupérer des données en cas d'indisponibilité ou d'écarts de transfert, vous pouvez lancer ou planifier une exécution de remplissage.
Limites
- La fréquence maximale à laquelle vous pouvez configurer un transfert de données Google Ads est une fois toutes les 24 heures. Par défaut, un transfert commence au moment où vous le créez. Toutefois, vous pouvez configurer l'heure de début du transfert lorsque vous créez votre transfert.
- Le service de transfert de données BigQuery n'est pas compatible avec les transferts de données incrémentiels lors d'un transfert Google Ads. Lorsque vous spécifiez une date pour un transfert de données, toutes les données disponibles pour cette date sont transférées.
Avant de commencer
Avant de créer un transfert de données Google Ads, procédez comme suit :
- Vérifiez que vous avez effectué toutes les actions requises pour activer le service de transfert de données BigQuery.
- Créez un ensemble de données du service de transfert de données BigQuery pour stocker les données Google Ads.
- Si vous avez l'intention de configurer des notifications d'exécution de transfert pour Pub/Sub, assurez-vous de disposer de l'autorisation
pubsub.topics.setIamPolicy
. Les autorisations Pub/Sub ne sont pas nécessaires si vous ne configurez que des notifications par e-mail. Pour plus d'informations, consultez la page Notifications d'exécution du service de transfert de données BigQuery.
Autorisations requises
Assurez-vous que la personne qui crée le transfert de données dispose des autorisations requises suivantes :
Service de transfert de données BigQuery :
- Autorisations
bigquery.transfers.update
pour créer le transfert de données - Autorisations
bigquery.datasets.get
etbigquery.datasets.update
sur l'ensemble de données cible
Le rôle IAM prédéfini
bigquery.admin
inclut les autorisationsbigquery.transfers.update
,bigquery.datasets.update
etbigquery.datasets.get
. Pour en savoir plus sur les rôles IAM associés au service de transfert de données BigQuery, consultez la documentation de référence sur le contrôle des accès.- Autorisations
Google Ads : accès en lecture au numéro client Google Ads ou au compte administrateur (CM) utilisé dans la configuration de transfert.
Créer un transfert de données Google Ads
Pour créer un transfert de données pour les rapports Google Ads, vous avez besoin de votre numéro client Google Ads ou de votre compte administrateur (CM). Pour en savoir plus sur la récupération de votre numéro client Google Ads, consultez la page Localiser votre numéro client.
Pour créer un transfert de données pour les rapports Google Ads, sélectionnez l'une des options suivantes :
Console
Accédez à la page "Transferts de données" dans la console Google Cloud.
Cliquez sur
Créer un transfert.Dans la section Source type (Type de source), choisissez Cloud Storage comme Source.
Dans la section Transfer config name (Nom de la configuration de transfert), sous Display name (Nom à afficher), saisissez un nom pour le transfert de données, tel que
My Transfer
. Ce nom peut correspondre à toute valeur permettant d'identifier le transfert si vous devez le modifier ultérieurement.Dans la section Schedule options (Options de programmation) :
Pour le champ Repeat frequency (Fréquence de répétition), choisissez la fréquence d'exécution du transfert de données : Si vous sélectionnez Jours, indiquez une heure valide au format UTC.
- Heures
- Jours
- À la demande
Le cas échéant, sélectionnez Commencer ou Commencer à l'heure définie, puis indiquez une date de début et une heure d'exécution.
Dans la section Paramètres de destination, pour le champ Ensemble de données, sélectionnez l'ensemble de données que vous avez créé pour stocker vos données.
Dans la section Data source details (Détails de la source de données) :
Dans le champ Numéro client, saisissez votre numéro client Google Ads :
Facultatif : sélectionnez des options pour exclure les éléments supprimés ou désactivés et inclure des tables nouvelles à Google Ads.
Facultatif : saisissez une liste de tables séparées par une virgule, par exemple
Campaign, AdGroup
. Ajoutez le préfixe-
à cette liste pour exclure certaines tables, par exemple-Campaign, AdGroup
. Toutes les tables sont incluses par défaut.Facultatif : Sélectionnez l'option permettant d'inclure des tableaux spécifiques aux rapports PMax. Pour en savoir plus sur la compatibilité avec PMax, consultez la page Compatibilité avec PMax.
Facultatif : pour Intervalle d'actualisation, saisissez une valeur comprise entre 1 et 30.
Dans le menu Compte de service, sélectionnez un compte de service parmi ceux associés à votre projet Google Cloud. Vous pouvez associer un compte de service à votre transfert de données au lieu d'utiliser vos identifiants utilisateur. Pour en savoir plus sur l'utilisation des comptes de service avec des transferts de données, consultez la page Utiliser des comptes de service.
- Si vous vous êtes connecté avec une identité fédérée, vous devez disposer d'un compte de service pour créer un transfert. Si vous vous êtes connecté avec un compte Google, un compte de service pour le transfert est facultatif.
- Le compte de service doit disposer des autorisations requises.
Facultatif : dans la section Notification options (Options de notification) :
Cliquez sur le bouton pour activer les notifications par e-mail. Lorsque vous activez cette option, l'administrateur de transfert reçoit une notification par e-mail en cas d'échec de l'exécution du transfert.
Cliquez sur le bouton pour activer les notifications Pub/Sub. Pour le champ Select a Cloud Pub/Sub topic (Sélectionner un sujet Cloud Pub/Sub), choisissez le nom de votre sujet ou cliquez sur Create a topic (Créer un sujet). Cette option configure les notifications d'exécution Pub/Sub pour votre transfert.
Cliquez sur Enregistrer.
bq
Saisissez la commande bq mk
, puis spécifiez l'indicateur de création de transfert --transfer_config
. Les paramètres suivants sont également requis :
--data_source
--target_dataset
--display_name
--params
Les options suivantes sont facultatives :
--project_id
: spécifie le projet à utiliser. Si l'option n'est pas spécifiée, le projet par défaut est utilisé.--table_filter
: spécifie les tables à inclure dans le transfert de données. Si l'option n'est pas spécifiée, toutes les tables sont incluses. Pour n'inclure que des tables spécifiques, utilisez une liste de valeurs séparées par des virgules (par exemple,Ad
,Campaign
,AdGroup
). Pour exclure des tables spécifiques, ajoutez un tiret comme préfixe aux valeurs (-
) (par exemple,-Ad
,Campaign
,AdGroup
).--schedule
: indique la fréquence d'exécution des requêtes. Si vous ne spécifiez pas--schedule
, la valeur par défaut estevery 24 hours
. Pour en savoir plus sur la syntaxe de programmation, consultez Mettre en forme l'élément schedule.--refresh_window_days
: indique la fenêtre d'actualisation pour une configuration de transfert, en jours. La valeur par défaut est7
.--service_account_name
: spécifie un compte de service à utiliser pour l'authentification du transfert Google Ads, au lieu de votre compte utilisateur.
bq mk \ --transfer_config \ --project_id=PROJECT_ID \ --target_dataset=DATASET \ --display_name=NAME \ --params='PARAMETERS' \ --data_source=DATA_SOURCE \ --table_filter=TABLES \ --schedule=SCHEDULE --refresh_window_days=REFRESH_DAYS --service_account_name=SERVICE_ACCOUNT_NAME
Où :
- PROJECT_ID est l'ID de votre projet.
- DATASET est l'ensemble de données cible de la configuration de transfert de données.
- NAME est le nom à afficher pour la configuration du transfert de données. Ce nom peut correspondre à toute valeur permettant d'identifier le transfert si vous devez le modifier ultérieurement.
- PARAMETERS contient les paramètres de la configuration de transfert créée au format JSON. Exemple :
--params='{"param":"param_value"}'
. Pour Google Ads, vous devez fournir le paramètrecustomer_id
. Vous pouvez éventuellement définir le paramètreexclude_removed_items
surtrue
pour empêcher le transfert d'entités et de métriques supprimées ou désactivées. - DATA_SOURCE correspond à la source de données :
google_ads
. - TABLES est la liste des tables à inclure ou à exclure du transfert de données, séparées par une virgule.
- SCHEDULE correspond à la fréquence d'exécution de la requête. Si
--schedule
n'est pas spécifié, la valeur par défaut est toutes les 24 heures, à partir de l'heure de création du transfert. - REFRESH_DAYS est un entier spécifiant la fenêtre d'actualisation pour une configuration de transfert, en jours. La valeur par défaut est
7
. - SERVICE_ACCOUNT_NAME est le nom du compte de service utilisé pour authentifier le transfert. Le compte de service doit appartenir au même
project_id
que celui utilisé pour créer le transfert et doit disposer de toutes les autorisations requises.
Par exemple, la commande suivante crée un transfert de données Google Ads nommé My Transfer
utilisant le numéro client 123-123-1234
et l'ensemble de données cible mydataset
. Le transfert de données est créé dans le projet par défaut :
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"customer_id":"123-123-1234","exclude_removed_items":"true"}' \
--data_source=google_ads
La première fois que vous exécutez la commande, vous recevez un message de ce type :
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
Suivez les instructions du message et collez le code d'authentification sur la ligne de commande.
API
Utilisez la méthode projects.locations.transferConfigs.create
et fournissez une instance de la ressource TransferConfig
.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java du guide de démarrage rapide de BigQuery : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API BigQuery pour Java.
Pour vous authentifier auprès de BigQuery, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Déclencher manuellement un transfert Google Ads
Lorsque vous déclenchez manuellement un transfert pour Google Ads, des instantanés des tables de correspondance sont réalisés une fois par jour, puis stockés dans la partition de la dernière date d'exécution. Lorsque vous déclenchez un transfert manuel, les instantanés des tables de correspondances des tables suivantes ne sont pas mis à jour :
- Annonce
- AdGroup
- AdGroupAudience
- AdGroupBidModifier
- AdGroupAdLabel
- AdGroupCriterion
- AdGroupCriterionLabel
- AdGroupLabel
- AgeRange
- Élément
- AssetGroup
- AssetGroupAsset
- AssetGroupListingGroupFilter
- AssetGroupSignal
- Audience
- BidGoal
- Budget
- Campaign
- CampaignAudience
- CampaignCriterion
- CampaignLabel
- Customer
- Sexe
- Mot clé
- LocationBasedCampaignCriterion
- ParentalStatus
- Placement
- Vidéo
Compatibilité PMax
Le connecteur Google Ads vous permet d'exporter les données des campagnes PMax. Vous devez cocher la case Inclure les tables des campagnes PMax lors de la création d'un transfert de données, car les données PMax ne sont pas exportées par défaut.
L'inclusion des données PMax supprime les champs ad_group
de certaines tables et inclut de nouvelles tables. Vous ne pouvez pas inclure les champs ad_group
, car l'API Google Ads filtre les données PMax.
Les tableaux suivants excluent les colonnes associées à ad_group
lorsque la case Inclure les tables des campagnes PMax est cochée :
- GeoStats
- GeoConversionStats
- ShoppingProductConversionStats
- ShoppingProductStats
- LocationsUserLocationsStats
Les tableaux suivants sont ajoutés lorsque la case Inclure les tables des campagnes PMax est cochée :
- Élément
- AssetGroup
- AssetGroupAsset
- AssetGroupListingGroupFilter
- AssetGroupSignal
- Audience
- AssetGroupProductGroupStats
- CampaignAssetStats
Compatibilité des comptes administrateur Google Ads
Les clients existants qui disposent de plusieurs transferts Google Ads propres à un numéro client sont invités à configurer un transfert Google Ads unique au niveau du compte administrateur (CM), à programmer un remplissage et à désactiver les transferts Google Ads individuels qui sont propres au numéro client.
L'utilisation des comptes administrateur Google Ads présente plusieurs avantages par rapport à l'utilisation de numéros client individuels :
- Vous n'avez plus besoin de gérer de multiples transferts de données pour générer des rapports relatifs à différents numéros client.
- Les requêtes multiclients sont beaucoup plus simples à écrire, car tous les numéros client sont stockés dans la même table.
- L'utilisation d'un multicompte atténue les problèmes potentiels de quota de chargement du service de transfert de données BigQuery, car plusieurs numéros client sont chargés dans la même tâche.
Pour en savoir plus sur les comptes administrateur Google Ads (CM), consultez les pages Utiliser les comptes gérés et Associer des comptes à votre compte administrateur.
Exemple
La liste suivante répertorie les numéros client associés à certains comptes administrateur Google Ads :
- 1234567890 : compte administrateur racine
- 1234 : sous-compte administrateur
- 1111 : numéro client
- 2222 : numéro client
- 3333 : numéro client
- 4444 : numéro client
- 567 : sous-compte administrateur
- 5555 : numéro client
- 6666 : numéro client
- 7777 : numéro client
- 89 : sous-compte administrateur
- 8888 : numéro client
- 9999 : numéro client
- 0000 : numéro client
- 1234 : sous-compte administrateur
Chaque numéro client associé à un compte administrateur apparaît dans chacun des rapports. Pour en savoir plus sur la structure des rapports Google Ads dans le service de transfert de données BigQuery, consultez la page Transformer des rapports Google Ads.
Configurer un transfert pour le numéro client 1234567890
Configurer un transfert pour le compte administrateur racine (numéro client 1234567890) générerait des exécutions de transfert de données comprenant les numéros client suivants :
- 1111 (via le sous-compte administrateur 1234)
- 2222 (via le sous-compte administrateur 1234)
- 3333 (via le sous-compte administrateur 1234)
- 4444 (via le sous-compte administrateur 1234)
- 5555 (via les sous-comptes administrateur 567 et 1234)
- 6666 (via les sous-comptes administrateur 567 et 1234)
- 7777 (via les sous-comptes administrateur 567 et 1234)
- 8888 (via le sous-compte administrateur 89)
- 9999 (via le sous-compte administrateur 89)
- 0000 (numéro client individuel)
Configurer un transfert pour le numéro client 1234
Configurer un transfert pour le compte administrateur secondaire 123 (numéro client 1234) générerait des exécutions de transfert de données comprenant les numéros client suivants :
- 1111
- 2222
- 3333
- 4444
- 5555 (via le sous-compte administrateur 567)
- 6666 (via le sous-compte administrateur 567)
- 7777 (via le sous-compte administrateur 567)
Configurer un transfert pour le numéro client 567
Configurer un transfert pour le compte administrateur secondaire 567 (numéro client 567) générerait des exécutions de transfert de données comprenant les numéros client suivants :
- 5555
- 6666
- 7777
Configurer un transfert pour le numéro client 89
Configurer un transfert pour le compte administrateur secondaire 89 (numéro client 89) générerait des exécutions de transfert de données comprenant les numéros client suivants :
- 8888
- 9999
Configurer un transfert pour le numéro client 0000
Configurer un transfert pour le numéro client 0000 générerait des exécutions de transfert de données comprenant uniquement le numéro client suivant :
- 0000
Migrer les données Google Ads vers les CM
Pour migrer vos données Google Ads existantes dans le service de transfert de données BigQuery vers la structure CM, vous pouvez configurer un remplissage afin d'ajouter vos données existantes aux tables créées par la configuration de transfert associée au compte administrateur. Veuillez noter que lorsque vous programmez un remplissage, les tables de correspondance ne sont pas mises à jour.
Résoudre les problèmes liés à la configuration d'un transfert Google Ads
Si vous rencontrez des problèmes lors de la configuration de votre transfert de données, consultez la section Problèmes de transfert sur Google Ads de la page Dépannage des configurations de transferts.
Interroger les données
Lorsque vos données sont transférées vers le service de transfert de données BigQuery, les données sont écrites dans des tables partitionnées par date d'ingestion. Pour plus d'informations, consultez la page Présentation des tables partitionnées.
Si vous interrogez directement les tables au lieu d'utiliser les vues générées automatiquement, vous devez utiliser la pseudo-colonne _PARTITIONTIME
dans votre requête. Pour en savoir plus, consultez la page Interroger des tables partitionnées.
Exemples de requêtes Google Ads
Vous pouvez analyser les données que vous avez transférées à l'aide des exemples de requêtes Google Ads suivants. Vous pouvez également interroger les données dans un outil de visualisation tel que Looker Studio. Ces requêtes sont fournies pour vous guider dans l'interrogation des données Google Ads avec le service de transfert de données BigQuery. Si vous avez d'autres questions sur ce que vous pouvez faire avec ces rapports, contactez votre représentant technique Google Ads.
Dans chacune des requêtes suivantes, remplacez dataset par le nom de votre ensemble de données. Remplacez customer_id par votre numéro client Google Ads.
Si vous interrogez directement les tables au lieu d'utiliser les vues générées automatiquement, vous devez utiliser la pseudo-colonne _PARTITIONTIME
dans votre requête. Pour en savoir plus, consultez la section Interroger des tables partitionnées.
Performances des campagnes
L'exemple de requête ci-dessous permet d'analyser les performances des campagnes Google Ads au cours des 30 derniers jours.
Console
SELECT c.customer_id, c.campaign_name, c.campaign_status, SUM(cs.metrics_impressions) AS Impressions, SUM(cs.metrics_interactions) AS Interactions, (SUM(cs.metrics_cost_micros) / 1000000) AS Cost FROM `DATASET.ads_Campaign_CUSTOMER_ID` c LEFT JOIN `DATASET.ads_CampaignBasicStats_CUSTOMER_ID` cs ON (c.campaign_id = cs.campaign_id AND cs._DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)) WHERE c._DATA_DATE = c._LATEST_DATE GROUP BY 1, 2, 3 ORDER BY Impressions DESC
bq
bq query --use_legacy_sql=false ' SELECT c.customer_id, c.campaign_name, c.campaign_status, SUM(cs.metrics_impressions) AS Impressions, SUM(cs.metrics_interactions) AS Interactions, (SUM(cs.metrics_cost_micros) / 1000000) AS Cost FROM `DATASET.ads_Campaign_CUSTOMER_ID` c LEFT JOIN `DATASET.ads_CampaignBasicStats_CUSTOMER_ID` cs ON (c.campaign_id = cs.campaign_id AND cs._DATA_DATE BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)) WHERE c._DATA_DATE = c._LATEST_DATE GROUP BY 1, 2, 3 ORDER BY Impressions DESC'
Nombre de mots clés
L'exemple de requête suivant analyse les mots clés par campagne, par groupe d'annonces et par état de mots clé. Cette requête utilise la fonction KeywordMatchType
. Grâce aux différents types de correspondance des mots clés, vous pouvez mieux contrôler quelles recherches déclencheront la diffusion de votre annonce. Pour en savoir plus sur les options de ciblage par mots-clés, consultez la page À propos des options de correspondance des mots-clés.
Console
SELECT c.campaign_status AS CampaignStatus, a.ad_group_status AS AdGroupStatus, k.ad_group_criterion_status AS KeywordStatus, k.ad_group_criterion_keyword_match_type AS KeywordMatchType, COUNT(*) AS count FROM `DATASET.ads_Keyword_CUSTOMER_ID` k JOIN `DATASET.ads_Campaign_CUSTOMER_ID` c ON (k.campaign_id = c.campaign_id AND k._DATA_DATE = c._DATA_DATE) JOIN `DATASET.ads_AdGroup_CUSTOMER_ID` a ON (k.ad_group_id = a.ad_group_id AND k._DATA_DATE = a._DATA_DATE) WHERE k._DATA_DATE = k._LATEST_DATE GROUP BY 1, 2, 3, 4
bq
bq query --use_legacy_sql=false ' SELECT c.campaign_status AS CampaignStatus, a.ad_group_status AS AdGroupStatus, k.ad_group_criterion_status AS KeywordStatus, k.ad_group_criterion_keyword_match_type AS KeywordMatchType, COUNT(*) AS count FROM `DATASET.ads_Keyword_CUSTOMER_ID` k JOIN `DATASET.ads_Campaign_CUSTOMER_ID` c ON (k.campaign_id = c.campaign_id AND k._DATA_DATE = c._DATA_DATE) JOIN `DATASET.ads_AdGroup_CUSTOMER_ID` a ON (k.ad_group_id = a.ad_group_id AND k._DATA_DATE = a._DATA_DATE) WHERE k._DATA_DATE = k._LATEST_DATE GROUP BY 1, 2, 3, 4'