Skip to content
Last updated

Unified ID 2.0 Workflow

このガイドは、Treasure Data プラットフォーム内で事前定義された UID2 ワークフローを設定および運用するための技術的な手順をデータエンジニア向けに提供します。

主な目的は、メールアドレスや電話番号などのファーストパーティの個人識別情報(PII)を、広告エコシステムで使用するためのプライバシーセーフな Unified ID 2.0(UID2)識別子に変換することです。

UID2 とは?

The Trade Desk より - UID2 Overview | Unified ID 2.0 UID2 は、広告エコシステム全体の多くの参加者に対して、オープンインターネット上での広告機会における決定論的アイデンティティを可能にするフレームワークです。UID2 フレームワークは、パブリッシャーの Web サイト、モバイルアプリ、およびコネクテッド TV(CTV)アプリからのログイン体験をプログラマティックワークフローを通じて収益化できるようにします。独自の名前空間を持つオープンソースのスタンドアロンソリューションとして構築されたこのフレームワークは、地域市場の要件を満たすように設計されたユーザーの透明性とプライバシー制御を提供します。

この統合から得られるビジネス価値には以下のようなものがあります。

  • メディアバイイングプラットフォームでプライバシーを意識した形式の顧客データを使用する
  • チャネルやデバイス間で頻度を管理し、オーディエンスを抑制する
  • Cookie が存在しないアイデンティティユースケースをサポートする
  • オプトアウトを提供し、消費者のプライバシー制御を向上させることを目指す

前提条件

用語

用語説明
DIIDII は直接識別情報(Directly Identifying Information)で、現在はメールアドレスと電話番号を指します。
DII 正規化DII(メールアドレスおよび電話番号)は、正規化標準に従って期待される形式に正規化する必要があります。すべての DII は、以下に詳述されている期待される形式である限り、UID2 サービスオペレーターによってマッピングされます。UID2 サービスオペレーターは、期待される形式である限り、任意のメールアドレスまたは電話番号をマッピングすることに注意してください。メール/電話は実際に有効または機能している DII である必要はありません。 - メールアドレスはメール正規化標準に従って正規化する必要があります。- 電話番号は E.164 形式である必要があります。- タイムスタンプは ISO 8601 形式である必要があります。
Salt Bucket ローテーションUID2 の値は UID2 サービスオペレーターシステム内で暗号化されて保持され、Salt の値は平均して年に1回、比較的均等にローテーションされます。これは、UID2 Salt Bucket の約 1/365 が1日あたりローテーションされることを意味します。言い換えれば、顧客が 8000 万の DII ↔︎ UID2 マッピングを持っている場合、平均して毎日 219,178 の UID2 Salt Bucket がローテーションされます。Salt Bucket がローテーションされると、関連する UID2 の値は無効になり、再マッピングする必要があります。

UID2.0 へのアクセスリクエスト

UID2 統合を開始するためにこのコネクタを設定する前に、ユーザーは https://unifiedid.com/request-access を通じてアクセスリクエストを送信して UID2 へのアクセス権を取得する必要があります。

Trade Desk アカウントマネージャーまたは Trade Desk アカウントを所有するマーケティングエージェンシーと協力してください。

ユーザーが UID2 サービスへのアクセス権を取得すると、UID2 にアクセスするための API キーとクライアントシークレットである UID2 資格情報を取得できます。

詳細については https://unifiedid.com/docs/getting-started/gs-credentials#api-key-and-client-secret を参照してください

UID2 ベース URL:

Trade Desk アカウントの資格情報を取得する

ユーザーは、The Trade Desk 内の管理コンソールから広告主 ID とシークレットキーを見つけることができます。「Preferences」を開き、次に「First Party Data Credentials」を開いて広告主 ID とシークレットキーを表示します。

  • Advertiser ID: The Trade Desk のアカウントの広告主 ID
  • Advertiser secret: The Trade Desk のアカウントの広告主シークレット

正規化された(および/またはハッシュ化された)DII を準備する

UID2 サービスは、UID2 に変換するために DII(現在はメールと電話番号)を受け入れます。各識別情報は、変換のために特定のデータ形式に従う必要があります。詳細については、用語セクションまたは https://unifiedid.com/docs/getting-started/gs-normalization-encoding を参照してください。

Workflow の仕組み

