バージョン4.26のノート
バージョン4.26の変更点と最新バージョンへの更新方法について学びます。
すべてのリリースノートについては、Tealium for Javascriptリリースノートをご覧ください。
概要
utag.view()
および utag.link()
の呼び出しでロードルールが再評価されます。
utag.js
4.26ファイルがクエリ文字列パラメータとメタタグを扱う方法の変更により、デフォルトで小文字にされなくなりました。プロファイルでデータソースとして識別されているクエリ文字列パラメータやメタタグがある場合、データレイヤータブでこれらのデータソース名を正確に大文字と小文字を合わせて更新する必要があります。
カスタムスクリプトソースはブロッキングタグです
ブロッキングタグは、他のタグが実行される前に実行しなければならないタグです。タグのカスタムスクリプトソースの高度な構成の場所を入力すると、このタグは自動的にブロッキングタグになります。このタグは非同期にロードされますが、その後の非同期スクリプトは、例えば utag.10.js
はブロッキングタグが完了するまでロードされません。
ベストプラクティス: タグにカスタムJavaScriptをロードしたいが、ブロッキングタグにしたくない場合は、Tealium Generic Tagを使用してロードしてください。
待機フラグの改善
待機フラグが「いいえ」に構成されているタグは、utag.js
ファイルのロード後すぐにロードされ、発火します。Tealium iQのタグタブで上位に配置されているタグよりも早くロードされるこれらのタグは、配置されている順序に関係なく、早く発火することがあります。以前は、Tealium iQで指定された順序でタグが実行され、上位に配置されたタグがロードされるのを待ってから自身がロードされていました。
これは、同じプロファイルに「いいえ」と構成された待機フラグのタグと「はい」と構成された待機フラグのタグが混在することを意味します。
トラッキングコールは新しいタグをロードします
初期ページロード後、utag.view()
への後続の呼び出しは新しいタグをロードするためにロードルールを再評価します。以前のバージョンでは、utag.view
の呼び出しでは新しいタグをロードすることができませんでした。この機能はデフォルトで utag.js
4.26で有効になっています。
この機能を無効にして現在の動作を維持します。詳細については、以下のutag.cfg.load_rules_ajax
フラグを参照してください。
utag.link()
の呼び出しでは新しいタグはロードされません。これはutag.view()
の呼び出しのみが行います。
UIDによるタグのロード
特にAJAXを使用している高度な実装の場合、utag.view()
の呼び出しを使用して新しいタグを取り込み、Tealium iQのタグタブで見られるタグのUIDに基づいて発火させます。これにより、すべてのロードルールがバイパスされます。
utag.view({page_name : "New Page"}, null, [5]);
- パラメータ1: データレイヤー
- パラメータ2: コールバック関数(またはnull)
- パラメータ3: ロードして発火するUIDの配列
新しいメタタグの読み取り
これらのタイプのメタタグは、以前のバージョンのutag.js
で「name=」として取得されました:
<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
新しいセッションの最初のページビューに構成される「セッション開始」フラグ。デフォルトのセッション時間は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
すべてのutag.view
およびutag.link
の呼び出しでロードルールを再評価したくない場合は、このフラグをfalse
に構成します。utag.view
の場合、これにより初期ページビューでロードされなかったutag.X.js
ファイルもロードされる場合があります。utag.udoname
データオブジェクトの名前です。utag.js
コードは、データオブジェクトがグローバル変数であると想定しています。たとえば、別のオブジェクト内のオブジェクトではありません。デフォルトでは、これはutag_data
に構成されていますutag.cfg.load_rules_at_wait
Wait(DOM Ready)でロードルールを再評価したい場合は、このフラグをtrue
に構成します。これにより、utag.js
のロード後にデータが構成された場合に、DOM Readyを待つタグを発火させるためのレガシーサポートが有効になります。utag.cfg.lowerqp
クエリ文字列の名前/値ペアを小文字にしたい場合は、このフラグをtrue
に構成します。これは以前のデフォルト動作でした。utag.cfg.lowermeta
メタタグの名前を小文字にしたい場合は、このフラグをtrue
に構成します。メタタグの名前/値ペアの値は小文字にされません。utag.cfg.noview
初期のutag.view
の呼び出しを制御したい場合は、このフラグをtrue
に構成します。これは、アプリケーションがページビューイベントを制御するAJAXサイトで一般的です(初期ページロードアクションではありません)。
考慮事項
- 誤って複数の注文を発火させる -
utag.link
およびutag.view
の呼び出しでは、すべての “DOM” タイプのデータポイントが各呼び出しで利用可能になります。例えば、クエリ文字列データb["qp.order_id"]
はページ読み込み時に読み取られ、注文イベントをトリガーします。しかし、同じ注文ページでutag.link
呼び出しを行うと、b["qp.order_id"]
データセットも持っており、二度目の注文イベントをトリガーします。 - 最も直感的な動作のために、
utag.js
ファイルを読み込む前にすべてのutag_data
値を構成することをお勧めします。そして、デフォルトの “false” でutag.cfg.load_rules_at_wait
を保持してください。 utag.js
4.26 への更新は、クエリ文字列パラメータの小文字化のデフォルト動作を変更します。値はもはや自動的に小文字化されません。- “All Tags” スコープの拡張機能が DOM Ready スコープの拡張機能の前に実行されるかどうかは保証されません。順序は保証されていません。All Tags スコープの拡張機能でデータレイヤー要素を操作すると、コンテンツ修正拡張の基準に影響を与える可能性があります。
ベストプラクティス: 元のデータレイヤーオブジェクトを変更しないでください。値を変更する必要がある場合は、新しい変数を使用してください。
既知の問題
utag_data
オブジェクトはutag.data
への参照となり、一方を変更するともう一方も変更されます。- Internet Explorer 8 では、データレイヤーが
<body>
要素の最後に定義されている場合、DOM Ready の直前(およびutag.js
がすでに読み込まれている場合)にタイミングの問題が発生する可能性があります。ベストプラクティスとして、常にutag.js
ファイルを読み込む前にutag_data
オブジェクトを宣言してください。
最終更新日 :: 2025年September月11日