
Google Tag Manager(以下、GTM)には「ワークスペース」という機能があります。ワークスペースは、複数の設定変更や複数人でGTMを管理する際に便利な機能です。
しかし、ワークスペースを使ってGTMを運用していると、「ワークスペースの競合」という問題に遭遇するケースがあります。
本記事では、ワークスペースの競合とは何なのか、そして発生してしまった場合の解決方法について、手順を詳しく解説します。
公式ヘルプ: ワークスペース
ワークスペースとは?
ワークスペースの詳細については、弊社の過去の記事を参考にしていただければと思いますので、本記事では簡易的な説明にとどめます。
GTMで複数人での運用向け機能「ワークスペース」が実装されました
ワークスペースとは、タグ・トリガー・変数・フォルダなどの各要素を設定するための「作業場」です。重要なのは、この作業場を複数用意して使い分けることができる点です。
複数人で同じワークスペースを使って作業を行うと、以下のような問題が発生します:
- 他の人が作業中なのに、誤って公開をしてしまった
- 同じタグやトリガーを複数人が同時に編集してしまう
- 全ての変更が一つの作業場で混在するため、どの変更がどの機能に影響するかの把握が困難になる
ワークスペースを分けて運用することで、上記のような問題を解消することができます。無償版では最大3つまで、有償版では無制限で作成可能です。
ワークスペースの競合とは何か?
ワークスペースは、複数の設定変更や複数人でGTMを運用していく上で必須の機能となっています。しかし、運用をしていく中で「ワークスペースの競合」という問題が発生する可能性があります。
競合が発生すると、GTMの画面上に「矛盾を検出」などの警告メッセージが表示されます。この表示が出た場合は、競合が発生していることを示しています。

ワークスペースの競合とは、簡単に言うと「他の人が公開した内容と自分が設定している内容が異なる状態」です。
ワークスペースの競合が発生した場合、競合を解消するまで公開作業を行うことができません。そのため、競合が発生した際は適切に対処する必要があります。
ワークスペースの競合が発生する原因
ワークスペースの競合が発生する条件は、以下の2つです:
- ワークスペース作業中に、別のワークスペースのバージョン作成・公開がされた
- 公開された最新バージョンと、作業中のワークスペースで、同じ要素に対して異なる変更が行われている、または新規に同名の要素が作成された
パターン別に具体例を見ていきましょう。
パターン①:同じ要素に対して、異なる変更をしている
例えば、ワークスペースAで「タグA」の設定を変更しているとします。その間にワークスペースBでも同じ「タグA」の設定を変更し、Aよりも先に公開したとします。ワークスペースA側では、同じ「タグA」という要素に対して異なる変更をしていたため、競合が発生します。

※ワークスペースAとBの「タグA」に対する変更内容が完全に同じである場合は、競合は発生しません。
パターン②:一方で要素を削除し、もう一方で同じ要素を変更している
このパターンでは、一方のワークスペースで要素を削除し、もう一方のワークスペースで同じ要素に対して変更を加えている場合に競合が発生します。
例えば、ワークスペースAで「タグB」の設定を変更しているとします。その間にワークスペースBで「タグB」を削除し、先にバージョンを公開しました。この場合、ワークスペースA側で変更した「タグB」が最新バージョンでは削除されているため、競合が発生します。

パターン③:新規に作成した要素が同名
異なるワークスペースで、同じ名前の要素が作成された場合にも競合が発生します。
例えば、ワークスペースAで「タグC」というタグを新規作成したとします。ワークスペースBでも「タグC」というタグを新規作成した場合、競合が発生します。
※設定の内容が異なっていても、同名の場合は発生します

ワークスペースの競合の解決方法
ここからは、競合が発生してしまった場合の具体的な競合解決の手順を説明していきます。
説明をわかりやすくするため、以下の前提条件で進めます:
- 最新バージョンには「タグA」と「タグB」が存在している
- ワークスペースBが先に公開された
- ワークスペースA側で競合が発生した
■ワークスペース作成時の設定

【パターン1】同じ要素に対して異なる変更をしている場合
最も一般的なパターンである「同じ要素に対して異なる変更をしている場合」の解決方法を見ていきましょう。
■競合の状況例
- ワークスペースBでは「タグA」のトリガーを変更
- ワークスペースAでは「タグA」の名前を「タグA2」に変更
この場合、同じ「タグA」に対して異なる変更が行われているため、競合が発生します。
競合が発生すると、GTMの画面上に警告メッセージが表示されます。まず、どの要素で競合が発生しているかを確認しましょう。「解消」をクリックします。

