Connecteur Google Ads
Connectez Google Ads à Brevo via Tajo pour synchroniser les audiences publicitaires, importer les données de conversion, et créer des profils clients unifiés qui relient l’acquisition payante au marketing du cycle de vie.
Vue d’ensemble
| Propriété | Valeur |
|---|---|
| Plateforme | Google Ads |
| Catégorie | Marketing |
| Complexité de configuration | Avancée |
| Intégration officielle | Non |
| Données synchronisées | Campagnes, Audiences, Conversions, Clients |
| Compétences disponibles | 7 |
Fonctionnalités
- Synchronisation Customer Match - Téléversez les listes de contacts Brevo vers Google Ads en tant qu’audiences Customer Match
- Suivi des conversions - Importez les conversions hors ligne depuis les événements Brevo dans Google Ads
- Synchronisation d’audiences - Synchronisation bidirectionnelle entre listes Brevo et audiences Google Ads
- Reporting de campagnes - Récupérez les données de performance des campagnes dans les tableaux de bord Tajo
- Suivi GCLID - Capturez les Google Click IDs pour l’attribution des conversions hors ligne
- Données Smart Bidding - Renvoyez les données de valeur de conversion à Google pour l’optimisation des enchères
- Synchronisation Lead Form - Importez les soumissions de formulaires de génération de leads Google Ads dans les contacts Brevo
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Un compte Google Ads avec l’accès API activé
- Un projet Google Cloud avec l’API Google Ads activée
- Des identifiants OAuth 2.0 (Client ID et Client Secret)
- Un Developer Token Google Ads (à demander sur le Google Ads API Center)
- Un compte Brevo avec accès API
- Un compte Tajo avec identifiants API
Authentification
OAuth 2.0
L’API Google Ads utilise OAuth 2.0 pour l’authentification. Vous devez obtenir un refresh token via le flux de consentement OAuth.
# Périmètres OAuth requishttps://www.googleapis.com/auth/adwordsDeveloper Token
Un Developer Token est requis pour toutes les requêtes vers l’API Google Ads et doit être approuvé par Google.
# Configuration des en-têtes d'authentificationcurl -X POST https://googleads.googleapis.com/v18/customers/1234567890/googleAds:search \ -H "Authorization: Bearer ACCESS_TOKEN" \ -H "developer-token: DEVELOPER_TOKEN" \ -H "login-customer-id: MANAGER_ACCOUNT_ID"Configuration
Configuration de base
connectors: google_ads: enabled: true developer_token: "your-developer-token" oauth: client_id: "your-client-id" client_secret: "your-client-secret" refresh_token: "your-refresh-token" customer_id: "123-456-7890" login_customer_id: "111-222-3333" # Compte Manager (optionnel)
# Options de synchronisation des données sync: customer_match: true conversions: true campaigns: true lead_forms: true
# Suivi des conversions conversions: action_id: "123456789" default_currency: "USD"Configuration Customer Match
Téléversez les contacts Brevo en tant qu’audiences Google Ads :
customer_match: enabled: true lists: - brevo_list_id: 5 audience_name: "All Customers" match_type: "CONTACT_INFO" - brevo_list_id: 7 audience_name: "High Value Customers" match_type: "CONTACT_INFO"
# Champs de données à faire correspondre match_fields: - email - phone - first_name - last_name - country_code - zip_code
# Planification de synchronisation schedule: "daily" sync_mode: "mirror" # mirror, append, ou removeImport de conversions hors ligne
conversion_import: enabled: true conversion_action: "purchase" gclid_attribute: "GCLID" # Attribut Brevo stockant le GCLID conversion_events: - brevo_event: "order_completed" conversion_name: "Purchase" value_field: "revenue" - brevo_event: "subscription_created" conversion_name: "Subscription" value_field: "plan_value"Endpoints API
| Méthode | Endpoint | Description |
|---|---|---|
POST | /v18/customers/{id}/googleAds:search | Rechercher campagnes et ressources (GAQL) |
POST | /v18/customers/{id}/googleAds:searchStream | Streamer les résultats de recherche |
POST | /v18/customers/{id}/offlineUserDataJobs:create | Créer un job de téléversement Customer Match |
POST | /v18/customers/{id}/conversionUploads:uploadClickConversions | Téléverser les conversions hors ligne |
POST | /v18/customers/{id}/conversionUploads:uploadCallConversions | Téléverser les conversions d’appel |
GET | /v18/customers/{id}/campaignBudgets | Obtenir les budgets de campagne |
POST | /v18/customers/{id}/customerLists:mutate | Gérer les listes clients |
Exemples de code
Initialiser le connecteur Google Ads
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connecter le compte Google Adsawait tajo.connectors.connect('google-ads', { developerToken: process.env.GOOGLE_ADS_DEV_TOKEN, clientId: process.env.GOOGLE_OAUTH_CLIENT_ID, clientSecret: process.env.GOOGLE_OAUTH_CLIENT_SECRET, refreshToken: process.env.GOOGLE_OAUTH_REFRESH_TOKEN, customerId: '123-456-7890'});Téléverser une audience Customer Match
// Synchroniser une liste Brevo vers Google Ads Customer Matchawait tajo.connectors.syncAudience('google-ads', { brevoListId: 5, audienceName: 'High Value Customers', matchType: 'CONTACT_INFO', syncMode: 'mirror'});Importer des conversions hors ligne
// Téléverser les conversions hors ligne depuis les événements de commande Brevoawait tajo.connectors.uploadConversions('google-ads', { conversionAction: 'customers/123456/conversionActions/789', conversions: [ { gclid: 'CjwKCAiA...', conversionDateTime: '2024-01-15 10:30:00-05:00', conversionValue: 89.99, currencyCode: 'USD' } ]});Interroger la performance des campagnes (GAQL)
// Interroger les métriques de campagne en utilisant Google Ads Query Languageconst query = ` SELECT campaign.name, campaign.status, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions FROM campaign WHERE segments.date DURING LAST_30_DAYS ORDER BY metrics.impressions DESC LIMIT 20`;
const results = await tajo.connectors.query('google-ads', { gaql: query });Limites de taux
| Ressource | Limite | Détails |
|---|---|---|
| Requêtes API | 15 000/jour | Par developer token |
| Opérations de mutation | 10 000/jour | Par compte client |
| Requêtes GAQL | 1 500/jour | Par compte client |
| Téléversements Customer Match | 10 jobs/jour | Par liste client |
| Téléversements de conversions | 2 000/requête | Par batch de téléversement |
| Taille de page | 10 000 lignes | Maximum par réponse de recherche |
Approbation du Developer Token
L’API Google Ads nécessite un Developer Token approuvé. Faites la demande via le Google Ads API Center dans votre compte Manager. Les comptes de test ont des limites de taux réduites.
Dépannage
| Problème | Cause | Solution |
|---|---|---|
DEVELOPER_TOKEN_NOT_APPROVED | Token en attente de revue | Attendez l’approbation de Google ou utilisez un compte de test |
CUSTOMER_NOT_FOUND | Mauvais customer ID | Supprimez les tirets du customer ID ou vérifiez le compte Manager |
| Taux de correspondance Customer Match faible | Données insuffisantes | Incluez plusieurs identifiants (email, téléphone, nom, code postal) |
| Conversions non visibles | Fenêtre d’attribution | Les conversions peuvent prendre jusqu’à 24 heures à traiter |
OAUTH_TOKEN_EXPIRED | Refresh token invalide | Réauthentifiez-vous et obtenez un nouveau refresh token |
PERMISSION_DENIED | Accès insuffisant | Vérifiez le niveau d’accès API et le lien de compte |
Bonnes pratiques
- Utilisez un compte Manager - Gérez plusieurs comptes Ads via un seul compte Manager (MCC)
- Hachez les données Customer Match - Hachez toujours les PII avec SHA-256 avant le téléversement vers Customer Match
- Suivez les GCLIDs - Stockez les Google Click IDs dans les attributs Brevo pour le suivi des conversions hors ligne
- Téléversez les conversions par lots - Groupez les conversions en lots quotidiens plutôt qu’en temps réel
- Utilisez GAQL pour le reporting - Exploitez Google Ads Query Language pour un reporting flexible des campagnes
- Surveillez les taux de correspondance - Suivez les taux de correspondance des audiences Customer Match et améliorez la qualité des données
- Configurez les Enhanced Conversions - Utilisez les Enhanced Conversions pour une mesure plus précise des conversions
Sécurité
- OAuth 2.0 - Authentification sécurisée par jetons avec refresh tokens
- Hachage SHA-256 - Les données Customer Match sont hachées avant téléversement
- Minimisation des données - Seuls les champs requis sont transmis à Google
- Conformité Google Cloud - Conforme SOC 2, ISO 27001 et RGPD
- Accès à périmètre réduit - Permissions API limitées à des comptes clients spécifiques
- Journalisation d’audit - Toutes les requêtes API enregistrées dans l’historique des modifications Google Ads