Konektor Google Ads
Połącz Google Ads z Brevo przez Tajo, aby synchronizować odbiorców reklamowych, importować dane konwersji i tworzyć ujednolicone profile klientów łączące płatne pozyskiwanie z marketingiem cyklu życia.
Przegląd
| Właściwość | Wartość |
|---|---|
| Platforma | Google Ads |
| Kategoria | Marketing |
| Poziom konfiguracji | Zaawansowany |
| Integracja oficjalna | Nie |
| Synchronizowane dane | Kampanie, Odbiorcy, Konwersje, Klienci |
| Dostępne Skills | 7 |
Funkcje
- Synchronizacja Customer Match - Prześlij listy kontaktów Brevo do Google Ads jako odbiorców Customer Match
- Śledzenie konwersji - Importuj konwersje offline ze zdarzeń Brevo do Google Ads
- Synchronizacja odbiorców - Dwukierunkowa synchronizacja między listami Brevo a odbiorcami Google Ads
- Raportowanie kampanii - Pobierz dane wydajności kampanii do dashboardów Tajo
- Śledzenie GCLID - Przechwytuj Google Click ID dla atrybucji konwersji offline
- Dane Smart Bidding - Przekazuj dane wartości konwersji z powrotem do Google dla optymalizacji stawek
- Synchronizacja formularzy leadów - Importuj przesłane formularze leadów z Google Ads jako kontakty Brevo
Wymagania wstępne
Zanim zaczniesz, upewnij się, że masz:
- Konto Google Ads z włączonym dostępem do API
- Projekt Google Cloud z włączonym Google Ads API
- Poświadczenia OAuth 2.0 (Client ID i Client Secret)
- Token dewelopera Google Ads (złóż wniosek w Google Ads API Center)
- Konto Brevo z dostępem do API
- Konto Tajo z poświadczeniami API
Uwierzytelnianie
OAuth 2.0
Google Ads API używa OAuth 2.0 do uwierzytelniania. Musisz uzyskać token odświeżania przez przepływ zgody OAuth.
# Required OAuth scopeshttps://www.googleapis.com/auth/adwordsToken dewelopera
Token dewelopera jest wymagany dla wszystkich żądań Google Ads API i musi zostać zatwierdzony przez 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"Konfiguracja
Podstawowa konfiguracja
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"Konfiguracja Customer Match
Prześlij kontakty Brevo jako odbiorców 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 removeImport konwersji 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"Endpointy API
| Metoda | Endpoint | Opis |
|---|---|---|
POST | /v18/customers/{id}/googleAds:search | Wyszukaj kampanie i zasoby (GAQL) |
POST | /v18/customers/{id}/googleAds:searchStream | Strumieniuj wyniki wyszukiwania |
POST | /v18/customers/{id}/offlineUserDataJobs:create | Utwórz zadanie przesyłania Customer Match |
POST | /v18/customers/{id}/conversionUploads:uploadClickConversions | Prześlij konwersje offline |
POST | /v18/customers/{id}/conversionUploads:uploadCallConversions | Prześlij konwersje połączeń |
GET | /v18/customers/{id}/campaignBudgets | Pobierz budżety kampanii |
POST | /v18/customers/{id}/customerLists:mutate | Zarządzaj listami klientów |
Przykłady kodu
Inicjalizacja konektora 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'});Prześlij odbiorcę 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'});Importuj konwersje 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' } ]});Zapytanie o wydajność kampanii (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 });Limity API
| Zasób | Limit | Szczegóły |
|---|---|---|
| Żądania API | 15 000/dzień | Na token dewelopera |
| Operacje mutacji | 10 000/dzień | Na konto klienta |
| Zapytania GAQL | 1 500/dzień | Na konto klienta |
| Przesyłanie Customer Match | 10 zadań/dzień | Na listę klientów |
| Przesyłanie konwersji | 2 000/żądanie | Na partię przesyłania |
| Rozmiar strony | 10 000 wierszy | Maks. na odpowiedź wyszukiwania |
Zatwierdzenie tokenu dewelopera
Google Ads API wymaga zatwierdzonego tokenu dewelopera. Złóż wniosek przez Google Ads API Center na koncie menedżera. Konta testowe mają zmniejszone limity szybkości.
Rozwiązywanie problemów
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
DEVELOPER_TOKEN_NOT_APPROVED | Token oczekujący na weryfikację | Poczekaj na zatwierdzenie Google lub używaj konta testowego |
CUSTOMER_NOT_FOUND | Błędne ID klienta | Usuń myślniki z ID klienta lub sprawdź konto menedżera |
| Niski wskaźnik dopasowania Customer Match | Niewystarczające dane | Uwzględnij wiele identyfikatorów (e-mail, telefon, imię, zip) |
| Konwersje nie pojawiają się | Okno atrybucji | Konwersje mogą wymagać do 24 godzin na przetworzenie |
OAUTH_TOKEN_EXPIRED | Nieprawidłowy token odświeżania | Ponownie uwierzytelnij i uzyskaj nowy token odświeżania |
PERMISSION_DENIED | Niewystarczający dostęp | Sprawdź poziom dostępu API i łączenie kont |
Najlepsze praktyki
- Używaj konta menedżera - Zarządzaj wieloma kontami Ads przez jedno konto menedżera (MCC)
- Hashuj dane Customer Match - Zawsze hashuj PII SHA-256 przed przesłaniem do Customer Match
- Śledź GCLID - Przechowuj Google Click ID w atrybutach Brevo dla śledzenia konwersji offline
- Wsadowe przesyłanie konwersji - Grupuj konwersje w dzienne partie zamiast przesyłania w czasie rzeczywistym
- Używaj GAQL do raportowania - Korzystaj z Google Ads Query Language dla elastycznego raportowania kampanii
- Monitoruj wskaźniki dopasowania - Śledź wskaźniki dopasowania odbiorców Customer Match i poprawiaj jakość danych
- Skonfiguruj Enhanced Conversions - Używaj Enhanced Conversions dla dokładniejszego pomiaru konwersji
Bezpieczeństwo
- OAuth 2.0 - Bezpieczne uwierzytelnianie oparte na tokenach z tokenami odświeżania
- Hashowanie SHA-256 - Dane Customer Match są hashowane przed przesłaniem
- Minimalizacja danych - Tylko wymagane pola są przesyłane do Google
- Zgodność Google Cloud - SOC 2, ISO 27001 i RODO
- Dostęp z zakresem - Uprawnienia API ograniczone do określonych kont klientów
- Dziennik audytu - Wszystkie żądania API są rejestrowane w historii zmian Google Ads