リリースノート
以下は、utag.js
のリリースごとの変更点をまとめた包括的なリストです。
お使いのutag.js
を更新して、最新バージョンの修正点や強化点を活用しましょう。
バージョン4.45~4.46
バージョン4.46
リリース:2018年6月
- 以下の新しいビルトイン変数のサポートを追加。
tealium_session_number
- 次に含まれる既存値の複製:utag.data['cp.utag_main__sn']
tealium_session_event_number
- 現在のセッション(訪問)でのトラッキングコール(utag.view()
、utag.link()
)の数をカウントするutag.data['cp.utag_main__se']
内のCookie値。1回限りのページ読み込みによってページ上の多数のトラッキング対象イベントが読み込まれる単一ページアプリ(SPA)に便利です。noview
フラグを使用しているページの場合、この値はページ読み込み(タグ配信ルールの評価)とutag.view()
への初回コールの両方で”1”となります。
utag.link
、utag.view
またはutag.track
コールに渡される空のパラメータリストのサポートを追加。以前のバージョンでは、utag.link()
またはutag.view()
へのコールは問題なく機能するものの、余分な”cfg”オブジェクトがデータレイヤーに追加されていました。utag.track()
へのコールは、以前のバージョンでは例外が発生する原因となります。noview
フラグを使用しているページについては、以下の2点に留意する必要があります。- データレイヤーの
tealium_session_event_number
には、ページ読み込み(utag.js
ではタグの読み込みにデータレイヤーが使用される)とutag.view
への初回コール(これによってタグのトリガーや追加タグの読み込みが行われる)の両方について”1”の値が設定されます。 - Cookieはページ読み込み時に使用および初期化されるので、最初のページで
utag.view
コールが発生しないままブラウザでページが更新されると、2番目のページで発生する最初のutag.view
コールの”2”に移行します。これは極端なケースであり、ほとんどの実装ではutag.js
の実行後すぐにutag.view
がコールされることになります。
- データレイヤーの
- この更新には、従来のプライバシーマネージャ拡張機能で使用されていた”OU”関数のための修正も含まれています。
- OPTOUTMULTI Cookieは、
utag.view/link
へのコールのたびに再チェックされます(ページ更新は不要) - タグのUIDによって直接トリガーされるタグでも、その前にOPTOUTMULTI Cookie設定のチェックが行われます
- OPTOUTMULTI Cookieは、
バージョン4.45
リリース:2018年1月
- バージョン4.40で発生していた、iframe内の同じタグが2回以上読み込まれたページについてブラウザ履歴に余分なエントリーが追加されるバグを修正。この問題は、iframeベースのタグベンダーを利用する単一ページアプリ(SPA)に影響していた可能性があります。
バージョン4.43~4.44
バージョン4.44
リリース:2017年6月
- “tags.tiqcdn.cn”(中国)でホストされている
utag.js
の訪問者セッションカウントのサポートを追加しました。 - “example.XX.jp”のパターンに従うドメイン用のデフォルトの
utag_main
Cookieドメインロジックを更新しました(XX.jpドメインではCookieを設定できないが、”example.XX.jp”ドメインでは設定される)。
バージョン4.43
リリース:2017年6月
- 以前はグローバル変数
utag_cfg_ovrd
(構成上書きオブジェクト)を通じてループで使用されていたグローバル変数i
の使用を廃止しました - レガシーs2sサポートを廃止しました(すでにTealium iQから削除されていたため)。 クラウド配信はTealium Customer Data Hubでサポートされます。
utag.ut.loader
ユーティリティ関数に渡されるエラーハンドラー関数のサポートを追加。 このサポートは、最新ブラウザのみを対象としています(古いブラウザでは、標準コールバック”cb”関数が代わりにコールされる可能性があります)。utag.ut.loader({ "src" : "https://www.example.com/path/file.js", "cb" : function(){console.log("CALLBACK")}, "error" : function(){console.log("ERROR IN LOADING")} });
バージョン4.40~4.42
バージョン4.42
リリース:2016年8月
新しいビルトインTealiumイベント属性を追加。これらの新しい属性は、各Tealiumビューまたはリンクイベントとともにデータレイヤーに追加されます。
tealium_visitor_id
Cookiecp.utag_main_v_id
内のTealiumによって生成されるIDtealium_session_id
現在のセッション開始のエポックタイムスタンプ文字列(ミリ秒単位)tealium_account
utag.js
ファイルへのパスに含まれるアカウント文字列値tealium_profile
utag.js
ファイルへのパスに含まれるプロファイル文字列値tealium_environment
utag.js
ファイルへのパスに含まれる環境文字列値。たとえば”dev”、”prod”などです。tealium_datasource
Tealium EventStreamからのデータソースキー。tealium_random
キャッシュバスティングで使用するための乱数を表す文字列tealium_library_name
ライブラリの名前(utag.js
)tealium_library_version
utag.js
のバージョン。たとえば、このリリースの場合は”4.42.0”です。tealium_timestamp_epoch
秒単位での現在のエポック時間を表す整数tealium_timestamp_utc
UTCタイムゾーンでの現在のISO文字列タイムスタンプ(古いブラウザでは利用不可)tealium_timestamp_local
ブラウザのタイムゾーンでの現在のISO文字列タイムスタンプ(古いブラウザでは利用不可)
バージョン4.41
utag.ut.encode
内のフォールバック関数に関する入力ミスを修正するための軽微な更新。
形式に誤りのあるUnicode文字をエンコードする際の例外として、encodeURIComponent
コールでJavaScriptのescape
コールが代わりに使用されるようになりました。
バージョン4.40
リリース:2016年4月
utag.link
およびutag.view
を使用している単一ページアプリ(SPA)サイトでの動作の改善
以前は、utag.link/view
に渡される現在のデータレイヤー内のアイテムはutag.data
グローバルオブジェクトにマージされていました。この処理は、utag.link/view
コールのたびにタグ配信ルールを再評価するために必要でした。utag.js
4.40テンプレートでは、この処理を行わなくても済むように、公開エンジンの更新が活用されています。バージョン4.40では、utag.data
グローバルオブジェクトがutag.link
またはutag.view
コールのたびに更新されることはありません。
次のJS拡張機能を使用すれば、4.40への更新前に4.39の動作との後方互換性をテストできます。
// JS Extension scoped to "Before Load Rules"
utag.ut.merge( b, utag.data, 0 );
utag.ut.merge( utag.data, b ,1 );
新しい”noconsole”フラグ。
このフラグをutag_cfg_ovrdオブジェクトでtrueに設定すると、utag.DB
からの出力がウェブコンソールに表示されなくなります。デバッグが有効になっている場合、出力はutag.db_log
配列内に引き続き保持されます。
utag.ut.loader関数を使用したDOMでのiframeの作成
同じIDのiframeが既に存在する場合、iframeが再度追加されることはありません。代わりに、iframe srcが更新されます。
utag.view
またはutag.link
linkコールに対するJS Page変数値の更新
JS Page変数が、utag.view
またはutag.link
をコールするたびに現在の値に更新されるようになりました。その結果、b["js_page.my_global_var"]
には、utag.link
がコールされるたびにwindow.my_global_var
内の最新の値が設定されることになります。
utag.link
またはutag.view
がコールされるたびにデータレイヤー内のcp.utag_main_ses_id
が保持されるバグの修正
この値は、訪問者が30分間にわたってアクティビティなしで同じページにいる場合に実行されるutag.link/view
コールの後に、新しいセッションIDに更新されるようになりました。
eval
を使用してdocument.referrer
値をデータレイヤーのb["dom.referrer"]
に読み込む手段を排除
新しいutag.ut.encode
関数
この関数は、encodeURIComponentから例外が発生した場合(例外は不完全または不正確な形式のUnicode文字をエンコードしようとすると発生する可能性がある)、代わりにエスケープを使用します。
_t_visitor_id
および_t_session_id
の提供終了
自動生成のデータレイヤー値である_t_visitor_id
および_t_session_id
は利用できなくなりました。これらはut.visitor_id
およびut.session_id
に置き換わります。それでも必要な場合は、次のような方法で追加できます。
// JS Extension scoped to "Before Load Rules"
b["_t_visitor_id"] = b["cp.utag_main_v_id"];
b["_t_session_id"] = b["cp.utag_main_ses_id"];
バージョン4.36~4.39
バージョン4.39
リリース:2015年7月
- 訪問者エンリッチメントデータをローカルストレージ内のプロファイル固有の場所に書き込むTealium Collectタグのサポートを追加。
バージョン4.38
リリース:2015年6月
- すべてのタグをスコープとする拡張機能をいつ実行するかを選択するための新しいドロップダウンリストをサポート。
- タグ配信ルールの後(デフォルトで選択されている)
- タグ配信ルールの前(4.37以前のバージョンではサポート対象外)
- タグの後(4.37以前のバージョンではサポート対象外)
この拡張機能は、4.37以前のバージョンでは複数回実行される可能性があるため、それらのバージョンとの互換性がありません。
- すべてのタグが読み込まれる前に
utag.view
をコールする方法のサポートが追加されました。utag.view
をコールし、DOM Readyをスコープとする拡張機能内のUIDによって特定のタグをトリガーする際に発生するバグが、これによって修正されます。 - UIDによって特定のタグに対して
utag.link
をコールする方法のサポートが追加されました。
バージョン4.37
リリース:2015年2月
utag_main
Cookie内の$値のインスタンスが誤ってデコードされ、代わりに区切り記号として表示されていたバグを修正しました。この修正の後は、utag_main
Cookie値が”二重デコード”されることはなくなります。- readywaitフラグが設定され、かつ
utag_data
オブジェクトがページに存在しない場合、またはそのいずれかの場合にutag_main__ss
Cookieが誤って設定される原因となっていたバグを修正しました。
バージョン4.36
リリース:2015年1月
- 新しいタグを
utag.link()
コールで読み込みます。以前はutag.view()
コールを使用して行われていました。utag.link()
コールはページにまだ含まれていないタグを読み込みます。 waittimer
およびreadywait
フラグがtrue
に設定されている場合にutag.data
オブジェクトがDOM Readyをスコープとする拡張機能に対して初期化されないバグを修正しました。- 以下の新しいビルトインデータレイヤー変数を追加しました。
utag.data["ut.domain"]
:ウェブサイトのドメインutag.data["ut.version"]
:サイトで読み込まれるutag.js
のバージョンutag.data["ut.event"]
:イベントの種類(linkまたはview)utag.data["ut.account"]
:サイト上のTealium iQアカウントutag.data["ut.profile"]
:サイト上のTealium iQプロファイルutag.data["ut.env"]
:公開環境
- 手動の
utag.view
およびutag.link
コールによってセッション終了Cookieタイムスタンプが延長されないバグを修正しました。この修正は、特に訪問者がサイトとやり取りをしている間にセッションを開いた状態に維持する手段として、AJAXを利用している単一ページアプリおよびサイトに効果的です。 - 同期読み込みタグをブロッキングタグとして使用する妨げになっていたブロッキングタグのバグを修正しました。
- 複数の同期ブロッキングタグの読み込みによって古いバージョンのInternet Explorer向けにキャッシュを取得するのを妨げていたバグを修正しました。
- すべてのタグをスコープとする拡張機能の実行直前にデータレイヤーを出力するためのデバッグを追加しました。
バージョン4.26~4.35
バージョン4.35
リリース:2014年12月
- 立て続けに実行した
utag.view()
コールに対してデータレイヤーが保持されないバグを修正しました。現在は、コールごとにデータレイヤーのスナップショットが保持されます。 - 手動の
utag.view()
およびutag.link()
コール用のデバッグ出力をさらに追加しました。 - 新しいユーティリティ関数、
utag.ut.typeOf()
を追加しました。たとえば、utag.ut.typeOf([])
からは”array”という値が返されます。
バージョン4.34
リリース:2014年10月
DOM readyStateの”complete”(”load”とも呼ばれる)イベントまでタグの読み込みを遅延させるために、オーバーライド(
utag_cfg_ovrd
)フラグをutag.js
に追加しました。このフラグによって得られる遅延は、Wait = Yes設定を持つすべてのタグの実行を遅らせることにより、ページの表示速度を向上させることができます。このフラグを設定するには、プリローダーをスコープとするJavaScriptコード拡張機能に次のコードを入力します。var utag_cfg_ovrd = {}; utag_cfg_ovrd.dom_complete = true;
DOM readyStateが通常より早く”interactive”としてレポートされるInternet Explorerブラウザのバグを修正しました。古いバージョンのInternet Explorer向けに、readyState “complete”のための遅延が余分に追加されています。
バージョン4.33
リリース:2014年9月
- 2つの新しいDOM変数(以前のデータソース)、ブラウザ高さ(
dom.viewport_height
)とブラウザ幅(dom.viewport_width
)を追加しました。これらをタグ配信ルールで使用することにより、訪問者が特定のデバイスを使用してサイトを閲覧している場合にそれを検出します。たとえば、この値が480より小さいときは、訪問者がスマートフォンデバイスを使用していると考えられます。お使いのスマートフォンで試してみましょう。 - iframeおよびスクリプトでのカスタム属性のサポートを
utag.ut.loader
関数に追加しました。 - 手動の
utag.view
コールによってトリガーした場合に[Tags]タブに示されている順序でタグが読み込まれないバグを修正しました。
バージョン4.32
リリース:2014年8月
- 公開設定に伴うバグを修正したので、現在はReady待機フラグとバンドルライブラリ公開設定の両方を同じプロファイルに対して有効化できます。
- Ready待機フラグ設定を有効にすると、utag.cfg.noviewフラグを”true”に設定している場合、”false”に再設定されるというバグを修正しました。
- 新しい構成フラグ、待機タイマー(
utag_cfg_ovrd.waittimer
)の導入。DOM Ready信号が送信されるまでタグの読み込みは行われません。このフラグを使用して、DOM Ready信号の後にタグが読み込まれるまで待機する正確な時間を設定します。このフラグを設定すると、サードパーティベンダーのタグの読み込み時間を含めずにウェブページの読み込み時間が公開されます。この値は、ミリ秒単位で設定します。
以下は、待機タイマーフラグの設定方法の例です。
var utag_cfg_ovrd={};
utag_cfg_ovrd.waittimer=3000;
このコードスニペットは、すべてのタグの読み込みをDOM Ready信号の3秒後まで遅らせます。
バージョン4.31
リリース:2014年5月
外部JavaScriptファイルの取り込み時とコールバック関数の実行時に発生する、UTAGユーティリティ関数のIEブラウザ関連のバグを修正しました。これにより、まれに発生する、コールバック関数が早すぎるタイミングで実行される問題が解決します。
すべてのタグが読み込まれる前に
utag.view
がコールされた場合のための追加のデバッグ出力を導入。誤りが含まれる可能性のあるタグUIDは、現在はこの出力内に表示されます。
バージョン4.30
リリース:2014年4月
- Wait = Yesに設定されている最後のタグがトリガーされず、
utag.X.js
ファイルがキャッシュされている場合に手動のutag.view
コールがトリガーされないというIEブラウザ(IE 9以前)のバグを修正。 - 現在の
utag.js
では、すべてのutag.view
コールにOPTOUTMULTI(プライバシーマネージャ拡張機能)Cookie内の値が使用されるようになっています。 AJAXコンテンツでトリガーされるutag.view
コールのためにオプトアウトされているタグがトリガーされることはなくなります。
バージョン4.29
リリース:2014年4月
- 複数のブロッキングタグのサポートを妨げていたバグを修正。現在は、ブロッキングタグ(Tealium通貨コンバーターなど)として機能する複数のタグを、別の外部
.js
ファイルとともに使用できるようになりました。 - “すべてのタグ”をスコープとする拡張機能は、すべてのブロッキングタグの完了後に実行されます。
utag.v.js
ファイルは、utag.js
ファイルをセルフホストしている状況では送信されなくなります。- 訪問者ID生成ロジックから”top.“を削除しました。これにより、iframesでの問題が修正されています。
バージョン4.28
リリース:2014年2月
utag_main
セッションCookieが既に4.27より前のバージョンのutag.js
によって設定されているウェブサイトに訪問者がアクセスすると、ページ番号(_pn
)とセッション番号(_sn
)の値が常にNaNに設定される問題を修正。これらの値は、1に再設定されるようになりました。
バージョン4.27
リリース:2014年2月
- AudienceStreamデータレイヤーエンリッチメントのサポートを導入。これには、AudienceStreamとDataCloudタグが必要です。
utag.js
は、動的メタタグを収集するために、utag.view
コールのたびにメタタグを読み取ります。utag_main
Cookieには、以下に示すいくつかの変更点があります。- EU法への準拠のために、現在は
utag_main
Cookieの有効期間が1年に設定されています。 utag_main
Cookie内のセッションID(ses_id
)値が現在はタイムスタンプになっており、ウェブサイト上での訪問者の滞在時間を計算するために使用されます。この値を参照するには、次の構文を使用します。
b["cp.utag_main_ses_id"]
utag_main
Cookieにセッション番号値を導入。この値を参照するには、次の構文を使用します。
b["cp.utag_main__sn"]
utag.js
が読み込まれるたび、実質的には新しいURLが読み込まれるたびに増加するページ番号値を導入。この値がイベントカウンターと混同されることはありません。この値は、新しいセッションのたびに1からカウントし直されます。この値を参照するには、次の構文を使用します。
b["cp.utag_main__pn"]
既知の問題:
utag_main
セッションCookieが既に4.27より前のバージョンのutag.js
によって設定されているウェブサイトに訪問者がアクセスすると、ページ番号(_pn
)とセッション番号(_sn
)の値が常にNaNに設定されます。この問題は、utag.js
バージョン4.28では解決されています。
- EU法への準拠のために、現在は
オブジェクトをフラット化するutag.ut.flatten関数を導入。この関数は、主にAudienceStream用のデータレイヤーエンリッチメントで使用されます。
バージョン4.26
リリース:2014年1月
utag.view()
およびutag.link()
コールの両方についてタグ配信ルールが再評価されています。
utag.js
4.26ファイルでのクエリ文字列パラメータとメタタグの処理方法の変更により、これらがデフォルトで小文字に設定されることはなくなりました。プロファイル内にデータソースとして識別されているクエリ文字列パラメータやメタタグがある場合、それらのデータソース名の大文字と小文字が正確に一致するように、[Data Layer]タブで更新することが必要になる可能性があります。
カスタムスクリプトソースはブロッキングタグ
ブロッキングタグは、他のすべてのタグが実行される前に実行する必要のあるタグです。タグのカスタムスクリプトソース詳細設定の場所を入力すると、そのタグは自動的にブロッキングタグになります。このタグは引き続き非同期で読み込まれますが、それに続く非同期スクリプト(utag.10.js
など)はブロッキングタグが完了するまで読み込まれません。
ベストプラクティス:タグのカスタムJavaScriptを読み込む必要があるが、ブロッキングタグにすることは望まないという場合は、Tealium汎用タグを使用して読み込みます。
待機フラグの改善
待機フラグが”No”に設定されているタグは、utag.js
ファイルの読み込み直後に読み込まれ、トリガーされます。待機フラグが”No”に設定され、かつ先に読み込まれたタグは、そのTealium iQでの順序にかかわらず先にトリガーされる可能性があります。たとえば、タグ2がタグ1より先に読み込まれた場合は、Tealium iQの[Tags]タブでタグ1がタグ2より上に配置されても、その順序にかかわらずタグ2が先にトリガーされる可能性があります。以前は、Tealium iQに指定されている順序でタグが実行されていました。これらのタグは、より上の順位に配置されたタグが読み込まれるまで待機し、その後に読み込まれていました。
これは、待機フラグが”No”に設定されたタグと”Yes”に設定されたタグが、現在は同じプロファイル内に混在する可能性があることを意味します。
AJAX向けのタグ配信ルールベースのトラッキングを制御
その後のページ上でのutag.view()
コールにより、タグ配信ルールをトリガーして新しいタグを読み込むことができます。以前のバージョンでは、utag.view
コールで新しいタグは読み込まれませんでした。この機能は、utag.js
4.26ではデフォルトで有効になっています。
この機能を無効にすると、現在の動作を維持できます。詳しくは、後述するutag.cfg.load_rules_ajaxフラグの詳細を参照してください。
utag.link()
コールで新しいタグは読み込まれません。この操作は、utag.view()
コールでのみ行えます。
UIDによってタグを直接読み込む(utag.view
およびutag.track
コールに対する更新)
特にAJAXを使用する高度な実装では、utag.view()
コールを使用して新しいタグを取り込み、それを(Tealium iQの[Tags]タブに表示される)タグの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" />
“qp.“(クエリ文字列)および”meta.“変数のデフォルトでの”小文字化”の廃止
これは、utag.data
のデフォルト動作におけるロジックの変更です。自動的に小文字にするには、utag.cfg.lowerqpフラグをtrue
に設定します。ただし、デフォルト設定では大文字と小文字の混在した状態が維持されます。
以前のutag.js
動作との後方互換性を確保するには、utag.cfg.lowerqp
フラグをtrueに設定します。
メタタグの小文字化を有効にするには、utag.cfg.lowermeta
フラグをtrue
に設定します。これは、そのメタタグの名前と値のペアの名前にのみ適用されます。
大文字と小文字の混在するクエリ文字列パラメータがある場合は、それに正確に一致するように[Data Sources]タブのデータソースの名前を更新する必要があります。また、このクエリ文字列タイプのデータソースを参照するすべてのコードも更新しなければなりません。
utag_main
Cookie内の新しい値
utag_main
Cookieには、以下に示す新しいCookie名/値のペアがあります。
utag_main_vid
訪問者を一意に識別する長い文字列(013efdc67183001adeec0eef13010a051001b00f0093c
など)utag_main__ss
“セッション開始”フラグ。新しいセッションの最初のページビューの場合は"1"
に設定します。デフォルトのセッション時間は、アクティビティなしで経過する30分です。
(以前のCookie値、utag_main__st
とutag_main_ses_id
は引き続き設定されています)
セッション開始のトラッキング
訪問者のセッションの開始時に、空のファイルであるutag.v.js
のリクエストが1回実行されます。このファイルは、セッション数のログを取得するためにTealium内部で使用されます。HTTPリクエストURLは、次のような形式になります。
http://tags.tiqcdn.com/utag/tiqapp/utag.v.js?a=tealium/main/201306012057&cb=1370276499302
新しいCookie値、utag_main__ss
はトリガーのタイミングを決めるために使用されます。この値はセッションの最初のイベントでのみ送信されます。このリクエストは、すべてのタグがトリガーされた後、最後に送信されます。
新しい”Tealium”値
[Data Layer]タブで、以下の新しいCookie値を確認できます。
utag_main_ses_id
Cookie内のセッションID値utag_main_v_id
Cookie内の訪問者ID値utag_main__ss
Cookie内にあるセッション開始フラグ(0または1)
URLフラグメントパラメータ
以前は、URLの?
の後にある名前/値のペアが読み取られ、utag.data
内に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
コールで利用可能なすべてのページデータ
以前は、utag.view
およびutag.link
コールで得られる情報は、それらに渡したデータだけでした。b["qp.campaign"]
のようなアイテムにはアクセスできませんでした。現在は、URL、メタデータ、Cookie値など、すべての”ビルトイン”データポイントがutag.link
およびutag.view
コール用のデータレイヤーに追加されます。
また、AJAXサイト向けに変更されている可能性のある動的アイテム(b["dom.url"]
など)は、現在の値を使用できるように再構築されます。現在の値は、AJAXページへの初回ランディング時の値とは異なる可能性があります。
utag.cfgの新しいオプション
プリローダーをスコープとするJavaScriptコード拡張機能とグローバル変数window.utag_cfg_ovrd
を使用します。
// JS Code in Preloader Extension
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
待機時(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"]
データも設定され、それによって2つ目の注文イベントがトリガーされます。 - 大部分の直感的動作については、
utag.js
ファイルを読み込む前にすべてのutag_data
値を設定することをお勧めします。また、utag.cfg.load_rules_at_wait
は、デフォルト設定である”false”のままにします。 utag.js
4.26への更新により、クエリ文字列パラメータの小文字化に関するデフォルト動作が変更される点に注意してください。値が自動的に小文字化されることはなくなります。“すべてのタグ”をスコープとする拡張機能は、DOM Readyをスコープとする拡張機能の前に実行される場合もあれば、後に実行される場合もあります。順序は保証されていません。すべてのタグをスコープとする拡張機能のデータレイヤー要素を操作すると、コンテンツ変更拡張機能の基準に影響する可能性があります。
ベストプラクティス:元のデータレイヤーオブジェクトは変更しないでください。値を変更する必要がある場合は、代わりに新しい変数を使用します。
既知の問題
- データレイヤーの
utag_data
オブジェクトがutag.data
への参照となり、一方を変更するともう一方も変更される。 - データレイヤーが
<body>
要素の最後、DOM Readyの直前に定義されている場合(およびutag.js
が既に読み込まれている場合)、IE8でタイミングの問題が発生する可能性がある。ベストプラクティスとしては、utag_data
オブジェクトを常にutag.js
ファイルの読み込みの前に宣言します。
バージョン4.006~4.011
バージョン4.011
リリース:2013年11月
Server to Serverのサポートの追加。現在は、Server to Server機能をタグで使用できるようにする、”Server to Server”詳細設定が用意されています。
バージョン4.010
リリース:2013年11月
Tealium通貨コンバータータグやカスタムソース詳細設定に値が設定されている任意のタグを使用している場合に、そのタグが強制タイムアウトのしきい値である3秒以上にわたって待機してから他のタグに対してu.send関数をコールするバグを修正。
バージョン4.009
リリース:2013年9月
DOM Ready後にutag.js
が実行された場合に”Wait = Yes”タグがDOM Readyイベントではなく”load”イベントを待機するバグを修正。
これにより、多くのサイトでパフォーマンスが大幅に向上し、DOM Readyを待機するよう設定されているタグがはるかに早く読み込まれるようになります。
バージョン4.008
リリース:2013年3月
末尾が”.edu.au”および”.net.au”(例として”au”を使用)のドメインをサポートするよう更新。以前のutag.js
のサポート対象は、”.com.au”と”.org.au”のみでした。
utag.loader.GV
(”オブジェクト内の変数を取得”する内部関数)でhasOwnPropertyを使用するよう更新。これにより、さらに安全に反復処理を行えます。
バージョン4.007
リリース:2013年1月
[Page Data Object]公開設定にmyobj.utag_data
などを入力することにより(myobj
が存在しないと仮定)、ユーザーが”定義前の”関数で例外を引き起こす可能性がある問題を修正。この例外は、一部のコードがスキップされ、定義されていないutag.handler.extend
変数の.lengthがチェックされる原因となっていました。現在は、utag.handler.extend
が定義されているかどうかのチェックが行われるようになっています。
バージョン4.006
リリース:2013年1月
公開エンジンによってタグUIDの配列であるutag.loader.cfgsort
変数が構築されます。この配列は、Tealium iQ内のタグの適切な順序に並べられます。現在のタグは、Tealium iQの順序に一致する順序でトリガーされるようになっています。
バージョン4.000~4.005
バージョン4.005
リリース:2012年12月
ユーティリティ関数utag.ut.decode
を追加。
“Cookieなし”フラグのutag.cfg.nocookie
も追加しています。utag.cfg.nocookie
値が定義され、trueに設定されると、utag.js
ではutag_main
Cookieが書き込まれなくなります。
既存のutag_main
Cookieは変更されることも削除されることもありません。一部のタグはutag_main
Cookieがあることを前提としているので、このフラグは自己責任で使用してください。
サンプル(プリローダーをスコープとするJavaScriptコード拡張機能):
var utag_cfg_ovrd={};
utag_cfg_ovrd.nocookie=true;
utag.ut.decode
は、より安全なバージョンのdecodeURIComponent
です(decodeURIComponent
から例外が発生した場合、アンエスケープが使用されます)
バージョン4.004
リリース:2012年11月
タグが読み込まれる前にIEによってDOM Ready拡張機能が実行される場合と実行されない場合があるという、IE7およびIE8におけるInternet Explorer DOM Ready拡張機能の”タイミング”問題の修正を含みます。このバージョンでは、DOM Ready拡張機能が最初に実行されるように問題が修正されています。これにより、すべてのブラウザで一貫した動作が提供されます。
utag.DB
での変更。この関数は、すべてのutag.DB
コールでCookieのutagdb=true
が”再チェック”されないように変更されており、高パフォーマンスのutag.DB
関数に役立ちます。
新たなutag.DB
コールをutag.js
に追加。
デバッグを有効にする方法:コンソールでdocument.cookie="utagdb=true"
を実行します
サンプルutag.DB
コール:
utag.DB("Inside of DOM Ready Extension");
バージョン4.003
リリース:2012年10月
utag_main
Cookieを特定のタイムスタンプの時点で有効期限切れに設定する機能を追加。
utag.loader.SC("utag_main",{"mycookie123":"testing123;exp-1351111959896u"});
タイムスタンプの末尾にある”u”に注意してください
バージョン4.002
リリース:2012年8月
各サブプロファイルタグに対してもutag.link
を実行。
バージョン4.001
リリース:2012年8月
Cookieに異常な文字が含まれるCookieデコード問題を修正。
バージョン4.000(初回)
バージョン番号を変更せずにこのファイルを反復したものが複数存在します。