
目次
Googleタグマネージャーの設定をより柔軟かつ強力にする上で、避けて通れないのが「正規表現」です。特に、ページのURLを条件とするトリガー作成において、その真価を発揮します。
「等しい」「含む」「先頭が一致」といった基本的な条件だけでは捉えきれない、「特定のディレクトリ配下の複数のページ」や「特定のパラメータを持つページ」といった複雑なURLパターンも、正規表現を用いることで柔軟かつ正確に指定できるようになります。
これは、より細やかなトラッキングを実現するための強力な武器となります。
しかしながら、初めて触れる方にとっては、その柔軟性の高さや専門知識が必要になることから、少しハードルが高いと感じるかもしれません。そこで今回は、Googleタグマネージャーのトリガー作成という具体的なシナリオに焦点を当て、実際の活用例を通して、正規表現の基本的なパターンや考え方を分かりやすく解説していきます。
正規表現とは

正規表現とは、一言で言うと、「複雑な条件を持つ文字列のパターンを、特殊な記号を使って簡潔に表現するためのルール」です。と言われても、最初のうちはなかなかピンとこないのが正規表現の厄介なところです。
ちなみに、Googleタグマネージャーのヘルプに正規表現の説明が活用例とともに記載されています。
「正規表現に一致」オプションを使用すると、Google タグ マネージャーでテキスト パターンを照合するための正規表現を実装できます。正規表現は、「URL の先頭が A で末尾が B のときにでタグを発行するが、C が含まれている場合は発行しない」などの複雑なルールを表現するときに便利です。
たとえば、次の正規表現が URL や URL パス変数に適用されるとします。この場合、URL パスに「products」、「promotions」、「professionals」、「processes」など、文字列「pro」が含まれるすべてのページに一致します。
/pro/
参照元:https://support.google.com/tagmanager/answer/7679109?hl=ja
活用例の記載はありますが、正規表現の知識があることが前提の説明であるため、初心者には正直チンプンカンプンです。むしろアタマの中の「?」マークが倍増してしまうかもしれません。
このように、正規表現がどのようなもので、どのように活用できるかのイメージが湧かないうちは、文章だけでの説明は抽象的な概念のものがほとんどのため、理解することはほぼ不可能と言えます。
ですので、本記事では、Googleタグマネージャーのトリガー作成という具体的な場面を想定しながら、正規表現の基本的な記号が実際にどのような文字列にマッチするのか、一つずつ丁寧に解説していきます。
よくある設定シーンを例にしていますので、初めての方でも正規表現の具体的な活用方法を理解しやすいかと思います。
Googleタグマネージャーでよく使用する正規表現の記号

