Google Ads 커넥터

Tajo를 통해 Google Ads를 Brevo에 연결하여 광고 오디언스를 동기화하고, 전환 데이터를 가져오며, 유료 획득과 라이프사이클 마케팅을 연결하는 통합 고객 프로필을 생성하십시오.

개요

속성
플랫폼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. API 접근이 활성화된 Google Ads 계정
  2. Google Ads API가 활성화된 Google Cloud 프로젝트
  3. OAuth 2.0 자격 증명 (Client ID 및 Client Secret)
  4. Google Ads 개발자 토큰 (Google Ads API Center에서 신청)
  5. API 접근이 가능한 Brevo 계정
  6. API 자격 증명이 있는 Tajo 계정

인증

OAuth 2.0

Google Ads API는 인증에 OAuth 2.0을 사용합니다. OAuth 동의 플로를 통해 새로 고침 토큰을 얻어야 합니다.

Terminal window
# 필수 OAuth 범위
https://www.googleapis.com/auth/adwords

개발자 토큰

개발자 토큰은 모든 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" # GCLID를 저장하는 Brevo 속성
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:createCustomer Match 업로드 작업 생성
POST/v18/customers/{id}/conversionUploads:uploadClickConversions오프라인 전환 업로드
POST/v18/customers/{id}/conversionUploads:uploadCallConversions통화 전환 업로드
GET/v18/customers/{id}/campaignBudgets캠페인 예산 가져오기
POST/v18/customers/{id}/customerLists:mutate고객 목록 관리

코드 예제

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 목록을 Google Ads Customer Match로 동기화
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/일개발자 토큰당
Mutate 작업10,000/일고객 계정당
GAQL 쿼리1,500/일고객 계정당
Customer Match 업로드10 작업/일고객 목록당
전환 업로드2,000/요청업로드 배치당
페이지 크기10,000 행검색 응답당 최대

개발자 토큰 승인

Google Ads API는 승인된 개발자 토큰이 필요합니다. 관리자 계정의 Google Ads API Center를 통해 신청하십시오. 테스트 계정은 속도 제한이 감소되어 있습니다.

문제 해결

문제원인해결 방법
DEVELOPER_TOKEN_NOT_APPROVED토큰 검토 대기 중Google 승인을 기다리거나 테스트 계정 사용
CUSTOMER_NOT_FOUND잘못된 고객 ID고객 ID에서 하이픈 제거 또는 관리자 계정 확인
Customer Match 낮은 매칭률데이터 부족여러 식별자(이메일, 전화, 이름, 우편번호) 포함
전환이 나타나지 않음귀속 기간전환 처리에 최대 24시간 소요 가능
OAUTH_TOKEN_EXPIRED새로 고침 토큰이 유효하지 않음재인증하여 새 새로 고침 토큰 획득
PERMISSION_DENIED접근 권한 부족API 접근 수준 및 계정 연결 확인

모범 사례

  1. 관리자 계정 사용 - 단일 관리자(MCC) 계정을 통해 여러 Ads 계정 관리
  2. Customer Match 데이터 해시 - Customer Match에 업로드하기 전에 항상 PII를 SHA-256으로 해시
  3. GCLID 추적 - 오프라인 전환 추적을 위해 Google Click ID를 Brevo 속성에 저장
  4. 전환 업로드 배치 처리 - 실시간 업로드보다는 일일 배치로 전환 그룹화
  5. 보고에 GAQL 사용 - 유연한 캠페인 보고를 위해 Google Ads Query Language 활용
  6. 매칭률 모니터링 - Customer Match 오디언스 매칭률을 추적하고 데이터 품질 개선
  7. Enhanced Conversions 설정 - 더 정확한 전환 측정을 위해 Enhanced Conversions 사용

보안

  • OAuth 2.0 - 새로 고침 토큰을 사용한 보안 토큰 기반 인증
  • 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 어시스턴트

안녕하세요! 문서에 대해 무엇이든 물어보세요.