ビジターデータエンリッチメント(/vdata)を使用してデータをインポートする
はじめに
EventStreamにデータを取り込むための以下の2つの標準的な方法については、おそらくご存知でしょう。
- Tealium iQ内で構成された、ウェブサイトのイベントデータをEventStreamにトリガーするTealium Collectタグ。
- EventStreamにビジターデータを一括でインポートするプロセスを管理するファイルインポートデータソース。
EventStreamがデータを受け取るための第3の方法があることをご存知でしたか?この追加の方法はビジターデータエンリッチメントと呼ばれ、任意の外部システムからEventStreamにリアルタイムのデータ更新を送信するために使用できます。以下のセクションでは詳細と例を提供します。
/vdata/i.gifとは何ですか?
-
Tealium Collectエンドポイントの
/vdata/
パスは、トラッキングピクセルに伝統的な名前/値のペア形式で通常データを受け取るために使用されます。//my.domain.com/my.gif?name1=value1&name2=value2
-
/vdata/
URLには特別で必須のキー値がいくつかあります(“tealium_“で始まるもの)、それ以外のものはすべてデータレイヤーを構築するために使用されます//collect.tealiumiq.com/vdata/i.gif?tealium_account=ACCOUNT&tealium_profile=PROFILE&tealium_vid=ID&name1=value1&name2=value2
-
データ収集は特定の地域に限定できます。
例えば、ドイツでのデータ収集のみにする場合はcollect-eu-central-1.tealiumiq.com
を使用します
ポテンシャルな使用ケース
以下のリストは、ビジターデータエンリッチメントの潜在的な使用例を説明しています。
- EventStream経由でベンダーにデータを送信する
モバイルアプリは、アプリケーションから直接データをEventStreamにトリガーし、webviewをスキップして、Tealiumの/vdata/i.gif
を使用する能力を持っています。 - クッキーシンクサービスのエンドポイントとして使用する
これにより、タグベンダーは/vdata/i.gif
の場所にリダイレクトし、自分のビジターIDをEventStreamに送信することができます - インプレッショントラッキング
ディスプレイ広告は通常、iFrame内にロードされます。ビジターデータエンリッチメントは、どの広告がビジターに表示されたかを追跡するのに役立ちます。 - CMS/CRM/BI/その他のシステムがJSONオブジェクトのデータをEventStreamにPOSTする
この方法は、ブラウザを通じて供給したくない機密データをシステムが生成する場合、またはEventStreamがビジターに対するアクションをリアルタイムで取るためにデータが必要な場合に使用できます。
Tealium RESTエンドポイントの必須パラメーター
以下の表は、Tealium RESTエンドポイントの必須パラメーターを説明しています:
パラメーター | 説明 |
---|---|
tealium_account |
EventStream/Tealium iQのアカウント名 |
tealium_profile |
EventStreamが構成されているプロファイル名 |
tealium_vid |
トラッキングリクエストが発生するユニークなビジターIDまたはセカンダリID(エンコードされたメールアドレスやデバイスIDなど) |
tealium_trace_id |
任意。Trace機能でテストする場合のみ必要 |
サンプルGETリクエスト
GET //collect.tealiumiq.com/vdata/i.gif?tealium_account=ACCOUNT&tealium_profile=PROFILE&tealium_vid=ID&ut.event=view&page_name=product_detail&product_id=sku123456
これがメールに埋め込まれているとどのように見えるか
<img src="//collect.tealiumiq.com/vdata/i.gif?tealium_account=ACCOUNT&tealium_profile=PROFILE&tealium_vid=ID&ut.event=view&email_id=december2015&content_type=
/vdata/i.gif
の使用は、ビジターデータエンリッチメントを使用する最も一般的な方法であり、強く推奨します。サーバーから直接データを異なる形式で送信する際の制限や要件がある場合、以下のセクションでその方法を提供します。
JavaScriptを使用したサンプルGETリクエスト
以下の例は、表示広告をコーディングして、インプレッショントラッキング情報をEventStreamに送信する方法を示しています。
//データのオブジェクトを作成します
var a={
"data":{
"event_name":"ad_tracking",
"ad_image_id":"%%macro_to_get_ADID%%",
"ad_advertiser_id":"%%macro_to_get_ADVID%%",
"ad_campaign_id":"%%macro_to_get_CAMPID%%",
"ad_user_id":"%%macro_to_get_USERID%%"
},
"event":"view"
}
//GETイベントのためにオブジェクトを文字列化します
var json_string = JSON.stringify(a);
//データをcollectエンドポイントに送信します
var img = new Image();
img.src='//collect.tealiumiq.com/account/profile/2/i.gif?data='+encodeURIComponent(json_string);
サンプルPOSTリクエスト
POSTリクエストの例はGETと似ていますが、POSTでデータを送信する際のデータ量の制限はGETと比べて少ないです。
JavaScriptを使用したサンプルPOSTリクエスト
//データのオブジェクトを作成します
var a={
"data":{
"event_name":"myEvent",
"customer_id":"user1@tealium.com",
"cp.trace_id":"12345"
},
"event":"view" //イベントのタイプに応じてこれを"link"または"view"に変更します
}
//POSTイベントのためにオブジェクトを文字列化します
var json_string = JSON.stringify(a);
//データをcollectエンドポイントにPOSTします
if (json_string!="") {
var formData = new FormData();
formData.append("data", json_string);
function postData(data) {
var xhr = new XMLHttpRequest();
xhr.open('post', "//collect.tealiumiq.com/account/profile/2/i.gif", true);
xhr.withCredentials = true;
xhr.send(data);
}
postData(formData);
}
cURLを使用したサンプルPOSTリクエスト
以下の例は、コマンドラインインターフェース(CLI)またはMacのターミナルからEventStreamにデータをPOSTする方法を示しています。この例はテスト用に使用される可能性が高いです。
curl -H "Content-Type: application/json" -X POST -d '{"data":{"event_name":"myEvent","customer_id":"user1@tealium.com","cp.trace_id":"12345"},"event":"view"}' https://collect.tealiumiq.com/account/profile/2/i.gif
Pythonを使用したサンプルPOSTリクエスト
以下の例は、Pythonを使用してこれをプログラム的にコーディングして実行する方法を示しており、python.orgの例に基づいています。
import requests, json
body = {'data':{'event_name':'abc_score','cp.trace_id':'04759','abc_score':'0.56','customer_id':'9999999'},'event':'view'}
headers = {"Content-Type": "text/plain","Accept": "image/gif"}
r = requests.post(' https://collect.tealiumiq.com/account/profile/2/i.gif', data = json.dumps(body), headers=headers);
この例ではPythonの"Requests"モジュールを使用しており、以下のコマンドでインストールできます:
pip2 install requests
Python3の場合は:
pip3 install requests
を使用します。
完了したら、更新して適切にテストしてください。
最終更新日 :: 2024年March月29日