Skip to content

Google Data Manager for Conversions エクスポートインテグレーション

概要

Google Data Manager for Conversions コネクターを使用すると、Treasure AI から Google Ads にコンバージョンイベントデータを直接エクスポートできます。Google Data Manager API を使用して、Google Ads アカウントのコンバージョンアクションに紐づくオフライン、オンライン、店舗販売のコンバージョンイベントをアップロードします。

前提条件

  • TD Toolbelt を含む Treasure AI の基本的な知識。
  • Google Ads にアクセスできる Google アカウント。
  • コンバージョンのアップロード権限を持つ Google Ads ID(オペレーティングアカウント)。
  • Google Ads で設定済みのコンバージョンアクション ID。
  • 店舗販売コンバージョンの場合:Google Ads アカウントが Google のホワイトリストに登録されていること。

制限事項と既知の問題

  • 各イベントには最大 10 件の userIdentifiers エントリを含めることができます。
  • 住所ベースの userIdentifiers には、同じ数値サフィックスに対して first_namelast_nameregion_codepostal_code の 4 つのアドレスフィールドすべてが必要です。
  • IP アドレスによるマッチングは、欧州経済領域(EEA)、英国(UK)、またはスイス(CH)のユーザーには対応していません
  • 店舗販売コンバージョンの場合、いずれかのアイテムに merchantProductId または unitPrice が欠けていると、Google は cartData オブジェクト全体を削除します。イベント自体はカートデータなしで受け付けられます。
  • リクエストのステータス診断は、アップロード後少なくとも 30 分待ってから確認する必要があり、確定まで最大 24 時間かかる場合があります。

Treasure Console を使用する

新しい接続の作成

クエリを実行する前に、Treasure Console でデータ接続を作成・設定する必要があります。データ接続の設定時に、インテグレーションにアクセスするための認証情報を入力します。

  1. Treasure Console を開きます。
  2. Integrations Hub > Catalog に移動します。
  3. Google Data Manager for Conversions を検索して選択します。Create Authentication を選択します。

  1. 認証に使用する資格情報を選択します。

  1. 必要に応じて Sign in with Google を選択し、Google にログインします。
  2. Integrations Hub > Catalog に戻ります。
  3. Google Data Manager for Conversions を検索して選択します。
  4. 新規認証ダイアログが開きます。
  5. ドロップダウンリストからアカウント名の付いた OAuth 接続を選択します。
  6. Continue を選択します。
  7. 接続に名前を付けます。
  8. Done を選択します。

クエリの定義

Treasure Console はデータのエクスポートに複数の方法をサポートしています。Data Workbench からデータをエクスポートするには、次の手順を実行します。

  1. Data Workbench > Queries に移動します。
  2. New Query を選択し、クエリを定義します。
  3. Export Results を選択して、データエクスポートを設定します。
  4. 既存の Google Data Manager for Conversions 認証を選択するか、前述の手順に従って新しい認証を作成します。
  5. エクスポートパラメーターを設定します。
  6. Done を選択します。

コネクター設定パラメーター

フィールド説明必須デフォルト
Conversion Typeアップロードするコンバージョンのタイプ。オフラインコンバージョンは OFFLINE、追加のオンラインデータは ONLINE、店舗内購入の帰属は STORE_SALESいいえOFFLINE
Operating Account IDコンバージョンイベントを受け取る Google Ads 顧客 ID。数値(ダッシュ可、例:123-456-789)。はい
Login Account IDMCC(マネージャー)アカウント ID。認証ユーザーがマネージャーアカウント経由でオペレーティングアカウントにアクセスする場合のみ必要です。直接アクセスの場合は空白のままにします。いいえ
Conversion Action IDイベントがアップロードされる Google Ads のコンバージョンアクションの ID。はい
Ad User Data Consentユーザーデータに対するリクエストレベルの同意。使用可能な値:CONSENT_GRANTEDCONSENT_DENIEDCONSENT_STATUS_UNSPECIFIEDいいえCONSENT_GRANTED
Ad Personalization Consent広告パーソナライゼーションに対するリクエストレベルの同意。使用可能な値:CONSENT_GRANTEDCONSENT_DENIEDCONSENT_STATUS_UNSPECIFIEDいいえCONSENT_GRANTED
Skip Invalid Records有効にすると、無効なレコードをスキップしてジョブを継続します。無効にすると、最初の無効なレコードでジョブが停止します。いいえtrue
Waiting for Request Status有効にすると、すべてのイベントがアップロードされた後にアップロードリクエストのステータスをポーリングします。ステータスが解決またはタイムアウトするまでジョブをブロックします。いいえfalse

