Google Ads コネクター

Tajo を介して Google Ads を Brevo に接続し、広告オーディエンスを同期、コンバージョンデータをインポートし、有料獲得とライフサイクルマーケティングをつなぐ統合顧客プロファイルを作成します。

概要

項目
プラットフォームGoogle Ads
カテゴリーマーケティング
セットアップ難易度上級
公式統合なし
同期データキャンペーン、オーディエンス、コンバージョン、顧客
利用可能なスキル7

機能

  • Customer Match 同期 - Brevo のコンタクトリストを Customer Match オーディエンスとして Google Ads にアップロード
  • コンバージョントラッキング - 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
# Required OAuth scopes
https://www.googleapis.com/auth/adwords

開発者トークン

開発者トークンはすべての Google Ads API リクエストに必要であり、Google の承認が必要です。

Terminal window
# Set up authentication headers
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" # 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"

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"
# 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 remove

オフラインコンバージョンインポート

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"

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
});
// Connect Google Ads account
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 オーディエンスのアップロード

// Sync a Brevo list to Google Ads Customer Match
await tajo.connectors.syncAudience('google-ads', {
brevoListId: 5,
audienceName: 'High Value Customers',
matchType: 'CONTACT_INFO',
syncMode: 'mirror'
});

オフラインコンバージョンのインポート

// Upload offline conversions from Brevo order events
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)

// Query campaign metrics using 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) アカウントで複数の広告アカウントを管理
  2. Customer Match データをハッシュ化 - アップロード前に必ず PII を SHA-256 でハッシュ化
  3. GCLID を追跡 - オフラインコンバージョントラッキング用に Google Click ID を Brevo 属性に保存
  4. コンバージョンアップロードをバッチ化 - リアルタイムアップロードではなく日次バッチでコンバージョンをまとめる
  5. レポートに GAQL を使用 - 柔軟なキャンペーンレポートには Google Ads Query Language を活用
  6. マッチ率を監視 - Customer Match オーディエンスのマッチ率を追跡し、データ品質を向上
  7. 拡張コンバージョンを設定 - より正確なコンバージョン計測のため拡張コンバージョンを使用

セキュリティ

  • 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アシスタント

こんにちは!ドキュメントについて何でもお聞きください。