正規表現を用いてトリガーを作成する場合、URLを構成する文字列パターンを記号に置き換えて作成します。この記号のことを「メタ文字」といいますが、普段使うシーンはほとんどありませんので雑学程度に知っておくとよいでしょう。
正規表現で使用するメタ文字にはいくつか種類があり、それぞれの文字が異なる機能を持っています。ここでは、トリガーを作成する場合によく使用するメタ文字とその機能を紹介します。
1.先頭を表すメタ文字「^」
文字列の先頭を表す際に使用する記号(メタ文字)が「^」です。トリガーを作成する場合の条件の1つに「先頭が一致」がありますが、同じ意味合いのトリガーを正規表現で作成したい場合に使用します。
例:「/product」から始まるURLパターンの時にタグを発火させるトリガーを作成する場合
https://sample.com/product/12345
https://sample.com/product/98765
▶「正規表現に一致」を用いてトリガーを作成する
Page Path - 正規表現に一致 - ^/product/
ページディレクトリ「/product」から始まるパターンを作成しますので、まずは「Page Path」を選択してトリガーを作成します。
そして、ディレクトリの始まり(文字列の始まり)を指定する「^」を用いて「^/product」と記述することで条件に合致するトリガーを作成することができます。
※「先頭が一致」条件を使用すれば、同じ条件のトリガーを簡単に作成することができますが、本記事の趣旨に合わせるため、あえて正規表現を用いてトリガーを作成しております。正規表現を用いてトリガーを作成すべき、という趣旨ではありませんので予めご了承くださいませ。
2.文字列の最後を表すメタ文字「$」
次は、文字列の最後を表す際に使用する記号です。トリガーを作成する場合に、URLの文字列の終わりを指定する際に使用するのですが、利用シーンがすぐにはピンとこないかもしれませんね。具体的な使用方法については、以下の例を参考にしてみてください。
例:フォームの入力ページだけでタグを発火させるトリガーを作成する場合
入力ページ:https://sampel.com/form
確認ページ:https://sampel.com/form/confirm
完了ページ:https://sampel.com/form/complete
Page Path - 正規表現に一致 - ^/form$
1と同様に「Page Path」を用いてトリガーを作成しますが、「^/form」だけでは確認・完了ページのようにその後に文字列が続くページまで条件に含めることになってしまいます。
そのため、文字列の最後を表す「$」を用いて「^/form$」と記載して入力ページを指定する正規表現を作成します。
3.直前の文字があってもなくてもOKなメタ文字「?」
直前の文字があるかないかを表す際に使用する記号が「?」です。直前の1文字だけを指定して、その文字があるパターンとないパターンを条件づけしたい場合に使用します。
例:トップページの「/」ありとなしの両方でタグを発火させるトリガーを作成する場合
トップページ( / あり):https://sample.com/
トップページ( / なし):https://sample.com
Page Hostname - 含む - sample.com
Page Path - 正規表現に一致 - ^/?$
同じページだけれども末尾に「/」があってもなくても同じページ、というケースがあります。その両方を指定しなければならない場合などは、「?」を用いることでトリガーを作成することができるようになります。
この時、「Page Path」のみでトップページのトリガーを作成すると、Googleタグマネージャーが複数のWebサイトやテスト環境にも設置されている場合、意図せずそれらのトップページもトリガーの対象に含まれてしまう可能性があります。このような不要な発火を防ぐためには、「Page Hostname」を併用して、特定のWebサイトのトップページであることを明確に指定する必要があります。
4.正規表現の記号ではないことを表すメタ文字「\」
トリガーの対象とするページURLには、ドメイン名に使われる「.(ドット)」や、パラメータの区切りに使う「?(クエスチョンマーク)」など、正規表現で意味を持つ記号が含まれている場合があります。
これらの記号をURLの一部としてそのまま扱いたい場合は、正規表現の特別な意味を打ち消すためのエスケープ記号「\(バックスラッシュ)」を使用する必要があります。
「\」を記号の直前に置くことで、「これは正規表現の記号ではなく、URLの一部ですよ」と明示的に表現することができるようになります。
例:トップページにパラメータ「?s=12345」がある時に発火させるトリガーを作成する場合
URL:https://sample.com?s=12345
Page URL - 正規表現に一致 - https://sample\.com\?s=12345
URLに含まれる「:(コロン)」や「/(スラッシュ)」「=(イコール)」は正規表現では使用しない記号であるため、「\(バックスラッシュ)」を直前に置く必要はありません。
※「\(バックスラッシュ)」は、記載するフォーマットによって「¥」で表示されることがあります。
5.文字列をグループ化することのできるメタ文字「()」
前述した「?」や「\」は指定した1文字に対して効果を発揮する記号ですが、場合によっては複数の文字列に対して正規表現を使いたい場合があります。
その場合に、文字列を一括りのグループとして表すための記号が「()」になります。
例:サブドメインがある場合にもタグを発火させるトリガーを作成する場合
サブドメインなし:https://sample.com
サブドメインあり:https://form.sample.com
Page Hostname - 正規表現に一致 - (form\.)?sample\.com
この場合、サブドメイン部分「form.」が存在する場合としない場合の両方を対象とする必要があります。
そのため、まずはひと固まりの文字列(グループ)として扱いたい箇所を「()」で囲み、且つ、「?」を使用して「(form\.)?」と記載すると、直前の「form.」があってもなくても、という意味になります。
これで、サブドメインの「form.」があってもなくてもマッチする条件を作成できます。
6.OR条件を指定することのできるメタ文字「|」
AパターンまたはBパターンのいずれかを指定することのできる記号です。
正規表現を使わなければ、AB両方のパターンを指定するトリガーを2つ作成するところ、この「|」を使用することで1つにまとめることができる、というような使い方ができます。
非常によく使う記号ですのでぜひ覚えておいて欲しい正規表現の1つです。
例:商品Aと商品Bのページだけでタグが発火するトリガーを作成する場合
商品A:https://sample.com/item/aaa
商品B:https://sample.com/item/bbb
Page Path - 正規表現に一致 - ^/item/(aaa|bbb)
文字列をグループ化することのできる「()」を併用することで、A商品ページを指す「aaa」またはB商品ページを指す「bbb」の場合、というORを条件を作成することができるようになります。
7.どんな文字が何文字あってもOKなワイルドカードを表すメタ文字「.*」
最後は、連続する不特定の文字列パターンをすべて指定したいという場合に使うことのできる記号「.*」です。
「商品ページすべてでタグを発火させたい」のように、特定のディレクトリ配下のページすべてを条件付けしてトリガーを作成することがあります。
そういうケースで、このワイルドカード「.*」を使用します。
例:すべての商品ページでタグが発火するトリガーを作成する場合
商品A:https://sample.com/item/aaa
商品B:https://sample.com/item/bbb
商品C:https://sample.com/item/ccc
Page Path - 正規表現に一致 - ^/item/.*
この例では、商品ページはすべてディレクトリ「/item」の配下に「/~~」という形式でページが構成されるため、商品によって可変する文字列部分をワイルドカード「.*」を用いることですべての商品ページとして指定することができます。
正規表現の組み立て方とチェック方法

