エンドポイント仕様
この記事では、イベントのためのHTTP APIを使用してTealium Customer Data Hubにデータを送信する方法について説明します。
この記事では、HTTPリクエストを送信するアプリケーションで使用される直接のHTTPエンドポイントの仕様を提供します。
Tealium Collect URL
Tealium Collectは、次のルートURLにあります:
https://collect.tealiumiq.com/event
レート制限
Tealium Collect APIは、最大100リクエスト/秒のレート制限をサポートしています。レート制限を超える場合、TealiumはHTTP 429レスポンスを送信し、リクエストが多すぎることを示します。
ビジネスのニーズによっては、より高いコール制限が必要な場合は、Tealiumのアカウントマネージャーに連絡してください。
標準パラメータ
Tealium Collectは、各リクエストで以下の標準パラメータをサポートしています:
tealium_account
:Tealiumアカウントの名前。tealium_profile
:Tealiumプロファイルの名前。デフォルトはmainです。tealium_datasource
:(オプション)Customer Data Hubのデータソースキー。詳細については、データソースについてを参照してください。tealium_event
:(推奨)トラッキング目的のイベントの名前。tealium_visitor_id
:(AudienceStreamの場合必須)イベントに関連する訪問の一意の識別子([訪問識別子](#visitor-identifiers)セクションを参照)。データのソースによっては、この識別子が、訪問が使用しているデバイスに関連付けられた匿名のGUID(グローバルユニーク識別子)である場合もあります。または、訪問の既知のユーザー識別子に基づいている場合もあります。tealium_trace_id
:(オプション)トレースで使用するため。
リクエストの形式は、使用されるHTTPメソッドによって異なります。以下の例では、プレースホルダの値は、次の形式で波括弧で表されます:{VALUE}
。
カスタムイベントパラメータ
追加のイベント属性は、トラッキングのニーズに応じてカスタムパラメータとして送信されます。これらのパラメータは、Customer Data Hubのイベント属性としても定義する必要があります。イベント属性についての詳細は、属性についてを参照してください。
訪問識別子
AudienceStreamは、次の組み合わせを使用して訪問を追跡します:
- 匿名ID:通常、訪問を匿名で追跡するために使用されるID(たとえば、デバイスやブラウザから)。既知の訪問の場合、ユーザー識別子に基づいた値を使用できます。
- ユーザー識別子:訪問が既知の場合に送信されます。特定のデバイスではなく、ユーザーを識別する値に基づいています。
匿名ID
匿名IDは、AudienceStreamがイベントと訪問を関連付けるために使用する匿名の識別子です。この値がGUIDであり、訪問に対して一貫していることを確認してください。
匿名IDのキー名はtealium_visitor_id
です。
ビジネスケースに応じて、匿名の値または既知のユーザー識別子に基づいた値を使用できます。
匿名の値
AudienceStream | EventStream |
---|---|
必須 | N/A |
Tealium iQ Tag Managementを使用して、APIコールをサーバー間で送信して匿名の訪問プロファイルをエンリッチする場合、tealium_visitor_id
の値はutag_main_v_id
クッキーの値と一致する必要があります。utag.jsからの組み込み変数についての詳細は、JavaScript(Web)>データレイヤーを参照してください。
Adobe LaunchまたはGoogle Tag Managerを使用している場合、値はTEALクッキーのv
の部分と一致する必要があります。
既知の訪問サーバー間
AudienceStream | EventStream |
---|---|
必須 | 推奨 |
既知の訪問のデータを送信する場合(email_address
などの訪問ID属性に値が存在する場合)、次のものを連結して送信データを作成します:
-
アカウント
-
プロファイル
-
訪問ID属性のIDと値
属性リストまたは展開された詳細内の属性名の横に訪問ID属性のIDが表示されます。詳細については、属性についてを参照してください。
-
tealium_visitor_id
パラメータ内の値
たとえば、次の値の場合:
- アカウント名:
my-account
- プロファイル:
main
- 訪問ID属性のID:
7688
- 渡したい顧客番号の値:
45653454
次のようにこれらの値を連結します:
tealium_visitor_id":"__my-account_main__7688_45653454__"
続行する前に、tealium_visitor_id
が正しくフォーマットされていることを確認してください。正しくフォーマットされていないパラメータは、AudienceStreamでエラーを引き起こす可能性があり、正しくトラッキングされない場合があります。
JSONの例:
{
"tealium_account" : "my-account",
"tealium_profile" : "main",
"tealium_event" : "user_login",
"email_address" : "user@example.com",
"tealium_visitor_id" : "__my-account_main__7688_45653454__"
}
匿名の訪問または既知の訪問を使用する場合、APIコールに一貫したtealium_visitor_id
が含まれていない場合、各イベントは新しい訪問となり、訪問のスティッチングができなくなります。
ユーザー識別子
AudienceStreamを使用する場合、トラッキングコールに既知のユーザー識別子を渡すことができます。たとえば、email_address
やlogin_id
です。
ベンダーコネクタにIDを提供する必要がある場合、EventStreamを使用している場合も、ユーザー識別子が必要です。
AudienceStreamでは、これらのユーザー識別子を使用して訪問ID属性を豊かにします。
訪問の切り替え
ファーストパーティのクッキーが利用できない場合、サーバーサイドは次の優先順位で入力データを使用して訪問のIDを決定します:
TAPID
クッキー、またはtealium_thirdparty_visitor_id
とも呼ばれますtealium_visitor_id
utag_main v_id
、またはtealium_firstparty_visitor_id
とも呼ばれます
AudienceStreamは、TAPID
のIDを他のIDよりも優先して訪問プロファイルを決定するため、同じデバイス上の複数のユーザーのトラッキングに問題が発生する可能性があります。
たとえば、ユーザーがログインし、そのIDがTAPID
に追加された場合、デバイス上のすべての匿名ユーザーのトラフィックがそのユーザーに記録されます。そして、2番目のユーザーがそのデバイスにログインした場合、匿名クッキーがクリアされていないと仮定すると、AudienceStreamは引き続き最初のユーザーのアクティビティを記録します。訪問が共有のスマートテレビや公共のキオスクを使用している場合、これにより訪問のプロファイルのデータが汚染される可能性があります。
イベントでtealium_visitor_id
とtealium_thirdparty_visitor_id
の値をエンドポイントがどのように処理するかを制御するために、次のパラメータを使用します:
パラメーター | タイプ | 説明 |
---|---|---|
tealium_override_tapid |
文字列 | tealium_visitor_id とtealium_thirdparty_visitor_id をこの値で上書きします。 |
tealium_skip_3rd_party_vid_cookies |
ブール値 | TAPID サードパーティクッキーの収集をスキップするには、true に構成します。 |
tealium_delete_3rd_party_vid_cookies |
ブール値 | TAPID サードパーティクッキーを削除するには、true に構成します。 |
tealium_override_tapid
の値は、tealium_delete_3rd_party_vid_cookies
パラメータがクッキーを削除しないようにします。- TAPIDから
account/profile
情報を削除すると、そのクッキーが空になる場合、クライアントからそのクッキーを削除するためにset-cookie maxAge=0
が返されます。
メソッド
ブラウザからCollect APIトラフィックを送信する場合、GETメソッドはリクエストのHTTPリファラURLを基にページURLをベースにします。これにより、現在のページのクエリパラメータやパス名は含まれません。この情報を含めるには、POSTメソッドを使用してください。
GET
GETメソッドは、指定されたリソースからデータを要求するために使用されます。エンドポイントのクエリ文字列でキーと値のペアを使用してデータを渡し、HTMLベースの実装と互換性を持たせるために1x1の透明なGIFを返します。
curlを使用した例:
curl -i -X GET "https://collect.tealiumiq.com/event?tealium_account={ACCOUNT}&tealium_profile={PROFILE}&tealium_event=user_login&email_address=user@example.com"
POST
POSTメソッドは、サーバーにデータを送信してリソースを作成/更新するために使用されます。リクエストヘッダーはContent-Type: application/json
に構成し、ペイロードは有効なJSON文字列としてフォーマットする必要があります。
user_login
イベントの例:
{
"tealium_account" : "ACCOUNT",
"tealium_profile" : "PROFILE",
"tealium_event" : "EVENT_NAME",
"email_address" : "EMAIL_ADDRESS"
}
curlを使用した例:
curl -X POST -H 'Content-type: application/json'
--data '{"tealium_account":"{ACCOUNT}","tealium_profile":"{PROFILE}","tealium_event":"user_login","email_address":"user@example.com"}'
https://collect.tealiumiq.com/event
ステータスコード
次の表は、TealiumのHTTPレスポンスステータスコードをまとめたものです:
ステータスコード | 説明 |
---|---|
200 Status OK |
リクエストが成功しました |
400 Bad Request |
サーバーがリクエストを理解できません |
400 Bad Request
ステータスコードは、次のいずれかが真である場合に発生します:
- JSONキーにピリオドが含まれているか、無効であるか、サイズが1MBを超えている
- ファイルタイプパラメータに「json」または「javascript」以外の値が含まれている
account
、profile
、およびdatalayer_id
の組み合わせが250文字を超えているか、制限された文字を含んでいるtealium_account
またはtealium_profile
が欠落しているか、誤字が含まれている- リクエストボディが空です
次は、400 Bad Request
レスポンスの例です。必須のtealium_account
またはtealium_profile
パラメータの値が欠落している場合、X-Error
ヘッダーに表示されます:
> GET /event?tealium_account=jentest-as&tealium_profile=&tealium_visitor_id=sendgeteventhttps@testing.com&tealium_datasource=utc2cj&customer_city=Honolulu&customer_state=Hawaii&Flag=true&Number=45&String=ascent&String_Array=[hello,howareyou,whatsup,yoyoyo]&Number_Array=[2.222,3.000,19.12,28.3]&Flag_Array=[true,false,false,true]&Combo_Array=[1,salutations,2324,world,22jjfssl]&Array_of_Array=[[1,2,3],heyworld]&myvariable=unicorns HTTP/1.1
> Host: qa21-collect.tealiumiq.com
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 400 Bad Request
< Cache-Control: no-transform,private,no-cache,no-store,max-age=0,s-maxage=0
< Content-Type: application/json
< Date: Wed, 23 Oct 2019 17:10:51 GMT
< Expires: Wed, 23 Oct 2019 17:10:51 GMT
< P3P: policyref="/w3c/p3p.xml", CP="NOI DSP COR NID CUR ADM DEV OUR BUS"
< Pragma: no-cache
< Vary: Origin
< X-Error: Missing required tealium_account or tealium_profile param value
< X-Region: us-east-1
< X-ServerID: uconnect_i-9a157d19
< X-ULVer: 1.0.331-SNAPSHOT
< X-UUID: d4fc78d1-8204-412c-a6cb-57869d2370a7
< Content-Length: 0
< Connection: keep-alive
例
HTMLの例
Tealium Collectは、HTML内の<img>
タグで参照されます。ブラウザのキャッシュのために、キャッシュバスターと呼ばれる追加のパラメータを含めることが重要です。このパラメータには、ランダムに生成された値が含まれます。次の例に示すように:
var cb=Math.random()*100000000000;
この変数は、Tealium Collectピクセルのクエリ文字列に追加されます:
<img height="1" width="1" style="display:none" src="//collect.tealiumiq.com/event?tealium_account={ACCOUNT}&tealium_profile={PROFILE}&tealium_event=user_login&email_address=user@example.com&cb=' + cb + '"/>
JavaScriptの例
Tealium Collectは、クロスドメインリクエストをサポートしており、ウェブサイトから当社のドメインにPOSTを送信することができます。次の例に示すように:
var event = {
"tealium_account" : "ACCOUNT",
"tealium_profile" : "PROFILE",
"tealium_event" : "EVENT_NAME",
"email_address" : "EMAIL_ADDRESS"};
var xhr = new XMLHttpRequest();
xhr.open("POST", "https://collect.tealiumiq.com/event");
xhr.send(JSON.stringify(event));
レスポンスヘッダーには、次のものが含まれます:
Access-Control-Allow-Origin: [http://your_domain.com](http://your_domain.com)
最終更新日 :: 2024年March月29日