UID2 ワークフローは、UID2 を生成および維持するプロセスを自動化します。高レベルでは、プロセスは次のとおりです:

  • 入力:
    • ワークフローは、Treasure Data データベース内で指定したソーステーブルからハッシュ化されたまたはハッシュ化されていないメールアドレスと電話番号を読み取ります。
  • 処理:
    • UID2 オペレーターサービスと通信して、PII を UID2 に安全にマッピングします。
    • また、ワークフローは「Salt Bucket ローテーション」という重要なタスクを処理します。Salt Bucket は UID2 を暗号化するために使用され、セキュリティのために定期的にローテーションされます。
    • ワークフローは、ローテーションにより古くなった UID2 を自動的に識別し、再マッピングします。
  • 出力:
    • 最終的な有効な UID2 は、データベース内の中央テーブル(ttd_uid2_ids)に書き込まれます

要件と制限事項

UID2 API エンドポイントにはレート制限があります。顧客は、パラメータ uid2_limit_record を設定して、処理するレコード数を制限することを検討する必要があります

セットアップと構成

データベーステーブルの準備

ワークフローを動作させるには、いくつかのテーブルが必要です。一部は作成する必要があり、その他はワークフローによって自動的に管理されます。

ターゲットデータベースの API は、API レスポンスに必要なステージングテーブルを作成します。

  • ttd_bucket_resp: Salt Bucket レスポンスの JSON レスポンスを保持するステージングテーブル
  • ttd_uid2_resp: uid2 マッピングのレスポンスを保持するステージングテーブル

または、以下の SQL クエリを実行できます

CREATE TABLE IF NOT EXISTS "ttd_uid2_resp"("identifier" varchar);

CREATE TABLE IF NOT EXISTS "ttd_bucket_resp"("bucket_id" varchar);

Workflow によって自動的に作成されるテーブル

  • ttd_uid2_ids: ソースデータを現在の有効な UID2 にマッピングした主要な出力テーブル
  • ttd_uid2_ids_archive: ttd_uid2_ids からのレコードのアーカイブ
  • ttd_uid2_rqst: UID2 オペレーターに送信されるバッチリクエストの JSON ペイロードを保持するステージングテーブル

API 経由で Workflow を作成する

事前定義された UID2 は API を使用して作成できます

API リクエスト

curl -L 'https://integrations-gateway.us01.treasuredata.com/integration_workflow/workflows/uid2/' \
-H 'Authorization: {Your_TD_API_KEY}' \
-H 'Content-Type: application/json' \
--data-raw '{
    "type": "uid2",
    "plugin_config": {
      "type": "uid2",
      "host": "https://operator-integ.uidapi.com",
      "apikey": "****",
      "secret": "****",
      "td_apikey": "****",
      "database": "your_database",
      "td_host": "api-production.treasuredata.com",
      "last_bucket_updated_time": "2025-04-28T07:02:00",
      "uid2_limit_records": 200000000,
      "enable_auto_format": true,
      "skip_limit": 500,
      "td_uid2_src_lst": [
        {
          "src_db": "src_db",
          "src_tbl": "src_tbl",
          "src_id_col": "contact_id",
          "src_dii_col": "email",
          "src_dii_typ": "EMAIL"
        }
      ],
      "custom_batch_size": 5000,
      "custom_email_filter_import_uid2_identifier": "regexp_like(identifier, '''^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$''')",
      "custom_phone_filter_import_uid2_identifier": "NOT regexp_like(identifier, '''^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$''')"
    },
    "workflow_config": {
      "project_name": "project_name",
      "revision": "revision",
      "schedule": "daily>: 07:00:00",
      "timezone": "America/Los_Angeles"
    }
  }'

APIレスポンス

{
  "id": "your workflow id",
  "name": "your workflow project name",
  "revision": "your workflow project revision",
  "createdAt": "2025-07-01T09:55:28Z",
  "updatedAt": "2025-07-03T07:23:35Z",
  "deletedAt": null,
  "archiveType": "s3",
  "archiveMd5": "z2c8UL26Vl+uJGfR9wPmKA==",
  "metadata": []
}

パラメータリファレンス

Workflow設定

