Skip to content

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

概要

Google Campaign Manager 360(CM360)Enhanced Conversions コネクターを使用すると、Treasure AI から Google Campaign Manager 360 に直接コンバージョンデータをエクスポートできます。Campaign Manager 360 API を使用して、Floodlight アクティビティに紐付けられたコンバージョンレコードをアップロードまたは更新します。

前提条件

  • TD Toolbelt を含む Treasure AI の基本的な知識。
  • Campaign Manager 360 へのアクセス権を持つ Google アカウント。
  • コンバージョンをアップロードする権限を持つ Campaign Manager ユーザープロファイル ID。
  • アップロードするコンバージョンアクションの Floodlight 設定 ID および Floodlight アクティビティ ID。

制限事項と既知の問題

  • 各コンバージョンレコードには最大 5 件の userIdentifiers エントリを含めることができます。この制限を超えるレコードは無効です。
  • userIdentifiers の各エントリには、メール、電話番号、または住所情報のいずれか 1 つの識別子タイプのみを含める必要があります。同じ数値サフィックス内でタイプを混在させることは許可されておらず、スキーマ検証時に強制されます。
  • 住所ベースの userIdentifiers では、同じ数値サフィックスに対して 7 つすべての住所フィールド(first_namelast_namecitystatecountry_codepostal_codestreet_address)が必要です。
  • クエリスキーマには、コンバージョン識別子列が正確に 1 つ(または encrypted_user_id_candidates* 列のグループが 1 つ)含まれている必要があります。識別子グループがゼロまたは複数ある場合は、レコードが処理される前にスキーマ検証で拒否されます。
  • 暗号化ユーザー ID(include_encrypted: true)を使用する場合は、encryption_entity_id を指定する必要があります。
  • カスタム変数エントリには、同じサフィックスに対して custom_variable_typecustom_variable_value の両方が必要です。
  • カートデータアイテムエントリには、同じサフィックスに対して 3 つすべてのアイテムフィールド(cart_data_item_idcart_data_item_quantitycart_data_item_unit_price)が必要です。

Treasure コンソールを使用する

新しい接続の作成

クエリを実行する前に、Treasure コンソールでデータ接続を作成して設定する必要があります。データ接続の一部として、インテグレーションへのアクセスに使用する認証情報を提供します。

  1. Treasure コンソールを開きます。
  2. Integrations Hub > Catalog に移動します。
  3. Google Campaign Manager Enhanced Conversions を検索して選択します。認証を作成を選択します。

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

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

クエリの定義

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

  1. Data Workbench > Queries に移動します。
  2. 新しいクエリを選択してクエリを定義します。
  3. 結果のエクスポートを選択して、データエクスポートを設定します。
  4. 既存の Google CM360 Enhanced Conversions 認証を選択するか、前述の手順で新しい認証を作成します。
  5. エクスポートパラメーターを設定します。
  6. 完了を選択します。

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

フィールド説明必須デフォルト
Profile IDCM360 ユーザープロファイル ID。正の数値である必要があります。はい
Modeアップロードモード。ADDbatchinsert を使用して新しいコンバージョンを挿入します。UPDATEbatchupdate を使用して既存のコンバージョンを変更します。いいえADD
Include Encryptedクエリに encrypted_user_id または encrypted_user_id_candidates 列が含まれている場合に有効にします。有効にすると、Encryption Entity ID が必要です。いいえfalse
Encryption Entity Type暗号化キーに関連付けられたエンティティタイプ。Include Encrypted が有効な場合のみ使用されます。受け入れられる値:
  • ENCRYPTION_ENTITY_TYPE_UNKNOWN
  • DCM_ACCOUNT
  • DCM_ADVERTISER
  • DBM_PARTNER
  • DBM_ADVERTISER
  • ADWORDS_CUSTOMER
  • DFP_NETWORK_CODE
いいえENCRYPTION_ENTITY_TYPE_UNKNOWN
Encryption Entity ID暗号化タイプに一致するエンティティの ID。Include Encrypted がオンの場合は必須。
Encryption Source暗号化のソース。Include Encrypted が有効な場合のみ使用されます。受け入れられる値:
  • ENCRYPTION_SCOPE_UNKNOWN
  • AD_SERVING
  • DATA_TRANSFER
