Коннектор Google Ads

Подключите Google Ads к Brevo через Tajo для синхронизации рекламных аудиторий, импорта данных о конверсиях и создания единых профилей клиентов, связывающих платное привлечение с lifecycle-маркетингом.

Обзор

СвойствоЗначение
ПлатформаGoogle Ads
КатегорияMarketing
Сложность настройкиРасширенная
Официальная интеграцияНет
Синхронизируемые данныеКампании, аудитории, конверсии, клиенты
Доступных скиллов7

Возможности

  • Синхронизация Customer Match, загрузка списков контактов Brevo в Google Ads как аудитории Customer Match
  • Отслеживание конверсий, импорт офлайн-конверсий из событий Brevo в Google Ads
  • Синхронизация аудиторий, двунаправленная синхронизация списков Brevo и аудиторий Google Ads
  • Отчётность по кампаниям, получение метрик эффективности рекламы в дашборды Tajo
  • Трекинг GCLID, захват Google Click ID для атрибуции офлайн-конверсий
  • Данные для умного бидинга, передача данных о ценности конверсий в Google для оптимизации ставок
  • Синхронизация лид-форм, импорт заявок из лид-форм Google Ads в контакты Brevo

Предварительные требования

Прежде чем начать, убедитесь, что у вас есть:

  1. Аккаунт Google Ads с включённым доступом к API
  2. Проект Google Cloud с включённым Google Ads API
  3. Учётные данные OAuth 2.0 (Client ID и Client Secret)
  4. Developer Token для Google Ads (подача заявки через Google Ads API Center)
  5. Аккаунт Brevo с доступом к API
  6. Аккаунт Tajo с API-учётными данными

Аутентификация

OAuth 2.0

Google Ads API использует OAuth 2.0 для аутентификации. Необходимо получить refresh token через поток согласия OAuth.

Terminal window
# Необходимые OAuth scope
https://www.googleapis.com/auth/adwords

Developer Token

Developer Token обязателен для всех запросов к Google Ads API и должен быть одобрен Google.

Terminal window
# Настройка заголовков аутентификации
curl -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"

Конфигурация

Базовая настройка

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" # Аккаунт управляющего (опционально)
# Параметры синхронизации данных
sync:
customer_match: true
conversions: true
campaigns: true
lead_forms: true
# Отслеживание конверсий
conversions:
action_id: "123456789"
default_currency: "USD"

Конфигурация Customer Match

Загрузка контактов Brevo как аудиторий 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"
# Поля для совпадения
match_fields:
- email
- phone
- first_name
- last_name
- country_code
- zip_code
# Расписание синхронизации
schedule: "daily"
sync_mode: "mirror" # mirror, append или remove

Импорт офлайн-конверсий

conversion_import:
enabled: true
conversion_action: "purchase"
gclid_attribute: "GCLID" # Атрибут Brevo, хранящий GCLID
conversion_events:
- brevo_event: "order_completed"
conversion_name: "Purchase"
value_field: "revenue"
- brevo_event: "subscription_created"
conversion_name: "Subscription"
value_field: "plan_value"

Эндпоинты API

МетодЭндпоинтОписание
POST/v18/customers/{id}/googleAds:searchПоиск кампаний и ресурсов (GAQL)
POST/v18/customers/{id}/googleAds:searchStreamПотоковая передача результатов поиска
POST/v18/customers/{id}/offlineUserDataJobs:createСоздание задания загрузки Customer Match
POST/v18/customers/{id}/conversionUploads:uploadClickConversionsЗагрузка офлайн-конверсий
POST/v18/customers/{id}/conversionUploads:uploadCallConversionsЗагрузка конверсий по звонкам
GET/v18/customers/{id}/campaignBudgetsПолучение бюджетов кампаний
POST/v18/customers/{id}/customerLists:mutateУправление списками клиентов

Примеры кода

Инициализация коннектора Google Ads

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Подключение аккаунта Google Ads
await 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'
});

Загрузка аудитории Customer Match

// Синхронизация списка Brevo с Customer Match в Google Ads
await tajo.connectors.syncAudience('google-ads', {
brevoListId: 5,
audienceName: 'High Value Customers',
matchType: 'CONTACT_INFO',
syncMode: 'mirror'
});

Импорт офлайн-конверсий

// Загрузка офлайн-конверсий из событий заказов Brevo
await 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'
}
]
});

Запрос эффективности кампаний (GAQL)

// Запрос метрик кампаний с помощью Google Ads Query Language
const 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 });

Ограничения скорости

РесурсЛимитДетали
API-запросы15 000/деньНа developer token
Mutate-операции10 000/деньНа аккаунт клиента
GAQL-запросы1 500/деньНа аккаунт клиента
Загрузки Customer Match10 заданий/деньНа список клиентов
Загрузки конверсий2 000 в запросеНа пакет загрузки
Размер страницы10 000 строкМаксимум в ответе на поиск

Одобрение Developer Token

Google Ads API требует одобренного Developer Token. Подайте заявку через Google Ads API Center в вашем аккаунте управляющего. Тестовые аккаунты имеют сниженные лимиты скорости.

Устранение неполадок

ПроблемаПричинаРешение
DEVELOPER_TOKEN_NOT_APPROVEDТокен ожидает проверкиДождитесь одобрения Google или используйте тестовый аккаунт
CUSTOMER_NOT_FOUNDНеверный ID клиентаУберите дефисы из ID клиента или проверьте аккаунт управляющего
Низкий процент совпадений Customer MatchНедостаточно данныхВключите несколько идентификаторов (email, телефон, имя, индекс)
Конверсии не появляютсяОкно атрибуцииКонверсии могут обрабатываться до 24 часов
OAUTH_TOKEN_EXPIREDRefresh token недействителенПовторно аутентифицируйтесь и получите новый refresh token
PERMISSION_DENIEDНедостаточно правПроверьте уровень API-доступа и привязку аккаунта

Лучшие практики

  1. Используйте аккаунт управляющего, управляйте несколькими аккаунтами Ads через единый аккаунт управляющего (MCC)
  2. Хешируйте данные Customer Match, всегда хешируйте PII с SHA-256 перед загрузкой в Customer Match
  3. Отслеживайте GCLID, сохраняйте Google Click ID в атрибутах Brevo для трекинга офлайн-конверсий
  4. Пакетная загрузка конверсий, группируйте конверсии в ежедневные пакеты, а не загружайте в реальном времени
  5. Используйте GAQL для отчётности, применяйте Google Ads Query Language для гибкой отчётности по кампаниям
  6. Следите за процентом совпадений, отслеживайте процент совпадений аудитории Customer Match и улучшайте качество данных
  7. Настройте Enhanced Conversions, используйте расширенные конверсии для более точного измерения

Безопасность

  • OAuth 2.0, безопасная аутентификация на основе токенов с refresh tokens
  • SHA-256-хеширование, данные Customer Match хешируются перед загрузкой
  • Минимизация данных, в Google передаются только необходимые поля
  • Соответствие Google Cloud, сертификация SOC 2, ISO 27001 и GDPR
  • Ограниченный доступ, права API ограничены конкретными аккаунтами клиентов
  • Логирование аудита, все API-запросы логируются в истории изменений Google Ads

Связанные ресурсы

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI-ассистент

Привет! Спрашивайте меня о документации.