Trình Kết Nối Google Ads
Kết nối Google Ads với Brevo qua Tajo để đồng bộ advertising audiences, nhập conversion data và tạo customer profiles hợp nhất kết nối paid acquisition với lifecycle marketing.
Tổng Quan
| Thuộc Tính | Giá Trị |
|---|---|
| Nền Tảng | Google Ads |
| Danh Mục | Marketing |
| Độ Phức Tạp Thiết Lập | Nâng Cao |
| Tích Hợp Chính Thức | Không |
| Dữ Liệu Đồng Bộ | Campaigns, Audiences, Conversions, Customers |
| Skills Có Sẵn | 7 |
Tính Năng
- Đồng bộ Customer Match - Upload danh sách contacts Brevo sang Google Ads như Customer Match audiences
- Theo dõi conversions - Import offline conversions từ Brevo events vào Google Ads
- Đồng bộ audience - Đồng bộ hai chiều giữa danh sách Brevo và Google Ads audiences
- Báo cáo campaign - Kéo dữ liệu hiệu suất campaign vào Tajo dashboards
- Theo dõi GCLID - Capture Google Click IDs để attribution offline conversions
- Dữ liệu smart bidding - Đưa conversion value data trở lại Google để tối ưu bid
- Đồng bộ lead form - Import Google Ads lead form submissions vào contacts Brevo
Yêu Cầu
Trước khi bắt đầu, hãy đảm bảo bạn có:
- Tài khoản Google Ads với API access được bật
- Google Cloud project với Google Ads API được bật
- OAuth 2.0 credentials (Client ID và Client Secret)
- Developer Token Google Ads (đăng ký tại Google Ads API Center)
- Tài khoản Brevo với quyền truy cập API
- Tài khoản Tajo với API credentials
Xác Thực
OAuth 2.0
Google Ads API sử dụng OAuth 2.0 cho xác thực. Bạn cần lấy refresh token qua OAuth consent flow.
# OAuth scopes cần thiếthttps://www.googleapis.com/auth/adwordsDeveloper Token
Developer Token là bắt buộc cho tất cả Google Ads API requests và phải được Google phê duyệt.
# Thiết lập 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"Cấu Hình
Thiết Lập Cơ Bản
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 (tùy chọn)
# Tùy chọn đồng bộ dữ liệu sync: customer_match: true conversions: true campaigns: true lead_forms: true
# Theo dõi conversion conversions: action_id: "123456789" default_currency: "USD"Cấu Hình Customer Match
Upload contacts Brevo như Google Ads audiences:
customer_match: enabled: true lists: - brevo_list_id: 5 audience_name: "Tất Cả Khách Hàng" match_type: "CONTACT_INFO" - brevo_list_id: 7 audience_name: "Khách Hàng Giá Trị Cao" match_type: "CONTACT_INFO"
# Trường dữ liệu để match match_fields: - email - phone - first_name - last_name - country_code - zip_code
# Lịch đồng bộ schedule: "daily" sync_mode: "mirror" # mirror, append, hoặc removeImport Offline Conversions
conversion_import: enabled: true conversion_action: "purchase" gclid_attribute: "GCLID" # Thuộc tính Brevo lưu trữ 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 Endpoints
| Phương Thức | Endpoint | Mô Tả |
|---|---|---|
POST | /v18/customers/{id}/googleAds:search | Tìm kiếm campaigns và resources (GAQL) |
POST | /v18/customers/{id}/googleAds:searchStream | Stream kết quả tìm kiếm |
POST | /v18/customers/{id}/offlineUserDataJobs:create | Tạo Customer Match upload job |
POST | /v18/customers/{id}/conversionUploads:uploadClickConversions | Upload offline conversions |
POST | /v18/customers/{id}/conversionUploads:uploadCallConversions | Upload call conversions |
GET | /v18/customers/{id}/campaignBudgets | Lấy campaign budgets |
POST | /v18/customers/{id}/customerLists:mutate | Quản lý customer lists |
Ví Dụ Code
Khởi Tạo Trình Kết Nối Google Ads
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Kết nối tài khoản 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'});Upload Customer Match Audience
// Đồng bộ danh sách Brevo sang Google Ads Customer Matchawait tajo.connectors.syncAudience('google-ads', { brevoListId: 5, audienceName: 'Khách Hàng Giá Trị Cao', matchType: 'CONTACT_INFO', syncMode: 'mirror'});Import Offline Conversions
// Upload offline conversions từ order events 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' } ]});Truy Vấn Hiệu Suất Campaign (GAQL)
// Truy vấn số liệu campaign bằng 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 });Giới Hạn Tốc Độ
| Tài Nguyên | Giới Hạn | Chi Tiết |
|---|---|---|
| API requests | 15.000/ngày | Mỗi developer token |
| Mutate operations | 10.000/ngày | Mỗi customer account |
| GAQL queries | 1.500/ngày | Mỗi customer account |
| Customer Match uploads | 10 jobs/ngày | Mỗi customer list |
| Conversion uploads | 2.000/request | Mỗi upload batch |
| Page size | 10.000 rows | Tối đa mỗi search response |
Phê Duyệt Developer Token
Google Ads API yêu cầu Developer Token được phê duyệt. Đăng ký qua Google Ads API Center trong Manager account của bạn. Test accounts có giới hạn tốc độ thấp hơn.
Khắc Phục Sự Cố
| Sự Cố | Nguyên Nhân | Giải Pháp |
|---|---|---|
DEVELOPER_TOKEN_NOT_APPROVED | Token đang chờ review | Chờ Google phê duyệt hoặc dùng test account |
CUSTOMER_NOT_FOUND | Customer ID sai | Bỏ dấu gạch ngang khỏi customer ID hoặc kiểm tra manager account |
| Tỷ lệ match Customer Match thấp | Dữ liệu không đủ | Bao gồm nhiều định danh (email, phone, name, zip) |
| Conversions không hiển thị | Attribution window | Conversions có thể mất tới 24 giờ để xử lý |
OAUTH_TOKEN_EXPIRED | Refresh token không hợp lệ | Xác thực lại và lấy refresh token mới |
PERMISSION_DENIED | Quyền truy cập không đủ | Kiểm tra API access level và account linking |
Thực Hành Tốt Nhất
- Sử dụng Manager account - Quản lý nhiều Ads accounts qua một Manager (MCC) account
- Hash Customer Match data - Luôn SHA-256 hash PII trước khi upload lên Customer Match
- Theo dõi GCLIDs - Lưu Google Click IDs trong thuộc tính Brevo để theo dõi offline conversions
- Batch conversion uploads - Nhóm conversions thành daily batches thay vì upload theo thời gian thực
- Dùng GAQL cho reporting - Tận dụng Google Ads Query Language cho báo cáo campaign linh hoạt
- Theo dõi match rates - Theo dõi match rates Customer Match audience và cải thiện chất lượng dữ liệu
- Thiết lập Enhanced Conversions - Sử dụng Enhanced Conversions để đo conversion chính xác hơn
Bảo Mật
- OAuth 2.0 - Xác thực dựa trên token an toàn với refresh tokens
- SHA-256 hashing - Customer Match data được hash trước khi upload
- Data minimization - Chỉ những trường cần thiết được truyền sang Google
- Google Cloud compliance - Tuân thủ SOC 2, ISO 27001 và GDPR
- Scoped access - Quyền API được phạm vi cho customer accounts cụ thể
- Audit logging - Tất cả API requests được ghi lại trong Google Ads change history