---
title: "Google Ads コネクター"
description: "Tajo を介して Google Ads のキャンペーンデータ、オーディエンスリスト、コンバージョントラッキングを Brevo と同期するための完全統合ガイド。"
url: https://tajo.io/jp/docs/connectors/marketing/google-ads/
markdown: https://tajo.io/jp/docs/connectors/marketing/google-ads.md
lang: ja-JP
robots: noindex
---

先行利用を申し込む

お名前と会社のメールアドレスを入力してください。Tajoへのアクセス申請を確認するためのリンクをメールでお送りします。

# Google Ads コネクター

コネクターのステータス: 予定 まだ構築されていません。Tajo は現在このコネクターを実行していません。

| 送信元フィールド | 送信先フィールド | サンプル値 |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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](https://ads.google.com/aw/apicenter) で申請)
5. API アクセス付きの Brevo アカウント
6. API 認証情報付きの Tajo アカウント

## 認証

### OAuth 2.0

Google Ads API は認証に OAuth 2.0 を使用します。OAuth 同意フローを介してリフレッシュトークンを取得する必要があります。

```bash
# Required OAuth scopes
https://www.googleapis.com/auth/adwords
```

### 開発者トークン

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

```bash
# 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"
```

## 設定

### 基本セットアップ

```yaml
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 オーディエンスとしてアップロードします。

```yaml
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
```

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

```yaml
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: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 コネクターの初期化

```javascript
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 オーディエンスのアップロード

```javascript
// 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'
});
```

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

```javascript
// 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)

```javascript
// 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 変更履歴に記録

## 関連リソース

- [Meta Ads コネクター](https://tajo.io/jp/docs/connectors/marketing/meta-ads)
- [Klaviyo コネクター](https://tajo.io/jp/docs/connectors/marketing/klaviyo)
- [Brevo コネクター](https://tajo.io/jp/docs/connectors/marketing/brevo)
- [顧客同期スキル](https://tajo.io/jp/docs/skills/data-sync/customer-sync)