名前説明デフォルト値必須
project_nameWorkflowのプロジェクト名 UID2設定ごとに異なるproject_nameを使用してくださいN/AN/Aはい
revisionプロジェクトリビジョン 同じ名前のプロジェクトが存在する場合、異なるリビジョンを使用すると既存のプロジェクトが上書きされる可能性がありますN/AN/Aはい
scheduleWorkflowのスケジュール 時刻を含む日次スケジュールを指定する必要があります サポートされている値と詳細な手順については、Treasure Dataのドキュメントを参照してください: 🔗 Scheduling Workflows – Treasure Data DocsN/AN/Aはい
timezoneスケジュールを設定するタイムゾーンN/AUTCいいえ
プラグイン設定
名前説明デフォルト値必須
typeプラグインタイプuid2N/Aはい
hostuid2ホスト https://unifiedid.com/docs/getting-started/gs-environmentsから取得N/AN/Aはい
apikeyUID2 APIキーN/AN/Aはい
secretUID2 APIクライアントシークレットN/AN/Aはい
databaseTD内のデータベース名N/AN/Aはい
td_apikeyTD APIキーN/AN/Aはい
td_hostTD APIホストN/AN/Aはい
td_uid2_src_lstUID2マッピング用にインポートされたDIIテーブルのリストN/AN/Aはい
skip_limit無視して処理を続行できる無効なDIIの最大数N/A500いいえ
uid2_limit_recordsUID2マッピングのために送信されるDIIの最大数N/A2.000.000.000いいえ
custom_batch_size1つのリクエスト内のDIIグループの数N/A10000いいえ
enable_auto_formatDIIメール値を自動的にハッシュ化するには、このオプションを有効にしますN/Atrueいいえ
custom_email_filter_import_uid2_identifierメールのフォーマット検証ルール。検証ルールを満たすメールはUID2への変換に使用されます。N/Aregexp_like(identifier, '''^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$''')いいえ
custom_phone_filter_import_uid2_identifier電話番号のフォーマット検証ルール。検証ルールを満たす電話番号はUID2への変換に使用されます。N/ANOT regexp_like(identifier, '''^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$''')いいえ
custom_email_hash_filter_import_uid2_identifierハッシュ化されたメールのフォーマット検証ルール。検証ルールを満たすハッシュ化されたメールはUID2への変換に使用されます。N/Aregexp_like(identifier, '^[a-zA-Z0-9+/]+={0,2}$')いいえ
custom_phone_hash_filter_import_uid2_identifierハッシュ化された電話番号のフォーマット検証ルール。検証ルールを満たすハッシュ化された電話番号はUID2への変換に使用されます。N/Aregexp_like(identifier, '^[a-zA-Z0-9+/]+={0,2}$')いいえ
last_bucket_updated_time次回実行用の最後のバケットローテーション時間を保存N/A0いいえ
last_uid2_request_time次回実行用の最後のUID2リクエスト時間を保存 この値はttd_uid2_rqstテーブル内のレコードを選択するために使用されますN/AN/Aいいえ
last_uid2_request_index次回実行用の最後のUID2リクエストインデックスを保存 この値はttd_uid2_rqstテーブル内のレコードを選択するために使用されますN/AN/Aいいえ
DIIソースリスト
名前説明デフォルト値必須
src_dbDIIソースデータベースN/AN/Aはい
src_tblDIIソーステーブルN/AN/Aはい
src_id_col 利用可能な場合のIDカラム IDカラムがない場合は、文字列の"null"を使用してください(引用符なし)​N/AN/Aはい
src_dii_colソースDIIカラムの名前は任意の名前で構いませんN/AN/Aはい
src_dii_typ DIIのタイプ - EMAIL - PHONE - EMAIL_HASH - PHONE_HASH N/AN/Aはい

Workflowの監視

作成後、TDコンソールからWorkflowにアクセスして監視できます:

  1. 次の場所に移動します
  2. Data Workbench > Workflows
  3. API呼び出しで定義したproject_nameを検索します

プロジェクトを選択して

実行履歴を表示し、各実行のステータス、期間、ログを確認できます。

データベーステーブルの説明

ttd_uid2_idsテーブル

– トランザクションテーブル – メインTTD UID2テーブル

