---
title: パブリッシングのベストプラクティス
description: この記事では、Tealium iQタグ管理プロファイルへの更新を開発、テスト、公開する手順を紹介します。
url: https://docs.tealium.com/ja/iq-tag-management/save-publish/publishing-best-practices/
---
Tealium iQは、堅牢な開発努力と承認プロセスをサポートしています：

* **複数の同時プロジェクト**  
  開発者はプロファイルの別々のバージョンで作業し、その後、一つのバージョンから別のバージョンに変更をマージすることができます。一人の開発者がプロジェクトを終了したら、そのバージョンを本番環境に公開します。他の開発者は、まだ開発中のバージョンに更新をマージすることができます。複数の開発者が同じプロファイルで作業している場合、プラットフォームは公開された変更を開発者に通知します。開発者は新しいバージョンをロードするか、新しいバージョンを現在の作業にマージして作業を続けることができます。

  詳細については、[Concurrent Users](https://docs.tealium.com/concurrent-users/)を参照してください。
* **ブランチング、マージ、反復**  
  開発者は以下の方法で変更を保存することができます：

  * **Save As**は、現在のバージョンから新しいバージョンをブランチします。
  * **Merging**は、一つのバージョンから別のバージョンに変更を引き出します。
  * **Save/Overwrite**は、変更を保存するときに現在のバージョンを置き換えます。

  詳細については、[About Saving](https://docs.tealium.com/about-saving/)と[merging-versions](https://docs.tealium.com/merging-versions/)を参照してください。
* **マージの競合解決**  
  複数の開発者がプロファイルの同じオブジェクトを変更した場合、パブリッシャーは公開前に優先するバージョンを選択することができ、これにより誤ったバージョンの公開を避けることができます。

  詳細については、[Resolving merge conflicts](https://docs.tealium.com/merging-versions/#resolving-merge-conflicts)を参照してください。

* **開発とテスト環境**

  デフォルトでは、Tealium iQは開発、QAテスト、本番環境を提供しています。開発者とテスターは環境を切り替えてサイトのパフォーマンス、ユーザーエクスペリエンス、データ収集をテストすることができます。進行中の複数の開発プロジェクトをサポートするために、必要に応じてカスタム環境を作成することができます。

  詳細については、[Publish environments](https://docs.tealium.com/about-publishing/#publish-environments)を参照してください。
* **テストツール**  
  Tealiumは、開発者とテスターがタグとイベントが期待通りに発火すること、データレイヤーオブジェクトが必要なデータを含んでいること、データが正しく処理されていることを確認するためのテストツールのセットを提供しています。問題がある場合、これらのツールは問題を診断し、バージョンが本番環境に移行する前に解決するのに役立ちます。

  詳細については、[Tealium Tools](https://docs.tealium.com/iq-tag-management/tealium-tools/)を参照してください。
* **承認構造**  
  アカウント管理者は、アカウント上で権限レベルとワークフローを構成することができます。これにより、開発者、QAテスター、プロダクトマネージャーは、彼らの役割を果たすために必要なアクセスと権限を得ることができますが、彼らが行うべきでないタスクを行うことは防ぎます。例えば、開発者はQAテストとプロジェクトマネージャーの承認なしに直接本番環境に公開することは許されるべきではありません。

  詳細については、[Publishing Workflow](https://docs.tealium.com/publish-workflow-management/)を参照してください。
* **バージョン追跡マップ**  
  バージョン追跡マップは、開発、QAテスト、本番環境のすべてのバージョンを表示します。ユーザーは、バージョンが互いにどのようにブランチするか、diffツールでバージョンを比較し、一つのバージョンから別のバージョンに変更をマージすることができます。

  詳細については、[Version History](https://docs.tealium.com/client-side-versions/)を参照してください。

## 公開手順

![](https://docs.tealium.com/images/iq-tag-management/save-publish/publishingbestpractices2.png)

以下のステップは、Tealium IQプロファイルへの更新を管理するための簡略化されたワークフローをまとめたものです：

1. アカウント上で公開環境、権限、ワークフローを構成します。
1. **Prod**バージョンをロードします。
1. 新しいバージョンを**Save As**し、それを**Dev**に公開します。
1. 変更を加え、バージョンを保存し、そのバージョンを**Dev**に公開します。
    * 必要に応じて前のバージョンに戻ることができる新しいバージョンを作成するために**Save As**を使用します。
    * 新しいバージョンに変更を**Save/Overwrite**し、それをテストするために**Dev**に公開します。
    * 他の開発者が**Prod**バージョンを更新した場合、それらの変更を新しいバージョンにマージします。
1. テストする準備ができたら、新しいバージョンを**QA**に公開します。
1. QAテストを実行します。
1. バージョンがテストに合格したら、**Prod**への公開をリクエストします。
1. プロジェクトマネージャーが**Prod**への公開を承認します。

## 例

### アカウントの構成

開発が始まる前に、アカウント管理者はアカウントの公開ワークフローと構成を構成します。

1. **Workflow Management**を有効にし、構成して、誰が**Prod**環境に変更を提出でき、誰がそれらの変更を公開するために承認できるかを制御します。
1. **Publish Notify Email**を有効にすると、ユーザーや開発者はTealium iQにログインしていないときに新しいバージョンが公開されたことを知ることができます。
1. 複数のプロジェクトが同時に開発され、テストされる場合は、開発者が**Web Companion**と**Environment Switcher**ツールを通じてウェブサイトに追加の環境と構成をロードできるように**Custom Publish Environments**を構成します。

詳細については、以下を参照してください：
* [Publish Configuration](https://docs.tealium.com/publish-configuration/)
* [Publish Workflow Management](https://docs.tealium.com/publish-workflow-management/)
* [Custom Publish Environments](https://docs.tealium.com/custom-publish-environments/)

### Prodに基づいた新しいバージョンの作成

開発者#1は新しいタスクを受け取ります：プロファイルに新しいタグを構成します。開発者が最初に行うことは、変更を加えるためのワークスペースとしてバージョンを作成することです。これにより、彼らは最新の本番環境からの更新を持つクリーンな開発環境を確保し、彼らの作業が本番環境にクリーンにマージできることを確保します。

デフォルトでは、Tealium iQはプロファイルの最新バージョンをロードするため、開発者は現在**Prod**として公開されているバージョンに切り替える必要があります：

1. 開発者はプロファイルの**Prod**バージョンをロードします。
1. 開発者は新しいバージョンを**Save As**し、新しいバージョンに意味のある**Title**と**Note**フィールドの説明を付けます：`New Tag For 2023 1Q`
    * 開発者が新しいバージョンを上書きするたびに、それを**Dev**環境に公開します。

詳細については、以下を参照してください：
* [About Saving](https://docs.tealium.com/about-saving/)
* [About Publishing](https://docs.tealium.com/about-publishing/).

開発チームが複数の開発環境を必要とする場合、アカウント管理者は*DEV A*、*DEV B*などの名前のカスタム環境を作成することができます。詳細については、[Custom Publish Environments](https://docs.tealium.com/custom-publish-environments/)を参照してください。

したがって、もし別の開発者がプロファイルのロードルールをクリーンアップする作業をしている場合（それをバージョン`Load Rule Cleanup For 2023 1Q`と呼びましょう）、その開発者は最初の開発者との競合を避けるためにカスタム**Dev**環境を要求することができます。

### 変更の開発

開発者は新しいバージョンで変更を行い、各変更でそのバージョンを上書きします：

1. 開発者はプロファイルに変更を加えます。
1. 開発者は**Save**を使用し、**Overwrite existing version**オプションを選択してバージョンに変更を保存します。バージョンの名前は依然として`New Tag For 2023 1Q`です。
    * 開発者がロールバックできる変更を加えたい場合、新しいバージョンを**Save As**することができます（例えば、`New Tag For 2023 1Q - B`）

いくつかの役立つ開発のヒント：

* オブジェクトに意味のある説明的な名前とノートを付けることで、バージョンで何が変更されたかを特定し、それらの変更を追跡することができます。
* タグ、変数、イベント、拡張機能にラベルを追加して、公開環境、地理的位置、キャンペーンごとにグループ化します。これにより、変更を整理し、QAテスト中にチェックする必要があるオブジェクトを特定するのに役立ちます。
* 変更を頻繁に保存します。

詳細については、以下を参照してください：
* [About labels](https://docs.tealium.com/about-labels/) 
* [About saving](https://docs.tealium.com/about-saving/).

#### 開発者のテスト
新しいバージョンの変更を作業している間、開発者は新しいバージョンを**Dev**環境でテストしたり、テスト用のカスタム環境を作成したりできます。テストにより、新しいバージョンが期待通りに動作し、サイトのパフォーマンスに影響を与えないことが確認されます。

Tealiumは、この作業を支援するための多くのツールを提供しています。それらには以下のものが含まれます：

* [Tealium Tools - Web Companion](https://docs.tealium.com/web-companion/): このブラウザアプリを使用して、ウェブページにロードされるタグを検査し、検証します。問題を診断するための複数のツールが含まれています。
* [Universal Tag Debugger](https://docs.tealium.com/universal-tag-debugger/): このツールを使用して、UDOとイベントトラッキングデータを検証します。
* [Version diff tool](https://docs.tealium.com/version-diff-tool/): このツールを使用して、開発中のバージョンと別のバージョンを比較し、変更が分散ユニバーサルタグファイルにどのように影響を与えるかを確認します。
* [Tealium Tools - Environment Switcher](https://docs.tealium.com/environment-switcher/): このツールを使用して、**Dev**環境に切り替えてサイトのパフォーマンスを確認します。
    * Environment Switcherでは、開発者がウェブサイトでカスタム環境を使用することも可能です。

また、ブラウザの開発コンソールを使用して、ページ要素、ネットワーク呼び出し、その他を検査することもできます。

詳細については、[トラブルシューティング](https://docs.tealium.com/ja/iq-tag-management/troubleshooting)を参照してください。

### 開発バージョンにProdの更新をマージする

開発者が新しいバージョンの作業をしている間に、別の開発者が現在**Prod**に公開されているバージョンを変更することがあります：

* 並行して行われる開発作業（他の開発者が`Load Rule Cleanup For 2023 1Q`を最初の開発者が`New Tag For 2023 1Q`を終える前に完成させる）。
* **Prod**バージョンへの迅速なバグ修正（他の開発者が最初の開発者の過去のミスを修正している）。

開発者は、**Prod**バージョンに対して行われた変更を開発中のすべてのバージョンにマージする必要があります。これにより、開発者はメインプロファイルの最新バージョンを使用して作業を行い、開発プロセスの早い段階で潜在的な競合や非互換性を特定することができます。

この例では、もし他の開発者のプロジェクトが最初の開発者のものより先に終了した場合、最初の開発者は`New Tag For 2023 1Q`バージョンに他の開発者の**Prod**への変更をマージする必要があります。

以下の図は、2人の開発者が別々のバージョンで作業を行う開発プロセスを示しています：

![](https://docs.tealium.com/images/iq-tag-management/save-publish/publishingbestpractices1.png)

開発中のバージョンに**Prod**バージョンの変更をマージするには：

1. [プロファイルスイッチャー]( )で、**Dev**バージョンを選択し、**Load Version**をクリックします。
1. **Client-Side Versions**に移動します。
1. **Merge changes into current session**ドロップダウンリストから、**Prod**バージョンを選択し、**Merge**をクリックします。
1. すべての変更が開発バージョンに追加される必要があることを確認します。
1. 新しいバージョンを**Dev**に公開します。

複数の開発者が同じバージョンで作業を行っている場合、プラットフォームは公開された変更を通知し、新しいバージョンをすばやくロードしたり、新しいバージョンの変更を現在の作業にマージしたりすることができます。また、グループがプラットフォーム上で互いにコミュニケーションを取ることを可能にするコミュニケーションツールもあります。

詳細については、以下を参照してください：
* [バージョンのマージ](https://docs.tealium.com/merging-versions/): 古いバージョンからの変更を現在公開されているバージョンに取り込む方法。
* [バージョン差分ツール](https://docs.tealium.com/version-diff-tool/): ファイルに公開されたバージョンを比較し、配布ファイルを検査します。これにより、バージョン間で追加、削除、または変更されていない構成を特定することができます。
* [並行ユーザー間での変更のマージ](https://docs.tealium.com/merging-changes-between-concurrent-users/): 同じプロファイルバージョンの並行ユーザーからの変更を取り込む方法。
* [並行ユーザー](https://docs.tealium.com/concurrent-users/): 並行ユーザーのコミュニケーションツールと、いくつかの例示されたコラボレーションワークフローシナリオ。

### QAテスト

開発者がテストを終えた後、バージョンを**QA**に公開し、テストスタッフに通知します。専門のテスト部門がない場合、他の開発者がバージョンをピアレビューして、コーディングスタンダードに従っていること、サイトのパフォーマンスに影響を与えないこと、期待通りに機能することを確認します。

1. 開発者は`New Tag For 2023 1Q`バージョンを**QA**に公開します。
    * バージョンがテストに失敗した場合、テスターはそれを開発者に返して修正を依頼します。
    * バージョンがテストに合格した場合、テスターはそれを新しいバージョン（`New Tag For 2023 1Q - Passed Tests`）として保存し、**Prod**への公開をリクエストします。プラットフォームは、バージョンが承認待ちであることを適切なユーザーに通知します。

テストについての詳細は、[トラブルシューティング](https://docs.tealium.com/ja/iq-tag-management/troubleshooting)を参照してください。

テストスタッフには、すべての開発バージョンを一つのバージョンに統合してテストすることを推奨します。これにより、テストスタッフは一つのステージング環境で保留中のすべての変更をテストすることができ、開発者の作業間の競合を**Prod**への公開を申請する前に明らかにすることができます。

以下の図は、2人の開発者が別々のバージョンで作業を行い、統合されたテスト環境がある開発プロセスを示しています：

![](https://docs.tealium.com/images/iq-tag-management/save-publish/publishingbestpractices3.png)

### Prod公開の承認

バージョンが**Prod**への公開待ちになったとき、プロダクトマネージャーに公開リクエストの通知が行われます。プロダクトマネージャーは、広告キャンペーンやプロモーションと一致するようにバージョンを公開することができます。公開が承認されると、バージョンは**Prod**に公開されます。

承認ワークフローの構成方法についての詳細は、[公開ワークフロー管理](https://docs.tealium.com/publish-workflow-management/)を参照してください。

**Prod**への新しい変更を残りの開発バージョンに更新する方法についての詳細は、[並行ユーザー間での変更のマージ](https://docs.tealium.com/merging-changes-between-concurrent-users/)を参照してください。
