Planifier un transfert Facebook Ads
Le service de transfert de données BigQuery pour le connecteur d'annonces Facebook vous permet de planifier et de gérer automatiquement les jobs de chargement récurrents des annonces Facebook dans BigQuery.
Limites
Les transferts de données Facebook Ads sont soumis aux limitations suivantes :
- L'intervalle minimum entre les transferts récurrents des données des annonces Facebook est de 24 heures. L'intervalle par défaut entre transferts récurrents est de 24 heures.
- Le service de transfert de données BigQuery pour Facebook Ads n'accepte qu'un ensemble fixe de tables. Les rapports personnalisés ne sont pas acceptés.
- La durée maximale des transferts d'annonces Facebook est de six heures. Un transfert échoue si sa durée dépasse cette durée maximale.
- Les transferts incrémentiels ne sont pas acceptés pour les tables
AdInsights
etAdInsightsActions
. Lorsque vous créez un transfert de données qui inclut des tablesAdInsights
etAdInsightsActions
, et que vous avez spécifié une date dans les options de planification, toutes les données disponibles pour cette date sont transférées. - Le service de transfert de données BigQuery permet une fenêtre d'actualisation d'un jour pour les tables
AdInsights
etAdInsightsActions
. La fenêtre d'actualisation fait référence au nombre de jours pendant lesquels un transfert de données récupérera les données sources. 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. Le jeton d'accès utilisateur de longue durée requis pour les transferts Facebook Ads expire au bout de 60 jours.
Si votre jeton d'accès utilisateur de longue durée a expiré, vous pouvez obtenir le nouveau en accédant aux détails du transfert et en cliquant sur Modifier. Sur la page de modification du transfert, suivez la même procédure que dans la section Conditions préalables à l'utilisation des annonces Facebook pour générer un nouveau jeton d'accès utilisateur de longue durée.
Ingestion de données à partir de transferts Facebook Ads
Lorsque vous transférez des données de Facebook 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.Pour les tables AdInsights
et AdInsightsAction
, la partition de la table dans laquelle les données sont chargées correspond à la date de la source de données.
Pour les tables AdAccounts
, les instantanés sont réalisés une fois par jour et stockés dans la partition de la dernière date d'exécution du transfert. La fenêtre d'actualisation ne s'applique pas à la table AdAccounts
.
Avant de commencer
Les sections suivantes décrivent la procédure à suivre avant de créer un transfert Facebook Ads.
Conditions préalables à l'utilisation des annonces Facebook
Vérifiez que vous disposez des informations Facebook Ads suivantes lorsque vous créez un transfert d'annonces Facebook.
Paramètres de Facebook Ads | Description |
---|---|
clientID |
Nom d'ID d'application pour le client OAuth 2.0. |
clientSecret |
Code secret de l'application pour le client OAuth 2.0. |
refreshToken |
Jeton d'accès utilisateur de longue durée, également appelé jeton d'actualisation. |
Pour obtenir un clientID
et un clientSecret
, procédez comme suit :
- Créez une application de développeur Facebook avec le type d'application
Business
. - Dans le tableau de bord des applications Facebook, cliquez sur Paramètres de l'application > Basic, puis recherchez l'ID de l'application. et le code secret de l'application correspondant à l'application.
Pour obtenir un jeton d'accès utilisateur de longue durée, également appelé jeton d'actualisation, procédez comme suit :
Dans la console Google Cloud, suivez les étapes permettant de créer un transfert Facebook Ads.
Dans la section Détails de la source de données, copiez l'URI de redirection répertorié après le champ Jeton d'actualisation.
Cliquez sur le tableau de bord des applications Facebook, puis sur Configurer dans la section Facebook Login for Business.
Sur la page Paramètres, saisissez l'URL de redirection dans le champ URI de redirection OAuth valides, puis cliquez sur Enregistrer.
Revenez à la console Google Cloud. Dans la section Détails de la source de données, cliquez sur Autoriser. Vous allez être redirigé vers une page d'authentification Facebook.
Sélectionnez l'application de développeur Facebook pour autoriser le compte qui se connecte au service de transfert de données BigQuery.
Une fois l'opération terminée, cliquez sur OK pour revenir à la console Google Cloud. Le jeton d'accès utilisateur de longue durée est désormais renseigné dans la configuration de transfert.
Les jetons d'accès utilisateur de longue durée expirent au bout de 60 jours. Pour en savoir plus sur l'obtention d'un nouveau jeton d'accès utilisateur de longue durée, consultez la section Limites.
Alternatives aux jetons d'actualisation
Vous pouvez également fournir un jeton d'actualisation lorsque vous créez un transfert de données si vous en avez obtenu un à l'aide de l'une des méthodes suivantes:
- Générez un jeton d'accès utilisateur de longue durée à l'aide de l'API Graph.
Les autorisations
ads_management
,ads_read
etbusiness_management
sont requises pour un jeton valide pour le transfert de données. - Générez un jeton utilisateur système. Un jeton utilisateur système vous permet d'ajouter manuellement des éléments, tels que des comptes publicitaires, à inclure dans le transfert de données. Si un jeton utilisateur système est arrivé à expiration, vous devez mettre à jour manuellement la configuration de transfert avec de nouveaux identifiants. Vous avez également la possibilité de créer un jeton qui n'expire pas lorsque vous créez un jeton d'utilisateur système. Pour en savoir plus, consultez la section Jetons d'accès compatibles.
Prérequis pour BigQuery
- 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 BigQuery pour stocker vos données.
- Si vous avez l'intention de configurer des notifications d'exécution de transfert pour Pub/Sub, assurez-vous de disposer de l'autorisation Identity and Access Management (IAM)
pubsub.topics.setIamPolicy
. Si vous ne configurez que des notifications par e-mail, les autorisations Pub/Sub ne sont pas nécessaires. Pour plus d'informations, consultez la page Notifications d'exécution du service de transfert de données BigQuery.
Rôles BigQuery requis
Pour obtenir les autorisations nécessaires pour créer un transfert, demandez à votre administrateur de vous accorder le rôle IAM Administrateur BigQuery (roles/bigquery.admin
).
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Ce rôle prédéfini contient les autorisations requises pour créer un transfert. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer un transfert :
bigquery.transfers.update
sur l'utilisateur-
bigquery.datasets.get
sur l'ensemble de données cible -
bigquery.datasets.update
sur l'ensemble de données cible
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un transfert de données Facebook 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 le champ Source de la section Type de source, sélectionnez Facebook Ads.
Dans la section Data source details (Détails de la source de données), procédez comme suit :
- Dans le champ ID client, saisissez l'ID d'application.
- Sous Code secret du client, saisissez le code secret de l'application.
Pour Jeton d'actualisation, saisissez l'ID du jeton d'accès utilisateur de longue durée en cliquant sur Autoriser. Si vous disposez déjà d'un jeton d'actualisation ou d'un jeton utilisateur système, vous pouvez saisir le jeton d'actualisation directement dans ce champ.
Pour en savoir plus sur la récupération d'un jeton d'accès utilisateur de longue durée, consultez la page Conditions préalables à l'utilisation des annonces Facebook.
Dans la section Paramètres de destination, pour le champ Ensemble de données de destination, choisissez l'ensemble de données que vous avez créé pour stocker vos données.
Dans la section Nom de la configuration de transfert, sous Nom à afficher, saisissez le nom du transfert de données.
Dans la section Options de programmation, procédez comme suit :
Dans la liste Fréquence de répétition, sélectionnez une option pour spécifier la fréquence d'exécution de ce transfert de données. Pour spécifier une fréquence de répétition personnalisée, sélectionnez Personnalisée. Si vous sélectionnez À la demande, ce transfert s'exécute lorsque vous déclenchez manuellement le transfert.
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.
Facultatif : Dans le menu Compte de service, sélectionnez un compte de service parmi ceux associés à votre projet Google Cloud. Le compte de service sélectionné doit disposer des rôles requis pour exécuter ce transfert de données.
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 de données. Si vous vous êtes connecté avec un compte Google, un compte de service pour le transfert de données est facultatif.
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.
Facultatif : dans la section Options de notification, procédez comme suit :
- Pour activer les notifications par e-mail, cliquez sur le bouton Notification 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.
- Pour activer les notifications d'exécution de transfert Pub/Sub pour ce transfert de données, cliquez sur le bouton Notifications Pub/Sub. Vous pouvez sélectionner le nom de votre sujet ou cliquer sur Créer un sujet pour en créer un.
Cliquez sur Enregistrer.
Lorsque ce transfert de données s'exécute, le service de transfert de données BigQuery renseigne automatiquement les tables suivantes.
Nom de la table | Description |
---|---|
AdAccounts |
Comptes publicitaires disponibles pour un utilisateur. |
AdInsights |
Rapport des insights sur les annonces pour tous les comptes publicitaires. |
AdInsightsActions |
Rapport sur les actions des insights sur les annonces pour tous les comptes publicitaires. |
bq
Saisissez la commande bq mk
, puis spécifiez l'indicateur de création de transfert --transfer_config
.
bq mk \ --transfer_config \ --project_id=PROJECT_ID \ --data_source=DATA_SOURCE \ --display_name=DISPLAY_NAME \ --target_dataset=DATASET \ --params='PARAMETERS'
Où :
- PROJECT_ID (Facultatif) ID de votre projet Google Cloud.
Si vous ne fournissez pas de
--project_id
afin de spécifier un projet particulier, le projet par défaut est utilisé. - DATA_SOURCE : source de données (par exemple,
facebook-ads
). - DISPLAY_NAME : nom à afficher de la configuration de transfert de données. Ce nom peut correspondre à toute valeur permettant d'identifier le transfert si vous devez le modifier ultérieurement.
- DATASET : ensemble de données cible de la configuration de transfert de données.
- PARAMETERS : paramètres de la configuration de transfert de données créée au format JSON. Exemple :
--params='{"param":"param_value"}'
. Voici les paramètres d'un transfert Facebook Ads :connector.authentication.oauth.clientId
: nom d'ID de l'application pour le client OAuth 2.0.connector.authentication.oauth.clientSecret
: code secret de l'application pour le client OAuth 2.0.connector.authentication.oauth.refreshToken
: ID du jeton de longue durée.
Par exemple, la commande suivante crée un transfert de données Facebook Ads dans le projet par défaut avec tous les paramètres requis :
bq mk \ --transfer_config \ --target_dataset=mydataset \ --data_source=facebook_ads \ --display_name='My Transfer' \ --params='{"connector.authentication.oauth.clientId": "1650000000", "connector.authentication.oauth.clientSecret":"TBA99550", "connector.authentication.oauth.refreshToken":"abcdef"}'
API
Utilisez la méthode projects.locations.transferConfigs.create
et fournissez une instance de la ressource TransferConfig
.
Résoudre les problèmes liés à la configuration d'un transfert
Si vous rencontrez des problèmes lors de la configuration d'un transfert de données Facebook Ads, essayez les étapes de dépannage suivantes :
- Vérifiez que votre jeton d'accès utilisateur a expiré à l'aide du débogueur de jetons d'accès Facebook. Les jetons d'accès utilisateur de longue durée expirent au bout de 60 jours. Si votre jeton d'accès utilisateur de longue durée a expiré, accédez aux détails de votre transfert, puis cliquez sur Modifier pour modifier la configuration de votre transfert. Sur la page de modification du transfert, suivez la même procédure que dans la section Conditions préalables à l'utilisation des annonces Facebook pour en générer un nouveau.
- Vérifiez que le jeton d'accès utilisateur de longue durée est généré avec les autorisations requises :
ads_management
,ads_read
etbusiness_management
. Si ce n'est pas le cas, suivez les étapes de la section Conditions préalables à l'utilisation des annonces Facebook pour générer un nouveau jeton d'accès utilisateur de longue durée. - Consultez l'onglet Actions requises du tableau de bord de l'application Facebook pour rechercher tous les éléments nécessitant attention.
Vous pouvez rencontrer les messages d'erreur suivants liés aux erreurs de limite de débit de l'API Meta :
- Erreur :
There have been too many calls from this ad-account. Wait a bit and try again.
- Solution : vérifiez qu'il n'existe pas de workflows parallèles utilisant les mêmes applications ou identifiants. Si ces erreurs persistent, essayez de mettre à niveau vos autorisations vers l'accès avancé pour obtenir plus de quota de limitation du débit. Pour en savoir plus, consultez la page Limitation du débit de l'API Marketing.
Messages courants sur les métriques de surveillance
Vous pouvez également consulter les métriques de surveillance du service de transfert de données BigQuery pour déterminer la cause d'un échec de transfert de données. Le tableau suivant regroupe certains messages ERROR_CODE
courants pour les transferts de données Facebook Ads.
Erreur | Description |
---|---|
INVALID_ARGUMENT |
La configuration fournie n'est pas valide |
PERMISSION_DENIED |
Les identifiants ne sont pas valides |
UNAUTHENTICATED |
Une authentification est obligatoire |
SERVICE_UNAVAILABLE |
Le service est temporairement incapable de gérer ce transfert de données. |
DEADLINE_EXCEEDED |
Le transfert de données ne s'est pas terminé dans le délai maximal de six heures |
NOT_FOUND |
Une ressource demandée est introuvable |
INTERNAL |
Un autre problème a entraîné l'échec du connecteur |
RESOURCE_EXHAUSTED |
Un quota ou une limite de source de données a été atteint |
Tarifs
Le transfert des données Facebook Ads vers BigQuery est gratuit tant que cette fonctionnalité est en version bêta.
Étapes suivantes
- Découvrez comment utiliser le service de transfert de données BigQuery.
- Découvrez comment utiliser les transferts, par exemple comment afficher les configurations et l'historique d'exécution.
- Découvrez comment charger des données avec des opérations multicloud.