---
title: 拡張機能について
description: 拡張機能は、複雑なロジックを追加するためのシンプルな構成インターフェースを提供し、実装をさまざまな方法でカスタマイズする方法を提供します。
url: https://docs.tealium.com/ja/iq-tag-management/extensions/about/
---
拡張機能には多くの目的があり、データレイヤー変数の構成と更新から、サイトへの高度なイベントトラッキングの追加まで行うことができます。利用可能な拡張機能は**Extensions Marketplace**で紹介されており、その機能性の簡単な説明とともにカテゴリー別にグループ化されています。

拡張機能のカテゴリーは以下の通りです：

* **標準データ**  
データレイヤー変数やクッキーをさまざまな方法で構成し、変更します。
* **アドバンス**  
JavaScriptや高度なマーケティング戦略の知識を必要とする拡張機能。
* **イベント**  
jQuery、組み込みトラッキング、または標準のTealiumイベントのマッピングを使用したイベントトラッキングに関連する拡張機能。
* **タグ特有**  
Adobe Test＆Targetなどの特定のタグ、または通貨換算を必要とするタグを使用するための拡張機能。
* **プライバシー**  
ユーザーのオプトイン/オプトアウト、Do Not Track、またはトラッキング構成を提供する拡張機能。

検索ボックスを使用して、任意のタブで拡張機能を見つけることができます。

![](https://docs.tealium.com/images/iq-tag-management/whiteui-tiq-extensionsstandarddata.png)

拡張機能マーケットプレイスは、タグ管理を支援するさまざまなツールが詰まったツールボックスのようなものです。利用可能なすべての拡張機能について理解することをお勧めします。次のタグ管理の課題を解決する方法を正確に知るためです。

詳細情報については、[利用可能な拡張機能のリスト](https://docs.tealium.com/ja/iq-tag-management/extensions/extensions-list/)を参照してください。

## 仕組み

拡張機能が構成に追加され、保存および公開されると、拡張機能のロジックはJavaScriptコードに変換され、ウェブサイトで読み込むutagファイルで実行されます。拡張機能のタイミングは、スコープ構成、実行順序構成、および拡張機能のリスト内の位置など、いくつかの要素に依存します。

## スコープの理解

拡張機能を追加するときは、**スコープ**構成を理解することが重要です。スコープは、拡張機能が公開されるutagファイルと拡張機能の実行タイミングを決定します。同じスコープ内の拡張機能は、ユーザーインターフェースに表示される順序で実行されます。以下のスコープオプションが利用可能です：

* **utag Sync**：JavaScript CodeまたはAdvanced JavaScript Code拡張機能と共に使用します。拡張機能を`utag.sync.js`ファイルに関連付けます。
* **Pre Loader**：データレイヤーが処理される前に実行され、結果はグローバルに適用されます（コードはutag.jsに表示されます）。
* **Before Load Rules**
* **After Load Rules**
* **DOM Ready Extensions**：[DOMContentLoadedブラウザイベント](https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded)で一度だけ実行され、コードは`utag.js`に表示されます。
* **Tag Scoped Extensions**：指定されたタグが実行されるときだけ実行され、変更はそのタグにのみ適用されます（コードはタグ固有の`utag.#.js`に表示されます）。このスコープで変更されたデータレイヤーの値は、他のタグには影響しません。
    * **Tag Scoped Extensions**をチェックして**All Tags**を表示します。これは、データレイヤーが処理された後に実行され、変更はグローバルに適用されます（コードは`utag.js`に表示されます）。正確なタイミングについては、Execution Orderを参照してください。
* **After Tags Extensions**：タグがトリガーされた後に実行されます。


<blockquote>
**Scope**を**utag Sync**、**Pre Loader**、または**DOM Ready Extensions**に構成した場合、**Occurrence**を**Run Once**に構成する必要があります。
</blockquote>


スコープPre Loader、All Tags（After Tags実行順序を除く）、およびTag Scopeはその順序で実行されることが保証されていますが、DOM Ready拡張機能は他の3つから独立して実行されます。ほとんどの標準的な実装では、DOM Readyスコープは他の3つの後に順次発生する可能性がありますが、このタイミングは前提としてはいけません。


<blockquote>
一部の拡張機能、たとえばE-Commerce、Pathname Tokenizer、jQuery、およびonHandler 1.7は、変更できないプリセットスコープを持っています。
</blockquote>


## 実行順序の理解

**実行**構成は、All Tags拡張機能のタイミングをより詳細に制御するためのものです。

以下のオプションが利用可能です：

* **Before Load Rules** - データレイヤーが処理された後に実行されます（例えば、Pre Loaderの後、しかしロードルールの評価前）。
* **After Load Rules (default)** - ロードルールが評価された後に実行されます。
* **After Tags** - タグがトリガーされた後に実行されます。
* **utag Sync** - JavaScript CodeまたはAdvanced JavaScript Code拡張機能と共に使用すると、拡張機能を`utag.sync.js`ファイルに関連付けることで最初に実行されます。

拡張機能の実行順序の詳細な概要については、[Order of Operations]()を参照してください。

## 条件

一部の拡張機能は条件をサポートしています。条件はロードルールのようなものですが、拡張機能にのみ適用されます。拡張機能に適用された条件は、拡張機能が指定されたスコープと実行順序内で実行するべきかどうかを決定します。
