Conector de Google Ads
Conecta Google Ads con Brevo a través de Tajo para sincronizar audiencias publicitarias, importar datos de conversión y crear perfiles de cliente unificados que conecten la adquisición de pago con el marketing de ciclo de vida.
Resumen
| Propiedad | Valor |
|---|---|
| Plataforma | Google Ads |
| Categoría | Marketing |
| Complejidad de configuración | Avanzada |
| Integración oficial | No |
| Datos sincronizados | Campañas, Audiencias, Conversiones, Clientes |
| Skills disponibles | 7 |
Funcionalidades
- Sincronización de Customer Match - Sube listas de contactos de Brevo a Google Ads como audiencias Customer Match
- Seguimiento de conversiones - Importa conversiones offline desde eventos de Brevo a Google Ads
- Sincronización de audiencias - Sincronización bidireccional entre listas de Brevo y audiencias de Google Ads
- Reporting de campañas - Integra los datos de rendimiento de campañas en los dashboards de Tajo
- Seguimiento de GCLID - Captura los Google Click IDs para atribuir conversiones offline
- Datos de Smart Bidding - Envía datos de valor de conversión a Google para optimizar las pujas
- Sincronización de formularios de lead - Importa los envíos de formularios de Google Ads Lead Ads a contactos de Brevo
Requisitos previos
Antes de empezar, asegúrate de tener:
- Una cuenta de Google Ads con acceso a la API activado
- Un proyecto de Google Cloud con la API de Google Ads activada
- Credenciales OAuth 2.0 (Client ID y Client Secret)
- Un Developer Token de Google Ads (solicítalo en Google Ads API Center)
- Una cuenta de Brevo con acceso a la API
- Una cuenta de Tajo con credenciales de API
Autenticación
OAuth 2.0
La API de Google Ads utiliza OAuth 2.0 para la autenticación. Necesitas obtener un refresh token mediante el flujo de consentimiento OAuth.
# Required OAuth scopeshttps://www.googleapis.com/auth/adwordsDeveloper Token
Se requiere un Developer Token para todas las peticiones a la API de Google Ads y debe ser aprobado por 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"Configuración
Configuración básica
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"Configuración de Customer Match
Sube contactos de Brevo como audiencias de 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 removeImportación de conversiones 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"Endpoints de la API
| Método | Endpoint | Descripción |
|---|---|---|
POST | /v18/customers/{id}/googleAds:search | Buscar campañas y recursos (GAQL) |
POST | /v18/customers/{id}/googleAds:searchStream | Transmitir resultados de búsqueda |
POST | /v18/customers/{id}/offlineUserDataJobs:create | Crear un job de subida a Customer Match |
POST | /v18/customers/{id}/conversionUploads:uploadClickConversions | Subir conversiones offline |
POST | /v18/customers/{id}/conversionUploads:uploadCallConversions | Subir conversiones de llamada |
GET | /v18/customers/{id}/campaignBudgets | Obtener los presupuestos de campaña |
POST | /v18/customers/{id}/customerLists:mutate | Gestionar listas de clientes |
Ejemplos de código
Inicializar el conector de 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'});Subir una audiencia 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'});Importar conversiones 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' } ]});Consultar el rendimiento de campañas (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 });Límites de velocidad
| Recurso | Límite | Detalles |
|---|---|---|
| Peticiones a la API | 15.000/día | Por developer token |
| Operaciones mutate | 10.000/día | Por cuenta de cliente |
| Consultas GAQL | 1.500/día | Por cuenta de cliente |
| Subidas Customer Match | 10 jobs/día | Por lista de clientes |
| Subidas de conversiones | 2.000/petición | Por lote de subida |
| Tamaño de página | 10.000 filas | Máx. por respuesta de búsqueda |
Aprobación del Developer Token
La API de Google Ads requiere un Developer Token aprobado. Solicítalo a través del Google Ads API Center en tu cuenta Manager. Las cuentas de prueba tienen límites de velocidad reducidos.
Resolución de problemas
| Problema | Causa | Solución |
|---|---|---|
DEVELOPER_TOKEN_NOT_APPROVED | Token pendiente de revisión | Espera a la aprobación de Google o usa una cuenta de prueba |
CUSTOMER_NOT_FOUND | ID de cliente incorrecto | Elimina los guiones del customer ID o comprueba la cuenta manager |
| Bajo match rate en Customer Match | Datos insuficientes | Incluye varios identificadores (email, teléfono, nombre, ZIP) |
| Las conversiones no aparecen | Ventana de atribución | Las conversiones pueden tardar hasta 24 horas en procesarse |
OAUTH_TOKEN_EXPIRED | Refresh token no válido | Vuelve a autenticarte y obtén un nuevo refresh token |
PERMISSION_DENIED | Acceso insuficiente | Verifica el nivel de acceso a la API y la vinculación de la cuenta |
Buenas prácticas
- Usa una cuenta Manager - Gestiona varias cuentas de Ads desde una única cuenta Manager (MCC)
- Hashea los datos de Customer Match - Haz siempre hash SHA-256 de los datos personales antes de subirlos a Customer Match
- Registra los GCLIDs - Guarda los Google Click IDs en atributos de Brevo para el seguimiento de conversiones offline
- Agrupa las subidas de conversiones - Agrupa las conversiones en lotes diarios en vez de subirlas en tiempo real
- Usa GAQL para reporting - Aprovecha Google Ads Query Language para un reporting flexible de campañas
- Monitoriza los match rates - Sigue los match rates de las audiencias Customer Match y mejora la calidad de los datos
- Configura Enhanced Conversions - Usa Enhanced Conversions para una medición más precisa de conversiones
Seguridad
- OAuth 2.0 - Autenticación segura basada en tokens con refresh tokens
- Hash SHA-256 - Los datos de Customer Match se hashean antes de subirlos
- Minimización de datos - Solo se transmiten a Google los campos estrictamente necesarios
- Cumplimiento de Google Cloud - Cumple con SOC 2, ISO 27001 y RGPD
- Acceso restringido - Los permisos de la API se limitan a cuentas de cliente concretas
- Registro de auditoría - Todas las peticiones a la API quedan registradas en el historial de cambios de Google Ads