Charger des données Facebook Ads dans BigQuery

Vous pouvez charger des données depuis Facebook Ads vers BigQuery à l'aide du connecteur du service de transfert de données BigQuery pour Facebook Ads. Le service de transfert de données BigQuery vous permet de planifier des jobs de transfert récurrents qui ajoutent vos dernières données Facebook Ads à BigQuery.

Rapports acceptés

Le service de transfert de données BigQuery pour Facebook Ads permet de transférer les rapports Facebook Ads suivants :

  • Ads
  • AdInsights
  • AdInsightsActions

Pour en savoir plus sur la transformation des rapports Facebook Ads en tables et vues BigQuery, consultez Transformation des données Facebook Ads.

Option de création de rapports Compatibilité
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

30 derniers jours

Configurable jusqu'à 30 jours.

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 et AdInsightsActions. Lorsque vous créez un transfert de données qui inclut des tables AdInsights et AdInsightsActions, 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 et AdInsightsActions. 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.

  • Si votre association de réseau et votre instance de machine virtuelle (VM) configurées se trouvent dans des régions différentes, des transferts de données interrégionaux peuvent avoir lieu lorsque vous transférez des données depuis Facebook Ads.

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 :

  1. Créez une application de développeur Facebook avec le type d'application Business.
  2. 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 :

  1. Dans la console Trusted Cloud , suivez les étapes permettant de créer un transfert Facebook Ads.

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

    Copier l'URI de redirection

  3. Cliquez sur le tableau de bord des applications Facebook, puis sur Configurer dans la section Facebook Login for Business.

    Configurer les paramètres de Facebook Login for Business

  4. Sur la page Paramètres, saisissez l'URL de redirection dans le champ URI de redirection OAuth valides, puis cliquez sur Enregistrer.

  5. Revenez à la console Trusted 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.

    Générer un jeton d'accès utilisateur de longue durée

  6. Sélectionnez l'application de développeur Facebook pour autoriser le compte qui se connecte au service de transfert de données BigQuery.

  7. Une fois l'opération terminée, cliquez sur OK pour revenir à la console Trusted 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 savoir comment obtenir un jeton d'accès utilisateur de longue durée, consultez 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 :

Prérequis pour 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 page Gérer l'accès aux projets, aux dossiers et aux organisations.

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

  1. Accédez à la page "Transferts de données" dans la console Trusted Cloud .

    Accéder à la page Transferts de données

  2. Cliquez sur Créer un transfert.

  3. Dans le champ Source de la section Type de source, sélectionnez Facebook Ads.

  4. Dans la section Data source details (Détails de la source de données), procédez comme suit :

  5. 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.

  6. Dans la section Nom de la configuration de transfert, sous Nom à afficher, saisissez le nom du transfert de données.

  7. 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, le transfert s'exécute lorsque vous le déclenchez manuellement.
    • 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.
  8. 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 du transfert reçoit une notification par e-mail si l'exécution du transfert échoue.
    • 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.
  9. 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 Trusted Cloud by S3NS . 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 si 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 et business_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 passer à l'accès avancé pour obtenir un quota de limitation du débit plus important. Pour en savoir plus, consultez Limites de débit de l'API Marketing.

Messages courants concernant 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 Le quota ou la limite d'une 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