正規表現は、学び始めの頃はどうしても難解で、とっつきにくいイメージがありますよね。
メタ文字の意味を覚えるのも一苦労ですが、最初の段階で特に苦労するのは、「どのような条件を正規表現で表現すれば良いのか」という考え方そのものです。
そういう時は、頭の中で複雑に考え込むよりも、具体的なマッチさせたい文字列のパターンを、まずはメモやドキュメントファイルにズラズラっと書き出してみるのも1つの手かもしれません。書き出したものを読み返すことで、条件が意外にスッキリ整理できることもありますので、作成に時間はかかりますが詰まったときなどは試しにやってみてください。
そして、組み上げた正規表現が正しいかどうか、正規表現チェックツールを使って確認すると大変便利です。
正規表現チェックツールまとめ
https://qiita.com/aqril_1132/items/c185c7ad84c129e5a2df
様々なチェックツールがありますので、自分にあったツールを選んで活用すると良いです。
ちなみに、筆者は「Debuggex」を普段使用しています。作成した正規表現がどういうパターンを構成しているか図で表してくれるので、直感的で非常に分かりやすいです。
英語のサイトなので最初は抵抗感があるかもしれませんが、使い方自体はシンプルなのですぐに慣れると思います。
まとめ
正規表現はGoogleタグマネージャーだけでなくGA4でもよく使うツールですので、覚えておくと出来ることが格段に増えますので非常にオススメです。特に、Googleタグマネージャーを使いこなす上では必須のスキルとも言えます。
本記事に書いた正規表現はいずれも基本的なものばかりですが、これだけでもトリガー作成には十分に活用できますので、ぜひ設定の際の参考にしていただければ幸いです。
株式会社SublimeJPでは、Googleタグマネージャーの導入・設定・運用支援を行っております。もし、Googleタグマネージャーについて何かお困りのことやご不明な点がございましたら、お気軽にお問い合わせください。