Connettore Google Ads
Collega Google Ads a Brevo tramite Tajo per sincronizzare le audience pubblicitarie, importare dati di conversione e creare profili cliente unificati che colleghino l’acquisizione a pagamento al marketing lifecycle.
Panoramica
| Proprietà | Valore |
|---|---|
| Piattaforma | Google Ads |
| Categoria | Marketing |
| Complessità di setup | Avanzata |
| Integrazione ufficiale | No |
| Dati sincronizzati | Campagne, Audience, Conversioni, Clienti |
| Skill disponibili | 7 |
Funzionalità
- Sync Customer Match - Carica le liste contatti Brevo su Google Ads come audience Customer Match
- Tracciamento conversioni - Importa conversioni offline dagli eventi Brevo in Google Ads
- Sync delle audience - Sync bidirezionale tra liste Brevo e audience Google Ads
- Reportistica delle campagne - Estrai dati di performance delle campagne nelle dashboard Tajo
- Tracciamento GCLID - Acquisisci i Google Click ID per l’attribuzione di conversioni offline
- Dati per smart bidding - Invia i dati di valore conversione a Google per l’ottimizzazione delle offerte
- Sync Lead Form - Importa le sottomissioni dei lead form di Google Ads nei contatti Brevo
Prerequisiti
Prima di iniziare, assicurati di avere:
- Un account Google Ads con accesso API abilitato
- Un progetto Google Cloud con la Google Ads API abilitata
- Credenziali OAuth 2.0 (Client ID e Client Secret)
- Un Google Ads Developer Token (richiedilo su Google Ads API Center)
- Un account Brevo con accesso API
- Un account Tajo con credenziali API
Autenticazione
OAuth 2.0
La Google Ads API utilizza OAuth 2.0 per l’autenticazione. È necessario ottenere un refresh token tramite il flusso di consenso OAuth.
# Required OAuth scopeshttps://www.googleapis.com/auth/adwordsDeveloper Token
Un Developer Token è richiesto per tutte le richieste API Google Ads e deve essere approvato da Google.
# Set up authentication headerscurl -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"Configurazione
Setup di 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" # Manager account (optional)
# Data sync options sync: customer_match: true conversions: true campaigns: true lead_forms: true
# Conversion tracking conversions: action_id: "123456789" default_currency: "USD"Configurazione Customer Match
Carica i contatti Brevo come audience 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"
# Data fields to match match_fields: - email - phone - first_name - last_name - country_code - zip_code
# Sync schedule schedule: "daily" sync_mode: "mirror" # mirror, append, or removeImportazione conversioni offline
conversion_import: enabled: true conversion_action: "purchase" gclid_attribute: "GCLID" # Brevo attribute storing GCLID conversion_events: - brevo_event: "order_completed" conversion_name: "Purchase" value_field: "revenue" - brevo_event: "subscription_created" conversion_name: "Subscription" value_field: "plan_value"Endpoint API
| Metodo | Endpoint | Descrizione |
|---|---|---|
POST | /v18/customers/{id}/googleAds:search | Cerca campagne e risorse (GAQL) |
POST | /v18/customers/{id}/googleAds:searchStream | Stream dei risultati di ricerca |
POST | /v18/customers/{id}/offlineUserDataJobs:create | Crea un job di upload Customer Match |
POST | /v18/customers/{id}/conversionUploads:uploadClickConversions | Carica conversioni offline |
POST | /v18/customers/{id}/conversionUploads:uploadCallConversions | Carica conversioni di chiamata |
GET | /v18/customers/{id}/campaignBudgets | Ottieni i budget delle campagne |
POST | /v18/customers/{id}/customerLists:mutate | Gestisci le liste cliente |
Esempi di codice
Inizializza il connettore Google Ads
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Google Ads accountawait 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'});Carica un’audience Customer Match
// Sync a Brevo list to Google Ads Customer Matchawait tajo.connectors.syncAudience('google-ads', { brevoListId: 5, audienceName: 'High Value Customers', matchType: 'CONTACT_INFO', syncMode: 'mirror'});Importa conversioni offline
// Upload offline conversions from Brevo order eventsawait 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' } ]});Interroga la performance delle campagne (GAQL)
// Query campaign metrics using 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 });Limiti di velocità
| Risorsa | Limite | Dettagli |
|---|---|---|
| Richieste API | 15.000/giorno | Per developer token |
| Operazioni mutate | 10.000/giorno | Per account cliente |
| Query GAQL | 1.500/giorno | Per account cliente |
| Upload Customer Match | 10 job/giorno | Per lista cliente |
| Upload conversioni | 2.000/richiesta | Per batch di upload |
| Page size | 10.000 righe | Massimo per risposta di ricerca |
Approvazione del Developer Token
La Google Ads API richiede un Developer Token approvato. Richiedilo tramite il Google Ads API Center nel tuo account Manager. Gli account di test hanno limiti di velocità ridotti.
Risoluzione dei problemi
| Problema | Causa | Soluzione |
|---|---|---|
DEVELOPER_TOKEN_NOT_APPROVED | Token in attesa di revisione | Attendi l’approvazione di Google o usa un account di test |
CUSTOMER_NOT_FOUND | Customer ID errato | Rimuovi i trattini dal customer ID o controlla l’account manager |
| Match rate basso Customer Match | Dati insufficienti | Includi più identificatori (email, telefono, nome, zip) |
| Conversioni non visualizzate | Finestra di attribuzione | Le conversioni possono richiedere fino a 24 ore per essere processate |
OAUTH_TOKEN_EXPIRED | Refresh token non valido | Riautentica e ottieni un nuovo refresh token |
PERMISSION_DENIED | Accesso insufficiente | Controlla il livello di accesso API e il collegamento dell’account |
Best practice
- Usa un account Manager - Gestisci più account Ads tramite un singolo account Manager (MCC)
- Hash dei dati Customer Match - Effettua sempre l’hash SHA-256 dei dati PII prima di caricarli su Customer Match
- Traccia i GCLID - Memorizza i Google Click ID negli attributi Brevo per il tracciamento delle conversioni offline
- Upload conversioni in batch - Raggruppa le conversioni in batch giornalieri invece di upload in tempo reale
- Usa GAQL per la reportistica - Sfrutta il Google Ads Query Language per una reportistica flessibile delle campagne
- Monitora i match rate - Traccia i match rate delle audience Customer Match e migliora la qualità dei dati
- Imposta Enhanced Conversions - Usa Enhanced Conversions per una misurazione delle conversioni più accurata
Sicurezza
- OAuth 2.0 - Autenticazione sicura basata su token con refresh token
- Hashing SHA-256 - I dati Customer Match vengono hashati prima dell’upload
- Minimizzazione dei dati - Solo i campi richiesti vengono trasmessi a Google
- Conformità Google Cloud - Conforme a SOC 2, ISO 27001 e GDPR
- Accesso con scope - Permessi API limitati a specifici account cliente
- Audit logging - Tutte le richieste API loggate nello storico modifiche di Google Ads