Include Encrypted がオンの場合は必須。ENCRYPTION_SCOPE_UNKNOWN
Skip Invalid Records有効にすると、無効なレコードはスキップされてジョブが続行されます。無効にすると、最初の無効なレコードでジョブが停止します。いいえtrue

クエリデータの仕様

Campaign Manager にコンバージョンデータをアップロードするには、エクスポートクエリに必須列とオプション列の組み合わせを含める必要があります。列名は大文字と小文字を区別せず、空白はトリミングされます。NULL 値を持つ列はそのレコードに対してスキップされます。列が必須の場合、そのレコードは無効と見なされます。

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

仕様説明
必須フィールドすべてのコンバージョンレコードには以下の列をすべて含める必要があります:
  • floodlight_configuration_id
  • floodlight_activity_id
  • timestamp_micros
  • value
  • quantity
  • ordinal

必須識別子(正確に 1 つ)

スキーマにはコンバージョン識別子が正確に 1 つ含まれている必要があります。これはスキーマ検証時に強制されます。識別子列グループがゼロまたは複数ある場合、レコードが処理される前にジョブが失敗します。

クエリに以下のいずれか 1 つを含めます:

  • encrypted_user_id
  • gclid
  • mobile_device_id
  • match_id
  • dclid
  • impression_id
  • 1 つ以上の encrypted_user_id_candidates 列(例:encrypted_user_id_candidatesencrypted_user_id_candidates1encrypted_user_id_candidates2、...)— これらの列はすべて合わせて 1 つの識別子グループとしてカウントされます。

例えば、同じクエリスキーマに gclidmatch_id の両方を含めることは無効です。

カスタム変数カスタム Floodlight 変数ペアには、各数値サフィックスに対して両方の列が必要です:
  • custom_variable_type / custom_variable_type[N](例:custom_variable_type1custom_variable_type2...)
  • custom_variable_value / custom_variable_value[N](例:custom_variable_value1custom_variable_value2...)

カートデータアイテム

カートデータアイテムエントリには、各数値サフィックスに対して 3 つすべての列が必要です:

  • cart_data_item_id / cart_data_item_id[N](例:cart_data_item_id1cart_data_item_id2...)
  • cart_data_item_quantity / cart_data_item_quantity[N](例:cart_data_item_quantity1cart_data_item_quantity2...)
  • cart_data_item_unit_price / cart_data_item_unit_price[N](例:cart_data_item_unit_price1cart_data_item_unit_price2...)

カートデータアイテム列が存在する場合、トップレベルのカートデータフィールド(merchant_idmerchant_feed_labelmerchant_feed_language)も必須です。

UserIdentifier 住所の完全性特定の数値サフィックスに対して住所フィールドが存在する場合、そのサフィックスの 7 つすべての住所フィールドが存在する必要があります:
  • first_name / first_name[N]
  • last_name / last_name[N]
  • city / city[N]
  • state / state[N]
  • country_code / country_code[N]
  • postal_code / postal_code[N]
  • street_address / street_address[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]
  • street_address / street_address[N]
UserIdentifier の制限各コンバージョンには、すべてのメール、電話番号、および住所識別子列にわたって最大 5 件の userIdentifiers エントリを含めることができます。
UserIdentifier タイプの排他性単一の userIdentifier エントリ(数値サフィックスでグループ化)には、メール、電話番号、または住所のいずれか 1 つのタイプの識別子のみを含めることができます。同じサフィックス内でタイプを混在させることは許可されていません。 例: 有効 — 各サフィックスには 1 つのタイプのみが含まれています:
  • email1: "user@example.com"
  • email2: "user@example.com"
  • phone_number3: "+1-555-0100" 無効 — サフィックス 1 でメールと電話が混在しています:
  • email1: "user@example.com"
  • phone_number1: "+1-555-0100"

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

必須コンバージョンフィールド

フィールド(列名)説明必須データ型注記
floodlight_configuration_idこのコンバージョンに関連付けられた Floodlight 設定の ID。はい文字列(int64 形式)または Long正の数値である必要があります。
floodlight_activity_idFloodlight アクティビティの ID。はい文字列(int64 形式)または Long正の数値である必要があります。
timestamp_microsUnix エポックからのマイクロ秒単位のコンバージョンイベントのタイムスタンプ。はいLong正の数値である必要があります。
valueコンバージョンの金額。はいDouble または Long
quantityコンバージョンされたアイテムの数。はいLong正の数値である必要があります。
ordinal同じクリックに対する複数のコンバージョンを重複排除するために使用される一意の文字列。はいString