画面の左側には現在の最新バージョン(ワークスペースB)の内容、右側には現在のワークスペース(ワークスペースA)の内容が表示されます。
設定内容が異なる箇所には「→」の矢印が表示されます。今回の例では、同じタグに対して「タグ名の変更」と「トリガーの変更」の計2件の競合が発生している状況です。

各競合箇所に対して、どちらのワークスペースの内容を優先するかを選択できます。具体的には、矢印をクリックすると「変更を無視します」と「変更をコピーします」の選択肢が表示されます。
- 変更を無視します:ワークスペースAの現在の作業内容を維持する
- 変更をコピーします:最新バージョン(ワークスペースB)の内容を優先して上書きする

画面の赤枠には、「全てを解決する」オプションもあります。このオプションは、まだ変更を加えていない競合箇所に対し、すべてワークスペースAの内容を優先させるものです。ただし、すでに手動で調整済みの箇所は変更されません。
※この「全てを解決する」オプションは便利ですが、予期せぬ変更を避けるため、手動での調整を推奨します。

すべての競合が解消されたら、右上の「保存」ボタンをクリックして変更を反映させましょう。
【パターン2】一方で要素を削除し、もう一方で同じ要素を変更している場合
次に、「一方で要素を削除し、もう一方で同じ要素を変更している場合」の解決方法を見ていきましょう。
■競合の状況例
- ワークスペースBでは「タグB」を削除した
- ワークスペースAでは「タグB」の名前を「タグB2」に変更
競合の内容を確認すると、先ほどの要素変更とは異なり、「削除」か「元に戻す」の選択肢のみが表示されます。
「削除」を選択した場合、そのタグは削除されます。「元に戻す」を選択した場合、タグは削除されず、タグが存在する方のワークスペースの内容が反映されます。
要素の変更時とは異なり、これらのボタンをクリックすると即座に反映されるため、慎重に操作しましょう。

【パターン3】新規に作成した要素が同名の場合
最後に、異なるワークスペースで同じ名前の新しい要素を作成した場合の解決策について見ていきましょう。この状況は比較的稀に発生しますが、対処法を知っておくことが大切です。
■競合の状況例
- ワークスペースBで「タグC」を新規作成
- ワークスペースAでも「タグC」を新規作成
このケースでは、GTMの画面上には「同期エラー」と表示されますが、これもワークスペース間の競合の一種と考えられます。パターン1やパターン2とは解決方法が異なるため、注意が必要です。

同期エラーが発生した場合は、現在作業しているワークスペース内の該当要素の名前を変更する必要があります。これまでの競合解決のように、どちらか一方の内容を選択するオプションは表示されません。
ここでは、「タグC」の名前を、「タグC2」に変更しましょう。
要素の名前を変更した後、再度ワークスペースを更新することで同期エラーが解消されます。

ワークスペースAでは、もともと存在していなかった「タグC」が新規作成されたものとして扱われていました。しかし、競合を解決してワークスペースを更新すると、ワークスペースBで作成された「タグC」がワークスペースAに取り込まれます。
このとき、「タグC」は取り込まれただけで、ワークスペースAで変更を加えたわけではありません。そのため、概要タブの「ワークスペースの変更」一覧には「タグC」は表示されません。

この状態で気づかずに公開してしまうと、「タグC」と「タグC2」が同時に公開されるリスクがあります。内容が全く違えば問題ありませんが、もともと同じ名前だったため、重複計測のリスクが生じます。
そのため、ワークスペースAに取り込まれた「タグC」と、名前を変更した「タグC2」のどちらを最終的に残すかを判断し、不要な方のタグを削除してください。

まとめ
GTMのワークスペース競合は、複数人でGTMを運用する際に発生しがちな問題です。最初に見たときは、エラー画面とその文面から驚いてしまいますが、対応する内容はシンプルですので、慌てることなく適切に対処すれば問題ありません。
競合を頻繁に発生させないためには、チーム内でのワークスペース管理ルールを決めておくことが重要です。作業が完了したワークスペースはこまめに公開し、不要になったワークスペースは削除するなど、日頃からワークスペースとバージョンの管理を意識することで、競合の発生頻度を大幅に減らすことができます。
公式ヘルプの情報だけでは対応が不安という方にとって、本記事が具体的な解決手順の参考になれば幸いです。