ユニバーサルデータオブジェクト(utag_data)
ユニバーサルデータオブジェクト(UDO)
データレイヤーはTealiumソリューションの基盤であり、すべてのデジタル資産と顧客インタラクション全体にわたって唯一の真実のデータを定義する機能を果たします。データレイヤーは、サイト全体で収集されるさまざまな変数と、トラッキングされる訪問者とのやり取りやイベントで構成されます。
データレイヤーはutag_data
と呼ばれるJavaScriptオブジェクトとしてウェブサイト上に実装されます。このオブジェクトでは、ページから取得したデータにTealiumタグが適用されます。このオブジェクトのプロパティには、ビジネスに合わせてベンダーに依存しないわかりやすい名前を使用します。
以下はutag_data
の宣言の例です。
<script type="text/javascript">
var utag_data={
"tealium_event" : "search",
"page_name" : "Search Results",
"search_results" : "42",
"search_keyword" : "Tealium shirt"};
</script>
ユニバーサルタグ(utag.js
)を読み込む前に、utag_data
オブジェクト変数を定義してこの変数に値を入力する必要があります。
utag.js
はページを読み込むと、utag_data
変数を探し、そのデータを使用して、自動でutag.view()
を介してページビューのトラッキングコールをトリガーします。単一ページのアプリケーションを使用しているか、またはutag.view()
を手動でコールしている場合は、utag_data
が不要な場合があります。
ページトラッキングオプションの詳細については、こちらを参照してください。
構文ガイドライン
UDOを実装する場合は、従うべき一定のガイドラインがあります。これらのガイドラインは、実装においてエラーや不統一を避けるためだけでなく、JavaScriptおよびTealiumの標準に準拠するためにも必要です。
- 文字列値 ブーリアン値データや数値データを含むすべての変数に文字列値を使用します。
- エスケープ引用符
すべての値を二重引用符または一重引用符で囲み、値そのものに出現する可能性のある引用符をエスケープします。たとえば、
utag_data.page_name = 'It's All About the Data!';
などです。 - ブーリアン値
ブーリアン値には、
true
とfalse
を表す"1"
と"0"
を使用します。これは、文字列を使用してブーリアン値を表す最も簡単な方法です。 - 金額値
すべての金額に文字列を使用し、すべての通貨記号とカンマを除外します。たとえば、
"$1,234.00"
ではなくutag_data.order_total = "1234.00";
のようにします。 - 配列値
製品関連のすべての変数に配列値を使用します。Tealiumライブラリと各ベンダータグ統合は、製品関連のすべてのデータに対して配列を使用するよう設計されています。たとえば、ID、価格、数量などです。
utag_data.product_id = ["P1234", "P4567", "P7890"];
- 余分なコードの回避 UDOスクリプトブロックに余分なコードを追加しないでください。同じスクリプトブロック内のコードが実行に失敗する場合は、UDOが正しく定義されていない可能性があり、予期しないデータがベンダータグに渡される可能性があります。
例
標準ページ
以下は、ページに表示されるとおりの_サンプル_のUDOです。この例では、カートに2つの製品が入っている状態で”ショッピングカート”のページに表示される可能性があるプロパティを示しています。
<script type="text/javascript">
var utag_data = {
"tealium_event" : "cart_add",
"country_code" : "US",
"currency_code" : "USD",
"page_name" : "Cart: View Shopping Bag",
"page_type" : "cart",
"product_id" : ["PROD123", "PROD456"],
"product_name" : ["Red Shoes", "Black Socks"],
"product_category" : ["Footwear", "Apparel"],
"product_quantity" : ["1", "2"],
"product_unit_price" : ["65.00", "4.75"],
"cart_total_items" : "3",
"cart_subtotal" : "74.00"};
</script>
必要な場合は、宣言ブロックの外にある追加の値でUDOを更新します。ただし、utag.js
を読み込む前にそのデータを設定する必要があります。utag.js
の読み込み後に設定されたUDO変数は無視されます。
<script type="text/javascript">
utag_data["page_name"] = "View Cart";
</script>
ページ固有のデータ
UDOに入力する場合は、現在のページタイプに関係する変数のみを含めるようにしてください。これにより、ページのコードが乱雑になるのを避けることができ、求められるデータについて混乱することがなくなります。以下は、製品および発注データなどの不要な項目を省いた検索ページUDOの例です。
<script type="text/javascript">
var utag_data={
"page_name" : "Search Results",
"page_type" : "search",
"search_results" : "42",
"search_keyword" : "tennis shoes"};
</script>
製品配列
設定する製品が1つだけの場合でも、製品変数は配列として入力する必要があります。以下は、製品ID変数に1つの製品IDを設定した例(製品詳細ページなどの場合)と、3つの製品IDを設定した例(ショッピングカートページなどの場合)です。
// Single product. For example, product detail page
utag_data["product_id"] = ["PROD123"];
// Multiple products. For example, cart page
utag_data["product_id"] = ["PROD123", "PROD456", "PROD789"];
配列の整合性
データの整合性を確保する観点から、すべての製品配列変数に含まれる要素の数を揃える必要があります。この例では、各配列の最初の要素が最初の製品に対応していることに注意してください。この製品と関連付けられているプロパティ(ID、価格、量など)は、すべて各配列の最初の要素で出現します。一方、2つ目の製品のプロパティは各配列の2つ目の要素で出現し、3つ目以降も同様です。
// Product 1:
// ID = PROD123
// Price = 3.00
// QTY = 1
//
// Product 2:
// ID = PROD456
// Price = 5.00
// QTY = 1
//
utag_data["product_id"] = ["PROD123", "PROD456"];
utag_data["product_price"] = ["3.00", "5.00"];
utag_data["product_quantity"] = ["1", "1"];