カラム説明
timeINTEGERレコードINSERTのUnixtime
src_dbVARCHARDII値のソースデータベース
src_tblVARCHARDII値のソーステーブル
src_id_colVARCHARDII値のソーステーブルのIDカラム
src_idVARCHARDIIの値のソーステーブル内のレコードのID値
src_colVARCHARDIIの値のソーステーブル内のソース列
src_typVARCHARDIIのタイプ。{EMAIL, PHONE}のいずれか
src_dataVARCHARソースDII値
advertising_idVARCHARUID2値(Service Operator ServiceのAPIではadvertising_idとして定義)
bucket_idVARCHARTTD Salt Bucket ID
is_currentINTEGERUID2(advertising_id列)に、期限切れでないSalt Bucketからの現在のUID2値が含まれているか? - 0(ゼロ) – いいえ – ttd_uid2_idsレコードが新規であるか、Salt Bucketの期限が切れていることを示します。いずれの場合も、新しいUID2をTTDから取得する必要があります。 - 1(1) – はい – ttd_uid2_idsレコードのadvertising_id列に現在のUID2があることを示します。新しいUID2をTTDから取得する必要はありませんis_currentの状態は各WF実行中に管理され、正常なWF実行後は常にすべてのレコードで値1(1)になっている必要があります。WF実行完了後に値0(ゼロ)のレコードがある場合、何か失敗したことを意味します。DII ↔︎ UID2マッピング失敗の2つの主な原因は次のとおりです。 - DIIフォーマットが正しくないため、UID2 Service Operatorでマッピングできません。たとえば、メールアドレスが有効なメール形式ではない(ドメインにTLD拡張子がない)場合、Operatorでマッピングできません。電話番号は有効なE.164形式である必要があります。なお、Operatorは、期待される形式であれば、メールアドレスまたは電話番号をマッピングします。メールアドレス/電話番号が実際に有効または機能している必要はありません。 - 何らかの理由でTD UID2マッピングワークフローが失敗しました。

ttd_uid2_ids_archive – トランザクションテーブル – メインUID2テーブル

ttd_uid2_idsテーブルと同じスキーマですが、is_currentは常に-1の値を持ち、アーカイブレコードを示します。

COLUMNTYPEDESCRIPTION
timeINTEGERレコードINSERTのUnixtime
src_dbVARCHARDIIの値のソースデータベース
src_tblVARCHARDIIの値のソーステーブル
src_id_colVARCHARDIIの値のソーステーブルのID列
src_idVARCHARDIIの値のソーステーブル内のレコードのID値
src_colVARCHARDIIの値のソーステーブル内のソース列
src_typVARCHARDIIのタイプ。{EMAIL, PHONE}のいずれか
src_dataVARCHARソースDII値
advertising_idVARCHARTTD UID2値(Operator ServiceのAPIではadvertising_idとして定義)
bucket_idVARCHARSalt Bucket ID
is_currentINTEGERアーカイブされたレコードを示すために、常に値-1(マイナス1)になります。

ttd_bucket_resp – ステージングテーブル – UID Salt Bucket Rotation APIレスポンス用

このテーブルは、Salt Bucket rotation APIのsince_timestampを計算するためにも使用されます。このテーブルはステージングテーブルに分類されていますが、次のWF実行でsince_timestampを正確に計算するために必要なため、レコードを手動で削除してはいけません

このテーブルのレコードが誤って削除された場合は、ttd_uid2_idsテーブル内のすべてのレコードに対してUID2を再マッピングすることをお勧めします。

COLUMNTYPEDESCRIPTION
timeINTEGERレコードINSERTのUnixtime
bucket_idVARCHARUID Salt Bucket ID
last_updatedVARCHARこのSalt BucketがOperatorによって最後に更新された日時のISO 8601形式のタイムスタンプ(このWFでは使用されず、分析目的)。

ttd_uid2_rqst – ステージングテーブル – UID Map APIリクエスト用

COLUMNTYPEDESCRIPTION
timeINTEGERレコードINSERTのUnixtime
rnk_numLONGこのUID2 Service Operator APIバッチリクエストのシーケンス番号
ttd_uid2_rqstVARCHARUID2 Service Operator APIバッチリクエストの実際のJSONペイロード。簡潔性と利便性のためにVARCHARとして保存された論理的で有効なJSONです。暗号化されていないプレーンテキストとして保存されます。TD Pythonクライアントスクリプトは、すべてのセキュリティと暗号化/復号化を内部で管理します。

