# Google Data Manager エクスポート連携

このTDエクスポート連携により、単一の呼び出しでGoogle Adwords、Display Video Partner、Display Video Advertiserなどの複数のGoogle広告プロダクトにオーディエンスデータを送信できます。

## 前提条件

- Treasure Data™の基礎知識
- ユーザーOAuthが対象のGoogle AdsまたはDisplay Video PartnerまたはDisplay Video Advertiserアカウントへの直接管理者アクセス権を持つこと


## 要件と制限事項

### 制限事項

- ユーザーリストのサイズは、最低1,000人のメンバーに達するまでゼロとして表示されます。このしきい値を超えると、サイズは有効数字2桁に丸められます
- リストにメンバーが入力されるまでに最大24時間かかる場合があります
- オーディエンスデータは1日1回ユーザーリストに追加することを推奨します
- 同じユーザーリストの複数のアップロードジョブの実行は避けてください


### 要件

特に以下の点で、Googleの[ポリシー](https://support.google.com/adspolicy/answer/6299717)に従うことをCustomer Matchでは推奨しています:

- ポリシー遵守の良好な履歴
- 良好な支払い履歴
- ファーストパーティコンテキストで収集した顧客情報のみをアップロードすること
- 機密カテゴリに関する制限


## 新しい接続を作成する

Treasure コンソールでは、クエリを実行する前にデータ接続を作成して設定する必要があります。データ接続の一部として、以下の手順に従って連携にアクセスするための認証情報を提供します。

1. **Treasure コンソール**を開きます
2. **Integrations Hub > Catalog**に移動します
3. **Google Data Manager**を検索して選択します
4. **Create Authentication**を選択し、以下に説明する連携の認証情報を入力します
5. **Continue**を選択し、認証の名前を入力して、**Done**を選択します


### 認証フィールド

- **OAuth Connection**: 対象のGoogle AdsまたはDisplay Video PartnerまたはDisplay Video AdvertiserアカウントへのADMINアクセス権を持つアカウントから承認します


## エクスポート用のクエリ結果を設定する

Treasure コンソールは、データをエクスポートする複数の方法をサポートしています。Data Workbenchからデータをエクスポートするには、以下の手順に従ってください。

1. **Data Workbench > Queries**に移動します
2. **New Query**を選択し、クエリを定義します
3. **Export Results**を選択して、データエクスポートを設定します


![](/assets/screenshot-2024-05-27-at-13.08.60.c660e2874c5efd5898076c87205c9c1c3579e1232c32206db66443388b0163ee.9c1a955f.png)

1. 既存の認証を選択するか、上記のセクションに従って新しい認証を作成します
2. 以下の[設定パラメータ](/int/google-customer-match-export-integration#h2_2111705584)で説明されているエクスポートパラメータを設定し、**Done**を選択します


### クエリを定義する

クエリには、対象の識別子タイプに必要な列を含める必要があります。その他の列は無視されます。必須列にはnullまたは空の値を指定できません(それ以外の場合、レコードは無効と見なされ、スキップされます)。

**データ要件:**

- 正規化: すべてのプレーンテキストデータは小文字にし、前後の余分なスペースを削除する必要があります
- SHA-256ハッシュ化: email、phone、first name、last nameはSHA-256アルゴリズムを使用してハッシュ化する必要があります。そうでない場合は、コネクタによって自動的にハッシュ化されます


| **列名** | **説明** | 必須 |
|  --- | --- | --- |
| email (およびemail_1, email_2, ......., email_n) | マッチングプロセスではGoogleメールのみが考慮されます。email_*の形式で複数のemailフィールドを受け入れます | `User Data`リストタイプには、emailフィールドまたはphoneフィールドまたはaddressフィールドのうち少なくとも1つが必要です。addressフィールドには、4つの列[given_name, family_name, region_code, postal_code]すべてを含める必要があります。PhoneはE.164形式に従う必要があります。詳細については、https://en.wikipedia.org/wiki/E.164 を参照してください。Region codeは、https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2に従う必要があります。emailフィールド、phoneフィールド、またはaddress(given_name, family_name, region_code, postal_code)フィールドがユーザー識別子です。最大10個のユーザー識別子を持つことができます |
| phone (およびphone_1, phone_2, ......., phone_n) | [E.164](https://en.wikipedia.org/wiki/E.164)標準が適用されます。phone_*の形式で複数のphoneフィールドを受け入れます |  |
| given_name | 住所 - 名 |  |
| family_name | 住所 - 姓 |  |
| region_code | 住所 - 国コード([ISO-3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)の2文字コード) |  |
| postal_code | 住所 - 郵便番号 |  |
| mobile_id (およびmobile_id_1, mobile_id_2, ......., mobile_id_n) | 広告用識別子(IDFA)またはGoogle広告ID(AAID)のモバイルデバイスID。mobile_id_*の形式で複数のmobile_idフィールドを受け入れます | `Mobile Data`リストタイプには、少なくともmobile_idフィールドが必要です。mobile_idフィールドがユーザー識別子です。最大10個のユーザー識別子を持つことができます |


### 設定パラメータ

| **Product of Advertiser Account**  REQUIRED | string | Google AdsまたはDisplay Video PartnerまたはDisplay Video Advertiser |
|  --- | --- | --- |
| **Mode**  REQUIRED | string | 操作モード - **Add**(デフォルト): クエリ結果が既存のユーザーリストに追加されます。指定されたList nameのユーザーリストが存在しない場合は、新しいユーザーリストが作成されます。- **Remove**: クエリ結果が既存のユーザーリストから削除されます。 |
| **Advertiser ID**  Required | string | 対象のGoogle AdsアカウントまたはDV360アカウントのID(ダッシュありまたはなし) |
| **List name**  REQUIRED | string | ユーザーリストの名前 |
| **List type**  REQUIRED | string | 2種類のデータがサポートされています - **User Data**: email、phone、またはaddressを使用したユーザープロファイルのアップロード - **Mobile Data**: モバイルアプリケーションのデータ(IDFAまたはAAID)のアップロード |
| **List Description**  Optional | string | 新しいユーザーリストを作成する場合に使用されるリストの説明 |
| **Application ID**  OPTIONAL | string | モバイルアプリケーションのID。リストタイプが**Mobile Data**でリスト名が存在しない場合は必須です。 |
| **Membership days**   OPTIONAL | number | オーディエンスメンバーがユーザーリストに留まる日数。値は0から540の間である必要があります。デフォルト値: 540 |
| **Terms of Service**  OPTIONAL | string | ユーザーが承認/拒否した利用規約 |
| **Ad user data**  OPTIONAL | string | 欧州経済領域などの必要な地域からのユーザーデータのアップロードには、明示的な広告同意宣言が必要です。 |
| **Ad personalization**  OPTIONAL | string | 広告のパーソナライゼーションに関する同意フラグ |
| **Skip invalid records**  OPTIONAL | boolean | デフォルト: true |


## Audience Studioでセグメントをアクティベートする

Audience Studioでアクティベーションを作成することで、対象プラットフォームにセグメントデータを送信することもできます。

1. **Audience Studio**に移動します
2. 親セグメントを選択します
3. 対象セグメントを開き、右クリックして、**Create Activation**を選択します
4. **Details**パネルでアクティベーション名を入力し、前のセクションの設定パラメータに従ってアクティベーションを設定します
5. **Output Mapping**パネルでアクティベーション出力をカスタマイズします。


![](/assets/ouput.b2c7f1d909c4f98ed10f5300df858a4b19f71a3b0834df952f5fb24018a5ea78.8ebdf569.png)

- Attribute Columns
  - **Export All Columns**を選択すると、変更を加えずにすべての列をエクスポートします。
  - **+ Add Columns**を選択すると、エクスポートする特定の列を追加できます。Output Column Nameには、Source列名と同じ名前が事前入力されます。Output Column Nameは更新できます。**+ Add Columns**を選択し続けて、アクティベーション出力用の新しい列を追加します。
- String Builder
  - **+ Add string**を選択して、エクスポート用の文字列を作成します。以下の値から選択します。
    - String: 任意の値を選択します。テキストを使用してカスタム値を作成します。
    - Timestamp: エクスポートの日時。
    - Segment Id: セグメントID番号。
    - Segment Name: セグメント名。
    - Audience Id: 親セグメント番号。


1. **Schedule**を設定します。


![](/assets/snippet-output-connector-on-audience-studio-2024-08-28.a99525173709da1eb537f839019fa7876ffae95045154c8f2941b030022f792c.8ebdf569.png)

- スケジュールを定義する値を選択し、オプションでメール通知を含めます。


1. **Create**を選択します。


## (オプション) ワークフローを使用したエクスポート統合

Treasure ワークフロー内では、データコネクタを使用してデータをエクスポートすることを指定できます。

詳細については、[Using Workflows to Export Data with the TD Toolbelt](/tools/cli-and-sdks/api#workflow-commands)を参照してください。


```yaml
_export:
    td:
        database: google_data_manager
+google_data_manager_export_task:
    td>: export.sql
        database: ${td.database}
        result_connection: new_created_google_data_manager
        result_settings:
            type: google_data_manager
            product: GOOGLE_ADS
            mode: add
            advertiser_id: 123456789
            list_name: test
            list_description: desc
            list_type: mobile_data
            app_id: app_id
            membership_life_span: 100
            terms_of_service: ACCEPTED
            ad_user_data: CONSENT_GRANTED
            ad_personalization: CONSENT_GRANTED
            skip_invalid_records:true
```


```yaml
_export:
    td:
        database: google_data_manager

+google_data_manager_export_task:
    td>: export.sql
    database: ${td.database}
    result_connection: new_created_google_data_manager
    result_settings:
        type: google_data_manager
        product: GOOGLE_ADS
        mode: remove
        advertiser_id: 123456789
        list_name: test
        list_type: user_data
        skip_invalid_records: true
```

## (オプション) CLIを使用したエクスポート統合

CLI(Toolbelt)を使用して、結果をGoogle Platformにエクスポートすることもできます。

*`td query`*コマンドの`*--result` オプション*を使用して、Googleアカウントへのエクスポート情報を指定する必要があります。*`td query`*コマンドの詳細については、[こちらの記事](/tools/cli-and-sdks/td-toolbelt-job-and-query-command-reference)を参照してください。

オプションの形式はJSONで、一般的な構造は次のとおりです。

モバイルデータを追加


```
    type: google_data_manager    product: GOOGLE_ADS    mode: add    advertiser_id: 123456789     list_name: test    list_description: desc    list_type: mobile_data    app_id: app_id    membership_life_span: 100    terms_of_service: ACCEPTED    ad_user_data: CONSENT_GRANTED    ad_personalization: CONSENT_GRANTED    skip_invalid_records:true
```

ユーザーデータを追加


```
    type: google_data_manager    product: GOOGLE_ADS    mode: add    advertiser_id: 123456789     list_name: test    list_description: desc    list_type: user_data    membership_life_span: 100    terms_of_service: ACCEPTED    ad_user_data: CONSENT_GRANTED    ad_personalization: CONSENT_GRANTED    skip_invalid_records:true
```

ユーザーデータ/モバイルデータを削除


```
    type: google_data_manager    product: GOOGLE_ADS    mode: remove    advertiser_id: 123456789     list_name: test    list_type: user_data    skip_invalid_records:true
```

### 

### パラメータ

| Name | Description | Value | Default Value | Required |
|  --- | --- | --- | --- | --- |
| type | コネクタタイプ | google_data_manager | N/A | Yes |
| oauth_credentials_id | コンソールでOAuth認証方法によって作成された認証情報ID | N/A | N/A | Yes |
| product | 広告主アカウントのプロダクト | サポート対象:   - GOOGLE_ADS - DISPLAY_VIDEO_PARTNER - DISPLAY_VIDEO_ADVERTISER | GOOGLE_ADS | Yes |
| mode |  | サポート対象:   - ADD - REMOVE | ADD | Yes |
| advertiser_id | 広告主ID | N/A | N/A | Yes |
| list_name | リスト名 | N/A | N/A | Yes |
| list_description |  | N/A | N/A | No |
| list_type | メール、電話、住所などのデータタイプをアップロードするには[User Data]を選択  (IDFAまたはAAID)などのデータタイプをアップロードするには[Mobile Data]を選択 | サポート対象:   - user_data - mobile_data | user_data | Yes |
| app_id | アプリケーションID | N/A | N/A | リストタイプがmobile_dataでリスト名が存在しない場合は必須 |
| membership_life_span | オーディエンスメンバーがユーザーリストに滞在する日数。値は0から540の間である必要があります | [0-540] | 540 | No |
| terms_of_service | ユーザーが承認/拒否した利用規約 | サポート対象:   - TERMS_OF_SERVICE_STATUS_UNSPECIFIED - ACCEPTED - REJECTED | ACCEPTED | No |
| ad_user_data |  | サポート対象:   - CONSENT_STATUS_UNSPECIFIED - CONSENT_GRANTED - CONSENT_DENIED | CONSENT_GRANTED | No |
| ad_personalization |  | サポート対象:   - CONSENT_STATUS_UNSPECIFIED - CONSENT_GRANTED - CONSENT_DENIED | CONSENT_GRANTED | No |
| skip_invalid_records | 無効なレコードを処理する際にジョブを続行または停止するフラグ | true/false | true | No |


### 使用例

OAuth認証


```
$ td query --result '{"type":"google_data_manager","oauth_credentials_id":"xxx","product":"GOOGLE_ADS","mode":"add","advertiser_id":"xxx","list_name":"xxx","list_description":"xxx","list_type":"user_data","membership_life_span":540,"terms_of_service":"ACCEPTED","ad_user_data":"CONSENT_GRANTED","ad_personalization":"CONSENT_GRANTED","skip_invalid_records":true}' -d sample_datasets "select ........ from ........" -T presto
```

## その他

- [Scheduled Job](/products/customer-data-platform/job-management/scheduling-jobs-using-td-console)とResult Exportを使用して、定期的にターゲット宛先にデータをアップロードできます