---
title: バージョン4.26のノート
description: バージョン4.26の変更点と最新バージョンへの更新方法について学びます。
url: https://docs.tealium.com/ja/platforms/javascript/version-4-26/
---
すべてのリリースノートについては、[Tealium for Javascriptリリースノート](?filter=tealium-universal-tag)をご覧ください。

----

## 概要

`utag.view()` および `utag.link()` の呼び出しでロードルールが再評価されます。

`utag.js` 4.26ファイルがクエリ文字列パラメータとメタタグを扱う方法の変更により、デフォルトで小文字にされなくなりました。プロファイルでデータソースとして識別されているクエリ文字列パラメータやメタタグがある場合、データレイヤータブでこれらのデータソース名を正確に大文字と小文字を合わせて更新する必要があります。

## カスタムスクリプトソースはブロッキングタグです

ブロッキングタグは、他のタグが実行される前に実行しなければならないタグです。タグの[カスタムスクリプトソースの高度な構成](https://docs.tealium.com/manage-templates/)の場所を入力すると、このタグは自動的にブロッキングタグになります。このタグは非同期にロードされますが、その後の非同期スクリプトは、例えば `utag.10.js` はブロッキングタグが完了するまでロードされません。

**ベストプラクティス：** タグにカスタムJavaScriptをロードしたいが、ブロッキングタグにしたくない場合は、[Tealium Generic Tag](https://docs.tealium.com/tealium-generic-tag/)を使用してロードしてください。

## 待機フラグの改善

[待機フラグはタグ構成内の高度な構成](https://docs.tealium.com/manage-templates/)です。

**待機フラグ**が「いいえ」に構成されているタグは、`utag.js`ファイルのロード後すぐにロードされ、発火します。Tealium iQのタグタブで上位に配置されているタグよりも早くロードされるこれらのタグは、配置されている順序に関係なく、早く発火することがあります。以前は、Tealium iQで指定された順序でタグが実行され、上位に配置されたタグがロードされるのを待ってから自身がロードされていました。

これは、同じプロファイルに「いいえ」と構成された待機フラグのタグと「はい」と構成された待機フラグのタグが混在することを意味します。

## トラッキングコールは新しいタグをロードします

初期ページロード後、`utag.view()`への後続の呼び出しは新しいタグをロードするためにロードルールを再評価します。以前のバージョンでは、`utag.view`の呼び出しでは新しいタグをロードすることができませんでした。この機能はデフォルトで `utag.js` 4.26で有効になっています。

この機能を無効にして現在の動作を維持します。詳細については、以下の[`utag.cfg.load_rules_ajax`フラグ](https://docs.tealium.com/ja/platforms/javascript/settings/)を参照してください。


<blockquote>
`utag.link()`の呼び出しでは新しいタグはロードされません。これは`utag.view()`の呼び出しのみが行います。
</blockquote>


## UIDによるタグのロード

特にAJAXを使用している高度な実装の場合、`utag.view()`の呼び出しを使用して新しいタグを取り込み、Tealium iQのタグタブで見られるタグのUIDに基づいて発火させます。これにより、すべてのロードルールがバイパスされます。

```javascript
utag.view({page_name : "New Page"}, null, [5]);
```

* パラメータ1: データレイヤー
* パラメータ2: コールバック関数（またはnull）
* パラメータ3: ロードして発火するUIDの配列

## 新しいメタタグの読み取り

これらのタイプのメタタグは、以前のバージョンの`utag.js`で「name=」として取得されました：

```html
<meta name="keywords" content="Apple,Tab" />
```

新しい`utag.js` 4.26では、「property=」を持つものが取得されます（「Open Graph」メタタグを参照）

```html
<meta property="og:type" content="video.movie" /> 
```

## クエリ文字列またはメタ変数の小文字化

これは`utag.data`のデフォルト動作のロジック変更です。[`utag.cfg.lowerqp`フラグ](#utagcfglowerqp)を`true`に構成すると自動的に小文字化されます。ただし、デフォルト構成は混在ケースを維持します。


<blockquote>
以前の`utag.js`の動作との後方互換性のために、`utag.cfg.lowerqp`フラグをtrueに構成してください。
</blockquote>


`utag.cfg.lowermeta`フラグを`true`に構成すると、メタタグの名前の小文字化が有効になります。この構成はメタタグの名前/値ペアの名前にのみ適用されます。


<blockquote>
大文字と小文字が混在するクエリ文字列パラメータを持っている場合、データソースタブでデータソースの名前を正確に一致させる必要があります。このクエリ文字列タイプのデータソースを参照するコードも更新する必要があります。
</blockquote>


## 新しいクッキー値

`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は次のようになります：

```bash
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&param2=value2#hash1=value3)`

以前：

```javascript
utag.data = { "qp.param1" : "value1", "qp.param2" : "value2"}
```

新しい：

```javascript
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`を使用します。

```javascript
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` オブジェクトを宣言してください。