ttd_uid2_resp – ステージングテーブル – UID2 Map APIレスポンス用

COLUMNTYPEDESCRIPTION
timeINTEGERレコードINSERTのUnixtime
rnk_numLONGこのUID2 Service Operator APIバッチリクエストのシーケンス番号(このWFでは使用されず、分析目的)。
identifierVARCHARDII値、EmailまたはPhoneのいずれか
advertising_idVARCHARUID2値(Operator ServiceのAPIではadvertising_idとして定義)
bucket_idVARCHARSalt Bucket ID
unmapped_reasonVARCHARUID2マッピングのアンマップ理由

次のステップ

UID2ワークフローが正常に実行されると、指定された宛先データベースにUID2が保存されます。

  • ttd_uid2_idsテーブルにadvertising_idがあります。advertising_idの値はUID2です

ユーザーはID値をオーディエンスデータに組み込み、UID2 ID値に基づいてTrade Deskへのエクスポート統合を通じてセグメンテーションをアクティブ化します。

https://docs.treasuredata.com/articles/#!int/the-trade-desk-export-integration

付録: Workflowを使用したワークフローの作成

API経由でUID2ワークフローを作成する代わりに、ユーザーはワークフローを使用してUID2ワークフローを作成できます。

ワークフローの実行

ワークフローを定義して実行するには2つのオプションがあります

  1. TD Console > Data Workbench > Workflowsでグラフィカルインターフェースを使用する
  2. TD Toolbeltのコマンドラインインターフェースを使用する

TD Consoleを使用する方がコマンドラインインターフェースよりも簡単ですが、TD CLIツールはより複雑な設定のためのオプションを提供します。

TD Workflowの構文と使用方法の詳細については、こちらを参照してください

ワークフロー定義

_export:
  # Base configuration
  gateway_url: https://integrations-gateway.us01.treasuredata.com/integration_workflow/workflows/uid2/
  uid2_apikey: {uid2_apikey}
  uid2_secret: {uid2_secret}
  td_apikey: {td_apikey}
  host: {host}
  td_host: "api.treasuredata.com",


  # Database configuration
  database_name: {database_name}

  # Project configuration
  project_name: {project_name}
  revision: {project_revision}


+trigger_uid2_workflow:
  +prepare_request:
    echo>: "Preparing HTTP request to UID2 integration gateway"

  +execute_uid2_call:
    http>: ${gateway_url}
    method: POST
    headers:
      - Authorization: "TD1 ${td_apikey}"
      - Content-Type: "application/json"
    content: |
      {
        "type": "uid2",
        "plugin_config": {
          "type": "uid2",
          "host": "${host}",
          "apikey": "${uid2_apikey}",
          "secret": "${uid2_secret}",
          "database": "${database_name}",
          "td_apikey": "${td_apikey}",
          "td_host": "${td_host}",
          "last_bucket_updated_time": "2025-04-28T07:02:00",
          "uid2_limit_records": 2000000000,
          "enable_auto_format": true,
          "skip_limit": 500,
          "td_uid2_src_lst": [
            {
              "src_db": "source_database",
              "src_tbl": "email_table",
              "src_id_col": "129212",
              "src_dii_col": "userid",
              "src_dii_typ": "EMAIL"
            }
          ],
          "custom_batch_size": 5000,
          "custom_email_filter_import_uid2_identifier": "regexp_like(identifier, '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$')",
          "custom_phone_filter_import_uid2_identifier": "NOT regexp_like(identifier, '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$')"
        },
        "workflow_config": {
          "project_name": "${project_name}",
          "revision": "${revision}",
          "schedule": "daily>: 07:00:00",
          "timezone": "America/Los_Angeles"
        }
      }
    retry: 3
    store_content: true

  +echo_result:
    if>: ${http.last_content != null}
    _do:
      echo>: "Response details: ${http.last_content}"

+error_handling:
  _error:
    echo>: "Error triggering UID2 workflow. Check logs for details."

パラメータリファレンス

Workflow config