コンバージョン識別子フィールド(1 つのみ必須)

フィールド(列名)説明必須データ型注記
encrypted_user_id暗号化された Cookie ユーザー ID。条件付き*Stringコネクター設定で include_encrypted: true が必要です。
encrypted_user_id_candidatesencrypted_user_id_candidates1encrypted_user_id_candidates2、...暗号化されたユーザー ID 候補のリスト。複数の列が 1 つのリストに結合されます。条件付き*String空白でない各値が候補リストに追加されます。コネクター設定で include_encrypted: true が必要です。
gclidコンバージョンに関連付けられた Google クリック ID。条件付き*String
mobile_device_idコンバージョンに関連付けられたモバイルデバイス ID。条件付き*String
match_idカスタムマッチ ID。条件付き*String
dclidディスプレイクリック ID。条件付き*String
impression_idビュースルーコンバージョンのインプレッション ID。条件付き*String

*これらのフィールドのうち、レコードごとに NULL 以外の値を持つものは 1 つのみである必要があります。

オプションのコンバージョンフィールド

フィールド(列名)説明データ型注記
limit_ad_trackingこのデバイスで広告トラッキングが制限されているかどうか。Boolean
child_directed_treatmentコンバージョンが子供向けサイトのものかどうか。Boolean
non_personalized_adコンバージョンがパーソナライズされていない広告に関連付けられているかどうか。Boolean
treatment_for_underageコンバージョンが未成年者に対する処置を適用すべきかどうか。Boolean
ad_user_data_consentユーザーデータへの同意状態。受け入れられる値:GRANTEDDENIEDString
session_attributes_encodedBase64 エンコードされたセッション属性。String

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

これらの列は、各コンバージョンの userIdentifiers 配列を設定します。これは拡張ユーザーマッチングに使用されます。数値サフィックスを使用して複数の識別子を提供できます(例:emailemail1email2)。各サフィックスは関連するフィールドを 1 つの UserIdentifier エントリにグループ化します。レコードには最大 5 件の userIdentifiers エントリを含めることができます。

UserIdentifier エントリは以下のタイプのいずれかである必要があります:

メール

列名データ型正規化とハッシュ化
emailemail1email2、...String小文字に変換されます。Gmail および Googlemail アドレスの場合、ローカル部分からドット(.)が削除されます。その後 SHA-256 ハッシュ化されます。すでに 64 文字の 16 進数文字列の場合は、そのまま使用されます。

電話番号

列名データ型正規化とハッシュ化
phone_numberphone_number1phone_number2、...StringE.164 形式である必要があります。それ以外の場合、数字以外の文字が削除され、+ が先頭に付加されます。その後 SHA-256 ハッシュ化されます。すでに 64 文字の 16 進数文字列の場合は、そのまま使用されます。

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

列名データ型正規化とハッシュ化
first_namefirst_name1first_name2、...String小文字に変換され、空白が削除されます。その後 SHA-256 ハッシュ化されます。
last_namelast_name1last_name2、...String小文字に変換され、句読点が削除されます。その後 SHA-256 ハッシュ化されます。
street_addressstreet_address1street_address2、...String小文字に変換されます。その後 SHA-256 ハッシュ化されます。
citycity1city2、...Stringハッシュ化されません。
statestate1state2、...Stringハッシュ化されません。
country_codecountry_code1country_code2、...Stringハッシュ化されません。ISO 3166-1 alpha-2 の 2 文字コードを使用してください。
postal_codepostal_code1postal_code2、...Stringハッシュ化されません。

カートデータフィールド

カートデータはショッピングカート情報でコンバージョンレコードを強化します。カートデータ列が存在する場合、3 つのトップレベルカートデータフィールドが必須です。

トップレベルカートデータフィールド(カートデータが使用される場合に必須)

列名説明データ型
merchant_idMerchant Center ID。String または Long
merchant_feed_labelMerchant Center アカウントに関連付けられたフィードラベル。String
merchant_feed_languageMerchant Center フィードの言語。String

カートデータアイテムフィールド(複数アイテムには数値サフィックスを使用)

列名説明データ型
cart_data_item_idcart_data_item_id1、...アイテムのショッピング ID。String
cart_data_item_quantitycart_data_item_quantity1、...販売されたアイテムの数。Long
cart_data_item_unit_pricecart_data_item_unit_price1、...税、送料、およびトランザクションレベルの割引を除いた単価。Double または Long

