バージョン4.26のノート
バージョン4.26の変更点と最新バージョンへの更新方法について学びます。
すべてのリリースノートについては、Tealium for Javascriptリリースノートを参照してください。
概要
utag.view()
とutag.link()
の呼び出しの両方でロードルールが再評価されます。
utag.js
4.26ファイルがクエリストリングパラメータとメタタグを扱う方法の変更により、これらはデフォルトでは小文字にならなくなりました。プロファイルでクエリストリングパラメータやメタタグをデータソースとして識別している場合、データレイヤータブでそれらのデータソース名を更新して、大文字と小文字を正確に一致させる必要があるかもしれません。
カスタムスクリプトソースはブロッキングタグです
ブロッキングタグは、他のすべてのタグが実行される前に実行しなければならないタグです。タグのカスタムスクリプトソースの高度な構成の場所を入力すると、このタグは自動的にブロッキングタグになります。このタグは非同期でロードされますが、その後の非同期スクリプトは、例えばutag.10.js
はブロッキングタグが完了するまでロードされません。
ベストプラクティス: タグにカスタムJavaScriptをロードしたいが、それをブロッキングタグにしたくない場合は、Tealium Generic Tagを使用してロードします。
Waitフラグの改善
Wait Flagが"No"に構成されているタグは、utag.js
ファイルがロードされた直後にロードされ、発火します。Wait Flagが"No"に構成されているタグは、Tealium iQ内で早くロードされると、その順序に関係なく早く発火する可能性があります。例えば、Tag 2がTag 1よりも先にロードされ、Tag 1がTealium iQのTagsタブで上位に配置されている場合、Tag 2は順序に関係なく早く発火する可能性があります。以前は、タグはTealium iQで指定された順序で実行され、その後、順序で上位に配置されたタグがロードされるのを待ってから自身をロードしていました。
これは、プロファイル内にWait Flagが’No’に構成されているタグとWait Flagが’Yes’に構成されているタグが混在している可能性があることを意味します。
トラッキングコールが新しいタグをロードします
初期ページロード後、utag.view()
への後続の呼び出しはロードルールを再評価して新しいタグをロードします。以前のバージョンでは、utag.view
への呼び出しは新しいタグをロードすることができませんでした。この機能はutag.js
4.26ではデフォルトで有効になっています。
この機能を無効にして現在の動作を維持します。詳細については、以下のutag.cfg.load_rules_ajax
フラグを参照してください。
utag.link()
の呼び出しは新しいタグをロードしません。新しいタグをロードするのはutag.view()
の呼び出しのみです。
UIDでタグをロードする
高度な実装、特にAJAXを使用している場合は、utag.view()
の呼び出しを使用して新しいタグを取り込み、Tealium iQのTagsタブで見られるタグのUIDに基づいて発火させます。これはすべてのロードルールをバイパスします。
utag.view({page_name : "New Page"}, null, [5]);
- パラメータ1: データレイヤー
- パラメータ2: コールバック関数(またはnull)
- パラメータ3: ロードして発火するUIDの配列
新しいメタタグを読み込む
“name=“を持つこれらのタイプのメタタグは、以前のバージョンのutag.js
でピックアップされました:
<meta name="keywords" content="Apple,Tab" />
新しいutag.js
4.26では、property=
を持つものをピックアップします(“Open Graph"メタタグを参照)
<meta property="og:type" content="video.movie" />
クエリストリングまたはメタ変数を小文字にする
これはutag.data
のデフォルトの動作のロジック変更です。utag.cfg.lowerqp
フラグをtrue
に構成して自動的に小文字にします。ただし、デフォルトの構成は混在したケースを保持します。
以前のutag.js
の動作との後方互換性のために、utag.cfg.lowerqp
フラグをtrueに構成します。
メタタグの小文字化を有効にするには、utag.cfg.lowermeta
フラグをtrue
に構成します。これはそのメタタグの名前/値ペアの名前にのみ適用されます。
混在したケースのクエリストリングパラメータを持っている場合は、データソースの名前をデータソースタブで正確に一致するように更新する必要があります。このクエリストリングタイプのデータソースを参照するコードも更新する必要があります。
新しいクッキー値
utag_main
クッキーには新しいクッキー名/値ペアがあります:
utag_main_vid
訪問を一意に識別するための長い文字列(例:013efdc67183001adeec0eef13010a051001b00f0093c
)utag_main__ss
“Session Start"フラグ。新しいセッションの最初のページビューに対して"1"に構成されます。デフォルトのセッション時間は、活動がない状態で30分経過します。utag_main_ses_id
クッキーのセッションID値utag_main_v_id
クッキーの訪問ID値utag_main__ss
クッキーで見つかるセッション開始フラグ(0または1)
(以前のクッキー値utag_main__st
とutag_main_ses_id
はまだ構成されています。)
セッショントラッキング
訪問のセッション開始時に空のファイル、utag.v.js
へのリクエストが一度だけ行われます。これはTealiumがセッションカウントをログに記録するために内部的に使用されます。HTTPリクエストURLは次のようになります:
http://tags.tiqcdn.com/utag/tiqapp/utag.v.js?a=tealium/main/201306012057&cb=1370276499302
新しいクッキー値utag_main__ss
は、いつ発火するかを決定するために使用されます。これはセッションの最初のイベントでのみ送信されます。このリクエストは、すべてのタグが発火した後に最後に送信されます。
URLフラグメント
#
記号の後に見つかるキー/値ペアはqp.
変数として追加されます。これはAJAXサイトにとって重要です。
例のURL:http://www.example.com?param1=value1¶m2=value2#hash1=value3)
以前:
utag.data = { "qp.param1" : "value1", "qp.param2" : "value2"}
新しい:
utag.data = { "qp.param1" : "value1", "qp.param2" : "value2", "qp.hash1" : "value3"}
すべてのページデータがトラッキングコールに利用可能
以前は、utag.view
とutag.link
の呼び出しは、あなたがそれらに渡したデータだけを知っていました。b["qp.campaign"]
のような項目は利用できませんでした。現在では、URL、メタ、クッキー値などのすべての"組み込み"データポイントがutag.link
とutag.view
の呼び出しのデータレイヤーに追加されます。
また、AJAXサイトで変更された可能性がある動的項目(b["dom.url"]
など)は再構築され、現在の値を使用します。現在の値は、AJAXページに初めて着陸した時点の値と異なる場合があります。
新しいオーバーライド構成
“Pre Loader"にスコープを持つJavaScript Code拡張とグローバル変数window.utag_cfg_ovrd
を使用します。
window.utag_cfg_ovrd = {
"noview" : true,
"lowerqp" : true,
"load_rules_ajax" : false
};
追加の構成
utag.cfg.load_rules_ajax
このフラグをfalse
に構成すると、各utag.view
とutag.link
の呼び出しでロードルールを"再評価"したくない場合です。utag.view
の場合、これは初期ページビューでロードされなかった新しいutag.X.js
ファイルもロードするかもしれません。utag.udoname
データオブジェクトの名前。utag.js
コードは、データオブジェクトがグローバル変数であると仮定します。例えば、他のオブジェクト内のオブジェクトではありません。デフォルトでは、これはutag_data
に構成されていますutag.cfg.load_rules_at_wait
このフラグをtrue
に構成すると、Wait(DOM Ready)でロードルールを再評価したい場合です。これは、utag.js
がロードされた後にデータが構成され、このデータを使用してDOM Readyを待つタグを発火させたい場合のレガシーサポートを有効にします。utag.cfg.lowerqp
このフラグをtrue
に構成すると、クエリストリングの名前/値ペアを小文字にしたい場合です。これは以前のデフォルトの動作でした。utag.cfg.lowermeta
このフラグをtrue
に構成すると、メタタグの名前を小文字にしたい場合です。メタタグの名前/値ペアの値は小文字になりません。utag.cfg.noview
このフラグをtrue
に構成すると、初期のutag.view
呼び出しがいつ行われるかを制御したい場合です。これは、アプリケーションがページビューイベントを制御するAJAXサイトに一般的です(初期のページロードアクションではありません。)
考慮事項
- 誤って複数の注文を発行する -
utag.link
とutag.view
の呼び出しは、すべての"DOM"タイプのデータポイントをすべての呼び出しで利用できるようになりました。例えば、クエリストリングデータ(b["qp.order_id"]
など)はページの読み込み時に読み取られ、注文イベントをトリガーします。しかし、同じ注文ページでutag.link
を発火させると、b["qp.order_id"]
データセットも持っており、二度目の注文イベントをトリガーします。 - 最も直感的な動作のために、
utag.js
ファイルを読み込む前にすべてのutag_data
値を構成することをお勧めします。そして、utag.cfg.load_rules_at_wait
をデフォルトの"false"に保つことをお勧めします。 utag.js
4.26への更新により、クエリストリングパラメータを小文字にするデフォルトの動作が変更されました。値はもはや自動的に小文字にはなりません。- “All Tags"スコープの拡張機能は、DOM Readyスコープの拡張機能の前に実行されるかもしれませんし、されないかもしれません。順序は保証されません。All Tagsスコープの拡張機能でデータレイヤー要素を操作すると、Content Modification Extensionの基準に影響を与える可能性があります。
ベストプラクティス: 元のデータレイヤーオブジェクトを変更しないでください。値を変更する必要がある場合は、新しい変数を使用してください。
既知の問題
utag_data
オブジェクトはutag.data
への参照となり、一方を変更すると他方も変更されます。- Internet Explorer 8では、Data Layerが
<body>
要素の最後、つまりDOM Ready直前(そしてutag.js
はすでに読み込まれている)に定義されている場合、タイミングの問題が発生する可能性があります。ベストプラクティスとして、utag.js
ファイルを読み込む前に常にutag_data
オブジェクトを宣言してください。
最終更新日 :: 2024年November月6日