名前説明デフォルト値必須
project_nameWorkflowのプロジェクト名 各UID2セットアップごとに異なるproject_nameを使用してくださいN/AN/Aはい
revisionプロジェクトのリビジョン 異なるリビジョンを使用すると、同じ名前のプロジェクトが存在する場合、既存のプロジェクトが上書きされる可能性がありますN/AN/Aはい
scheduleWorkflowのスケジュール 時刻を含む日次スケジュールである必要があります サポートされている値と詳細な手順については、Treasure Dataのドキュメントをご覧ください: 🔗 Scheduling Workflows – Treasure Data DocsN/AN/Aはい
timezoneスケジュールを設定するタイムゾーンN/AUTCいいえ

Plugin config

名前説明デフォルト値必須
typeプラグインタイプuid2N/Aはい
hostuid2ホスト https://unifiedid.com/docs/getting-started/gs-environmentsから取得N/AN/Aはい
apikeyUID2 APIキーN/AN/Aはい
secretUID2 APIクライアントシークレットN/AN/Aはい
databaseTD内のデータベース名N/AN/Aはい
td_apikeyTD APIキーN/AN/Aはい
td_hostTD APIホストN/AN/Aはい
td_uid2_src_lstUID2マッピング用にインポートされるDIIテーブルのリストN/AN/Aはい
skip_limit無視して処理を続行できる無効なDIIの最大数N/A500いいえ
uid2_limit_recordsUID2マッピングのために送信されるDIIの最大数N/A2.000.000.000いいえ
custom_batch_size1つのリクエストでのDIIグループの数N/A10000いいえ
enable_auto_formatDIIメール値を自動的にハッシュ化するオプションを有効にしますN/Atrueいいえ
custom_email_filter_import_uid2_identifierttd_uid2_idsにインポートするためのカスタムメール条件N/Aregexp_like(identifier, '''^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$''')いいえ
custom_phone_filter_import_uid2_identifierttd_uid2_idsにインポートするためのカスタム電話番号条件N/ANOT regexp_like(identifier, '''^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$''')いいえ
custom_email_hash_filter_import_uid2_identifiettd_uid2_idsにインポートするためのカスタムemail_hash条件N/Aregexp_like(identifier, '^[a-zA-Z0-9+/]+={0,2}$')いいえ
custom_phone_hash_filter_import_uid2_identifiettd_uid2_idsにインポートするためのカスタムphone_hash条件N/Aregexp_like(identifier, '^[a-zA-Z0-9+/]+={0,2}$')いいえ
last_bucket_updated_time次回実行のための最後のバケットローテーション時刻を保存N/A0いいえ
last_uid2_request_time次回実行のための最後のUID2リクエスト時刻を保存 この値はttd_uid2_rqstテーブルのレコード選択に使用されますN/AN/Aいいえ
last_uid2_request_index次回実行のための最後のUID2リクエストインデックスを保存 この値はttd_uid2_rqstテーブルのレコード選択に使用されますN/AN/Aいいえ

Dii source list

名前説明デフォルト値必須
src_dbDIIソースデータベースN/AN/Aはい
src_tblDIIソーステーブルN/AN/Aはい
src_id_col ID列(利用可能な場合) ID列がない場合は、リテラル用語「null」を使用してください(引用符なし)​N/AN/Aはい
src_dii_colソースDII列の名前(任意の名前を使用可能)N/AN/Aはい
src_dii_typ DIIのタイプ - EMAIL - PHONE - EMAIL_HASH - PHONE_HASH N/AN/Aはい

EUIDについて

European Unified ID

EUIDは、独自の一意な名前空間を持つオープンソースのスタンドアロンソリューションであり、UID2フレームワークをベースに構築されています。UID2とEUIDの主な違いは、同意の実践、データ主体の権利、参加者間の義務に関するより厳格なヨーロッパおよび英国のデータ保護法によるものです。それ以外では、EUIDはUID2と同じ指導原則に従っています。

参照: https://euid.eu/docs/intro

比較項目UID2EUID
オープンソースフレームワークはいはい
相互運用性はいはい
使用される個人データメールアドレス、電話番号メールアドレス、電話番号
同意カリフォルニア州プライバシー権法(CPRA)やカリフォルニア州消費者プライバシー法(CCPA)などの地域規制に基づく一般データ保護規則(GDPR)、IABが運営する透明性と同意フレームワーク(TCF)、および地域の規制ガイダンスによって推進される

すべてのEUIDは、異なるベースURLを使用します: https://euid.eu/docs/getting-started/gs-environments