クエリデータの仕様

Google Ads にコンバージョンデータをアップロードするには、エクスポートクエリに必須列とオプション列の組み合わせを含める必要があります。列名は大文字小文字を区別せずマッチングされ、ホワイトスペースはトリムされます。NULL 値を持つ列はそのレコードでスキップされます。必須列の場合、そのレコードは無効と見なされます。

エクスポートクエリの仕様

仕様説明
必須フィールド(全コンバージョンタイプ)すべてのイベントに含める必要があります:
  • event_timestamp
必須フィールド(オフライン)event_timestamp に加えて:
  • event_source(値:WEBAPPPHONEMESSAGEOTHER
必須フィールド(オンライン)event_timestamp に加えて:
  • transaction_id
必須フィールド(店舗販売)event_timestamp に加えて:
  • transaction_id
  • conversion_value
  • currency
  • store_id
  • 少なくとも 1 つのユーザー識別子(emailphone_number、または完全な住所)
必須識別子(オフライン / オンライン)スキーマに少なくとも 1 つの識別子が必要です:
  • gclidgbraidwbraidsession_attributesmobile_device_iddclidimpression_idmatch_id
  • または email / phone_number / 完全な住所フィールド
  • または ip_address
住所の完全性特定の数値サフィックスに対していずれかの住所フィールドが存在する場合、そのサフィックスの 4 つの住所フィールドすべてが必要です:
  • first_name / first_name[N]
  • last_name / last_name[N]
  • region_code / region_code[N]
  • postal_code / postal_code[N]
重複列重複する列名は使用できません。
NULL 値の処理NULL 値を持つ列はそのレコードでスキップされます。
PII ハッシュ化以下のフィールドは、生(未ハッシュ)の値が提供された場合、自動的に正規化されて SHA-256 ハッシュ化されます。値がすでに 64 文字の 16 進数文字列の場合は、そのまま使用されます:
  • email / email[N]
  • phone_number / phone_number[N]
  • first_name / first_name[N]
  • last_name / last_name[N]
UserIdentifier の上限各イベントには、すべてのメール、電話番号、住所識別子列を合わせて最大 10 件の userIdentifiers エントリを含めることができます。
通貨conversion_value が設定されている場合に必須です。ISO 4217 の大文字形式(例:USDEURJPY)で指定します。
イベントタイムスタンプISO 8601 形式(例:2024-01-15T10:30:00.000Z)またはエポックミリ秒を表す long 値で指定します。コネクターはエポック値を RFC 3339 形式に自動変換します。

フィールド / 列レベルの仕様

コアイベントフィールド

フィールド(列名)説明必須データ型備考
event_timestampコンバージョンイベントのタイムスタンプ。はい(全タイプ)String(ISO 8601)または Long(エポック ms)コネクターがエポックを RFC 3339 に変換します。
last_updated_timestampこのイベントの最終更新タイムスタンプ。いいえString(ISO 8601)または Long(エポック ms)コネクターがエポックを RFC 3339 に変換します。
event_sourceコンバージョンイベントのソース。はい(オフライン)String値:WEBAPPPHONEMESSAGEOTHER。オンラインの場合は WEB、店舗販売の場合は IN_STORE にハードコードされます。
transaction_idトランザクションの一意の識別子。はい(オンライン、店舗販売)String
conversion_valueコンバージョンの金額。はい(店舗販売)Double または Long
conversion_countコンバージョンの数。いいえLong
currencyconversion_value の通貨コード。conversion_value が設定されている場合は必須StringISO 4217 大文字形式(例:USD)。
event_nameコンバージョンイベントのカスタム名。いいえString
user_id広告主のシステムからのユーザー識別子。いいえString

広告識別子フィールド

フィールド(列名)説明データ型備考
gclidGoogle クリック ID。String
gbraidGoogle Braid ID(iOS アプリコンバージョン)。String
wbraidGoogle Wbraid ID(Web からアプリへのコンバージョン)。String
session_attributesGoogle タグからのセッション属性。String
mobile_device_idモバイル広告 ID(iOS の IDFA、Android の AdID)。String
dclidディスプレイクリック ID。String
impression_idビュースルーコンバージョン用のインプレッション ID。String
match_idイベントを結合するためのマッチ ID。String

ランディングページデバイス情報フィールド

フィールド(列名)説明データ型
landing_page_user_agentランディング時のデバイスのユーザーエージェント文字列。String
landing_page_ip_addressランディング時のデバイスの IP アドレス。String
landing_page_categoryデバイスカテゴリ(例:desktoptabletmobilesmart TV)。String
landing_page_languageISO 639-1 形式のデバイス言語。String
landing_page_screen_height画面の高さ(ピクセル単位)。Long
landing_page_screen_width画面の幅(ピクセル単位)。Long
landing_page_osデバイスのオペレーティングシステム。String
landing_page_os_versionオペレーティングシステムのバージョン。String
landing_page_modelデバイスのモデル。String
landing_page_brandデバイスのブランド。String
landing_page_browserブラウザのブランド / タイプ。String
landing_page_browser_versionブラウザのバージョン。String

イベントデバイス情報フィールド

フィールド(列名)説明データ型備考
ip_addressイベント発生時のデバイスの IP アドレス。StringEEA/UK/CH ユーザーには対応していません。
device_user_agentイベント発生時のデバイスのユーザーエージェント文字列。String
device_categoryデバイスカテゴリ。String
device_languageデバイス言語(ISO 639-1)。String
device_osオペレーティングシステム。String
device_os_versionオペレーティングシステムのバージョン。String
device_modelデバイスのモデル。String
device_brandデバイスのブランド。String
device_browserブラウザのブランド / タイプ。String
device_browser_versionブラウザのバージョン。String

イベント位置情報フィールド

フィールド(列名)説明データ型備考
store_id店舗識別子。String店舗販売では必須です。
location_cityイベント発生場所の市区町村。String
location_subdivision_codeISO 3166-2 の行政区画コード。String
location_region_code地域 / 国コード。String
location_subcontinent_codeUN M49 の亜大陸コード。String
location_continent_codeUN M49 の大陸コード。String

ユーザー識別子(PII)フィールド

これらの列は各イベントの userIdentifiers 配列に値を設定します。数値サフィックスを使用して複数の識別子を指定できます(例:emailemail1email2)。1 件のレコードには合計最大 10 件の userIdentifiers エントリを含めることができます。

メール

列名データ型正規化とハッシュ化
email, email1, email2, ...Stringホワイトスペースを除去し、小文字に変換します。その後 SHA-256 ハッシュ化(16 進数)します。すでに 64 文字の 16 進数文字列の場合はそのまま使用されます。

電話番号

列名データ型正規化とハッシュ化
phone_number, phone_number1, phone_number2, ...StringE.164 形式である必要があります(ユーザーの責任)。その後 SHA-256 ハッシュ化(16 進数)します。すでに 64 文字の 16 進数文字列の場合はそのまま使用されます。

住所情報(サフィックスごとに 4 フィールドすべて必須)

列名データ型正規化とハッシュ化
first_name, first_name1, first_name2, ...String小文字に変換し、句読点を除去し、先頭および末尾の空白を削除します。その後 SHA-256 ハッシュ化します。
last_name, last_name1, last_name2, ...String小文字に変換し、句読点を除去し、先頭および末尾の空白を削除します。その後 SHA-256 ハッシュ化します。
region_code, region_code1, region_code2, ...Stringハッシュ化しません。
postal_code, postal_code1, postal_code2, ...Stringハッシュ化しません。

ユーザープロパティフィールド

フィールド(列名)説明データ型備考
customer_type顧客タイプの分類。String
customer_value_bucket顧客価値のティア。String
additional_user_prop_name, additional_user_prop_name1, ...追加ユーザープロパティのプロパティ名。String
additional_user_prop_value, additional_user_prop_value1, ...追加ユーザープロパティのプロパティ値。String

同意フィールド

フィールド(列名)説明データ型備考
ad_user_data_consentユーザーデータに対する行レベルの同意。リクエストレベルの同意を上書きします。String値:CONSENT_GRANTEDCONSENT_DENIEDCONSENT_STATUS_UNSPECIFIED
ad_personalization_consent広告パーソナライゼーションに対する行レベルの同意。リクエストレベルの同意を上書きします。String値:CONSENT_GRANTEDCONSENT_DENIEDCONSENT_STATUS_UNSPECIFIED

カスタム変数および実験的フィールド

列名説明データ型
custom_variable_name, custom_variable_name1, ...カスタム変数名。String
custom_variable_value, custom_variable_value1, ...カスタム変数値。String
experimental_field_name, experimental_field_name1, ...実験的フィールド名。String
experimental_field_value, experimental_field_value1, ...実験的フィールド値。String
additional_event_param_name, additional_event_param_name1, ...追加イベントパラメーター名。String
additional_event_param_value, additional_event_param_value1, ...追加イベントパラメーター値。String

カートデータフィールド

列名説明データ型
merchant_idMerchant Center ID。String
merchant_feed_labelMerchant Center アカウントのフィードラベル。String
merchant_feed_language_codeMerchant Center フィードの言語。String
transaction_discountトランザクションレベルの割引額。Double または Long
coupon_codes, coupon_codes1, ...適用されたクーポンコード。String
cart_item_id, cart_item_id1, ...アイテム識別子。String
cart_item_merchant_product_id, cart_item_merchant_product_id1, ...マーチャントの商品 ID(店舗販売のカートデータに必須)。String
cart_item_quantity, cart_item_quantity1, ...購入したアイテムの数量。Long
cart_item_unit_price, cart_item_unit_price1, ...単価(店舗販売のカートデータに必須)。Double または Long
cart_item_conversion_value, cart_item_conversion_value1, ...アイテムのコンバージョン値。Double または Long
cart_item_merchant_id, cart_item_merchant_id1, ...アイテムレベルのマーチャント ID。String
cart_item_merchant_feed_label, cart_item_merchant_feed_label1, ...アイテムレベルのフィードラベル(店舗販売のカートレベルを上書き)。String
cart_item_merchant_feed_language_code, cart_item_merchant_feed_language_code1, ...アイテムレベルのフィード言語コード。String

クエリ例

gclid を使用したオフラインコンバージョン:

SELECT
    event_timestamp,
    event_source,
    gclid,
    transaction_id,
    conversion_value,
    currency,
    email
FROM conversions_tbl

オンラインコンバージョン:

SELECT
    event_timestamp,
    transaction_id,
    gclid,
    conversion_value,
    currency
FROM online_conversions_tbl

店舗販売コンバージョン:

SELECT
    event_timestamp,
    transaction_id,
    conversion_value,
    currency,
    store_id,
    email,
    phone_number,
    first_name,
    last_name,
    region_code,
    postal_code,
    merchant_id,
    merchant_feed_label,
    merchant_feed_language_code,
    cart_item_merchant_product_id,
    cart_item_quantity,
    cart_item_unit_price
FROM store_sales_tbl

(オプション) Query Export ジョブをスケジュールする

Scheduled Jobs と Result Export を使用して、指定したターゲット宛先に出力結果を定期的に書き込むことができます。

Treasure Data のスケジューラー機能は、高可用性を実現するために定期的なクエリ実行をサポートしています。

2 つの仕様が競合するスケジュール仕様を提供する場合、より頻繁に実行するよう要求する仕様が優先され、もう一方のスケジュール仕様は無視されます。

例えば、cron スケジュールが '0 0 1 * 1' の場合、「月の日」の仕様と「週の曜日」が矛盾します。前者の仕様は毎月 1 日の午前 0 時 (00:00) に実行することを要求し、後者の仕様は毎週月曜日の午前 0 時 (00:00) に実行することを要求するためです。後者の仕様が優先されます。

Treasure コンソール を使用してジョブをスケジュールする

  1. Data Workbench > Queries に移動します

  2. 新しいクエリを作成するか、既存のクエリを選択します。

  3. Schedule の横にある None を選択します。

  4. ドロップダウンで、次のスケジュールオプションのいずれかを選択します:

    ドロップダウン値説明
    Custom cron...Custom cron... の詳細を参照してください。
    @daily (midnight)指定されたタイムゾーンで 1 日 1 回午前 0 時 (00:00 am) に実行します。
    @hourly (:00)毎時 00 分に実行します。
    Noneスケジュールなし。

Custom cron... の詳細

Cron 値説明
0 * * * *1 時間に 1 回実行します。
0 0 * * *1 日 1 回午前 0 時に実行します。
0 0 1 * *毎月 1 日の午前 0 時に 1 回実行します。
""スケジュールされた実行時刻のないジョブを作成します。
 *    *    *    *    *
 -    -    -    -    -
 |    |    |    |    |
 |    |    |    |    +----- day of week (0 - 6) (Sunday=0)
 |    |    |    +---------- month (1 - 12)
 |    |    +--------------- day of month (1 - 31)
 |    +-------------------- hour (0 - 23)
 +------------------------- min (0 - 59)

次の名前付きエントリを使用できます:

  • Day of Week: sun, mon, tue, wed, thu, fri, sat.
  • Month: jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec.

各フィールド間には単一のスペースが必要です。各フィールドの値は、次のもので構成できます:

フィールド値 例の説明
各フィールドに対して上記で表示された制限内の単一の値。
フィールドに基づく制限がないことを示すワイルドカード '*''0 0 1 * *'毎月 1 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
範囲 '2-5' フィールドの許可される値の範囲を示します。'0 0 1-10 * *'毎月 1 日から 10 日までの午前 0 時 (00:00) に実行するようにスケジュールを設定します。
カンマ区切りの値のリスト '2,3,4,5' フィールドの許可される値のリストを示します。0 0 1,11,21 * *'毎月 1 日、11 日、21 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
周期性インジケータ '*/5' フィールドの有効な値の範囲に基づいて、 スケジュールが実行を許可される頻度を表現します。'30 */2 1 * *'毎月 1 日、00:30 から 2 時間ごとに実行するようにスケジュールを設定します。 '0 0 */5 * *' は、毎月 5 日から 5 日ごとに午前 0 時 (00:00) に実行するようにスケジュールを設定します。
'*' ワイルドカードを除く上記の いずれかのカンマ区切りリストもサポートされています '2,*/5,8-10''0 0 5,*/10,25 * *'毎月 5 日、10 日、20 日、25 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
  1. (オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。

クエリを実行する

クエリに名前を付けて保存して実行するか、単にクエリを実行します。クエリが正常に完了すると、クエリ結果は指定された宛先に自動的にエクスポートされます。

設定エラーにより継続的に失敗するスケジュールジョブは、複数回通知された後、システム側で無効化される場合があります。

(オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。

Audience Studio で Segment をアクティベートする

Audience Studio で activation を作成することで、segment データをターゲットプラットフォームに送信することもできます。

  1. Audience Studio に移動します。
  2. parent segment を選択します。
  3. ターゲット segment を開き、右クリックして、Create Activation を選択します。
  4. Details パネルで、Activation 名を入力し、前述の Configuration Parameters のセクションに従って activation を設定します。
  5. Output Mapping パネルで activation 出力をカスタマイズします。

  • Attribute Columns
    • Export All Columns を選択すると、変更を加えずにすべての列をエクスポートできます。
    • + Add Columns を選択して、エクスポート用の特定の列を追加します。Output Column Name には、Source 列名と同じ名前があらかじめ入力されます。Output Column Name を更新できます。+ Add Columns を選択し続けて、activation 出力用の新しい列を追加します。
  • String Builder
    • + Add string を選択して、エクスポート用の文字列を作成します。次の値から選択します:
      • String: 任意の値を選択します。テキストを使用してカスタム値を作成します。
      • Timestamp: エクスポートの日時。
      • Segment Id: segment ID 番号。
      • Segment Name: segment 名。
      • Audience Id: parent segment 番号。
  1. Schedule を設定します。

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

batch journey の activation を作成する必要がある場合は、Creating a Batch Journey Activation を参照してください。

(オプション)CLI を使用したエクスポートインテグレーション

TD Toolbelt を使用すると、CLI からクエリ結果のエクスポートをトリガーできます。td query コマンドの --result オプションを使用して、エクスポートジョブのパラメーターを指定します。詳細については、こちらの記事を参照してください。

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

{
  "type": "google_data_manager_for_conversions",
  "td_authentication_id": "${authentication_id_from_td_console}",
  "conversion_type": "OFFLINE",
  "operating_account_id": "123456789",
  "conversion_action_id": "your_conversion_action_id",
  "ad_user_data_consent": "CONSENT_GRANTED",
  "ad_personalization_consent": "CONSENT_GRANTED",
  "skip_invalid_records": true,
  "waiting_for_request_status": false
}

パラメーター

名前説明デフォルト必須
typeコネクタータイプの識別子。google_data_manager_for_conversionsはい
td_authentication_idTreasure Console 上の既存の Google Data Manager for Conversions 認証の ID。数値はい
conversion_typeアップロードするコンバージョンイベントのタイプ。OFFLINE / ONLINE / STORE_SALESOFFLINEいいえ
operating_account_idイベントを受け取る Google Ads 顧客 ID。数値(ダッシュ可)。Stringはい
login_account_idマネージャーアカウントアクセス用の MCC アカウント ID。直接アクセスの場合は空白のままにします。Stringいいえ
conversion_action_idGoogle Ads のコンバージョンアクション ID。Stringはい
ad_user_data_consentユーザーデータに対するリクエストレベルの同意。CONSENT_GRANTED / CONSENT_DENIED / CONSENT_STATUS_UNSPECIFIEDCONSENT_GRANTEDいいえ
ad_personalization_consent広告パーソナライゼーションに対するリクエストレベルの同意。CONSENT_GRANTED / CONSENT_DENIED / CONSENT_STATUS_UNSPECIFIEDCONSENT_GRANTEDいいえ
skip_invalid_records無効なレコードをスキップし、停止せずにジョブを継続します。true / falsetrueいいえ
waiting_for_request_statusアップロード完了後にリクエストのステータスをポーリングします。true / falsefalseいいえ

使用例

オフラインコンバージョンのアップロード:

td query \
  --result '{"type":"google_data_manager_for_conversions","td_authentication_id":"xxxx","conversion_type":"OFFLINE","operating_account_id":"123456789","conversion_action_id":"conv-123","skip_invalid_records":true}' \
  -d my_database \
  "SELECT event_timestamp, event_source, gclid, conversion_value, currency FROM offline_conversions" \
  -T presto

オンラインコンバージョンのアップロード:

td query \
  --result '{"type":"google_data_manager_for_conversions","td_authentication_id":"xxxx","conversion_type":"ONLINE","operating_account_id":"123456789","conversion_action_id":"conv-123"}' \
  -d my_database \
  "SELECT event_timestamp, transaction_id, gclid, conversion_value, currency FROM online_conversions" \
  -T presto

店舗販売のアップロード:

td query \
  --result '{"type":"google_data_manager_for_conversions","td_authentication_id":"xxxx","conversion_type":"STORE_SALES","operating_account_id":"123456789","conversion_action_id":"conv-123"}' \
  -d my_database \
  "SELECT event_timestamp, transaction_id, conversion_value, currency, store_id, email FROM store_sales" \
  -T presto