同じ数値サフィックスでグループ化された 3 つのアイテムフィールドのセットが 1 つのカートアイテムを表します。各サフィックスに対して 3 つのフィールドすべてが存在する必要があります。

カスタム Floodlight 変数フィールド

カスタム変数を各コンバージョンにアタッチして、追加データを Floodlight に渡すことができます。

列名説明データ型
custom_variable_typecustom_variable_type1custom_variable_type2、...カスタム Floodlight 変数のタイプキー(例:U1)。String
custom_variable_valuecustom_variable_value1custom_variable_value2、...カスタム Floodlight 変数の値。String

custom_variable_typecustom_variable_value の両方が各数値サフィックスに対して存在する必要があります。

クエリ例

SELECT
    floodlight_configuration_id,
    floodlight_activity_id,
    timestamp_micros,
    value,
    quantity,
    ordinal,
    gclid,
    email,
    phone_number1,
    first_name2,
    last_name2,
    city2,
    state2,
    country_code2,
    postal_code2,
    street_address2,
    ad_user_data_consent,
    merchant_id,
    merchant_feed_label,
    merchant_feed_language,
    cart_data_item_id1,
    cart_data_item_quantity1,
    cart_data_item_unit_price1,
    custom_variable_type1,
    custom_variable_value1
FROM conversions_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_cm360_enhanced_conversions",
  "td_authentication_id": "${authentication_id_from_td_console}",
  "profile_id": "123456789",
  "mode": "ADD",
  "include_encrypted": true,
  "encryption_entity_type": "ENCRYPTION_ENTITY_TYPE_UNKNOWN",
  "encryption_entity_id": "123",
  "encryption_source": "ENCRYPTION_SCOPE_UNKNOWN",
  "skip_invalid_records": true
}

パラメーター

名前説明デフォルト必須
typeコネクタータイプ識別子。google_cm360_enhanced_conversionsはい
td_authentication_idTreasure コンソール上の既存の Google Campaign Manager Enhanced Conversions 認証の ID。数値はい
profile_idCampaign Manager ユーザープロファイル ID。正の数値である必要があります。Stringはい
modeアップロードモード。ADDbatchinsert を使用し、UPDATEbatchupdate を使用します。ADD / UPDATEADDいいえ
include_encrypted暗号化ユーザー ID 列(encrypted_user_id または encrypted_user_id_candidates[N])を使用する場合に有効にします。true / falsefalseいいえ
encryption_entity_type暗号化エンティティタイプ。文字列。受け入れられる値:
  • ENCRYPTION_ENTITY_TYPE_UNKNOWN
  • DCM_ACCOUNT
  • DCM_ADVERTISER
  • DBM_PARTNER
  • DBM_ADVERTISER
  • ADWORDS_CUSTOMER
  • DFP_NETWORK_CODE
ENCRYPTION_ENTITY_TYPE_UNKNOWNいいえ
encryption_entity_id暗号化タイプに一致するエンティティの ID。Stringinclude_encrypted が true の場合は必須
encryption_source暗号化のソース。文字列。受け入れられる値:
  • ENCRYPTION_SCOPE_UNKNOWN
  • AD_SERVING
  • DATA_TRANSFER
ENCRYPTION_SCOPE_UNKNOWNいいえ
skip_invalid_records無効なレコードをスキップしてジョブを停止せずに続行します。true / falsetrueいいえ

使用例

ADD モード(新しいコンバージョンの挿入)

td query \
  --result '{"type":"google_cm360_enhanced_conversions","td_authentication_id": "xxxx","profile_id":"123456789","mode":"ADD","skip_invalid_records":true}' \
  -d my_database \
  "SELECT floodlight_configuration_id, floodlight_activity_id, timestamp_micros, value, quantity, ordinal, gclid FROM conversions" \
  -T presto

UPDATE モード

td query \
  --result '{"type":"google_cm360_enhanced_conversions","td_authentication_id": "xxxx","profile_id":"123456789","mode":"UPDATE","skip_invalid_records":true}' \
  -d my_database \
  "SELECT floodlight_configuration_id, floodlight_activity_id, timestamp_micros, value, quantity, ordinal, gclid FROM conversions" \
  -T presto