ビジターデータエンリッチメント(/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日