データレイヤーオブジェクト (b)
データレイヤーオブジェクトへの変数エイリアスの使用方法を学びます。
仕組み
b
変数は、データレイヤーを表すutag.js
内のJavaScriptオブジェクトです。ページの読み込みやトラッキング呼び出し中に処理されるデータレイヤーオブジェクトを保持しています。
Tealium iQでは、データレイヤー変数は通常、ドロップダウンリストを使用して参照されますが、b
変数を使用してJavaScriptコード内で参照することもできます。
例えば、Set Data Values拡張の一般的な使用例は、変数がまだ構成されていない場合にデフォルト値を構成することです。拡張は次のようになるかもしれません:
utag.js
では、この拡張は次のようにJavaScriptコードで表現されます:
function(a, b) {
try {
if (typeof b['page_type'] == 'undefined') {
b['page_type'] = "generic"
} catch (e) {
utag.DB(e);
}
}
}
b
変数はデータレイヤーオブジェクトへのローカル参照であり、b['page_type']
はUDO変数page_type
への参照です。同様に、拡張機能でカスタムJavaScriptを使用するときは、b
を使用してデータレイヤーオブジェクト内の任意の変数を参照できます。
utag.js
バージョン4.39以前では、トラッキング呼び出し中のb
オブジェクトの内容はutag.data
の完全なコピーです。この更新についてはリリース4.40で詳しく説明しています。
使用場所
b
オブジェクトはutag.js
の特定のセクション内のローカルスコープ変数であり、次の拡張スコープで利用可能です:
- Before Load Rules
- After Load Rules
- Tag Scope
- After Tags
次のスコープではb
オブジェクトを参照することはできません:
- Pre Loader
Pre Loaderにスコープされた拡張は、b
オブジェクトが作成される前に実行されるため、b
オブジェクトを参照することはできません。 - DOM Ready
DOM Readyにスコープされた拡張は、メインスコープの外部で実行されるため、b
オブジェクトを参照することはできません。
シナリオ:ページの読み込み
標準的なページの読み込みでは、b
オブジェクトはページ上のすべてのデータ、ユニバーサルデータオブジェクトを含むコレクションです。
例えば、次の例では、拡張機能でb['page_type']
を参照できます:
<script>
var utag_data = {
page_type: "home"
}
</script>
<script src="//tags.tiqcdn.com/utag/example/main/prod/utag.js"></script>
シナリオ:トラッキング呼び出し
トラッキング呼び出しでは、b
オブジェクトはページ上のすべてのデータ(ユニバーサルデータオブジェクトを除く)と、トラッキング呼び出しに渡されたデータのコレクションです。
例えば、これらのトラッキング呼び出しでは、拡張機能でb['tealium_event']
を参照できます:
var tmp = { tealium_event: "link_click" };
utag.link(tmp)
utag.view({ tealium_event: "cart_add" })
この例では、b['page_type']
が定義されていないことに注意が必要です(utag_data
で定義されていても)これは、トラッキング呼び出しで渡されたデータオブジェクトの一部ではないからです。
ページから他のタイプのデータレイヤー変数を参照するには、使用法を参照してください。
トラッキング呼び出しでutag_data
の変数を含めるには、公開構成の基本変数構成を使用してください。
タグスコープの拡張
特定のタグにスコープされた拡張では、b
オブジェクトはデータレイヤーオブジェクトのローカルコピーです。これは、b
オブジェクトの値を他のタグに影響を与えずに変更できることを意味します。
これらの例では、データレイヤー変数order_id
がJavaScript Code拡張を使用して各タグでカスタマイズされています。各拡張では、b
はorder_id
の同じ値から始まります:
使用法
タグテンプレートや拡張機能でb
オブジェクト変数を参照するには、各変数タイプの正しい構文を使用する必要があります。
各変数タイプの構文は次のとおりです:
変数タイプ | 構文 |
---|---|
ユニバーサルデータオブジェクト | b['VAR_NAME'] |
JavaScriptページ | b['js_page.VAR_NAME'] |
クエリストリング | b['qp.VAR_NAME'] |
標準クッキー | b['cp.VAR_NAME'] |
DOM要素 | b['dom.VAR_NAME'] |
メタデータ | b['meta.VAR_NAME'] |
ローカル保存 | b['ls.VAR_NAME'] |
セッション保存 | b['ss.VAR_NAME'] |
詳細については、データレイヤー変数タイプを参照してください。
最終更新日 :: 2024年April月30日