記号で条件を表現できる
これまでのトリガーでは、演算子に「等しい」や「含む」、「先頭が一致」などを選択してきました。それ以外の選択肢に「正規表現に一致」(「正規表現に一致しない」)というものがあります。この演算子を選択すると、条件の設定に「正規表現(Regular Expression)」を使えるようになります。
正規表現とは、決められた記号を使って特殊な条件を表す文法のことです。例えば「/category/megane/」というパスと「/category/contactlens/」というパスがあったとします。この2つのディレクトリにタグを配信したい場合は、4-5で解説したように通常は別々のトリガーとして登録することになります。しかし、別々のトリガーとして登録すると数が膨大になってしまう場合などは後から見づらくなってしまうため、「できれば1つのトリガーにまとめたい」と思う場合もありますよね。そういうときに使うのが正規表現で、この例であれば「/category/(megane|contactlens)/」と記述すると、2つのディレクトリを表現できるのです。
Clik here to view.

●正規表現で2つのディレクトリを指定する例
この例では、「()」が「この中では」という範囲を、「|」(パイプ)が「または」という意味を表しています。つまり、「()」内は「meganeもしくはcontactlens」という意味になるので、この正規表現では「/category/megane/」または「/category/contactlens/」という意味を表しています。正規表現では、このように記号を使って条件を表現します。
覚えておくと便利な正規表現
正規表現は、Googleタグマネージャに限らずいろいろなテキストエディタの検索機能であったり、Googleアナリティクスの絞り込みなどの一部機能でも利用可能です。インターネットで「正規表現」と検索すればたくさんの解説ページが見つかりますが、使用できる条件や記号はとても多岐にわたり、なじみのない人には少々使いづらいものであることも確かです。
そこで、ここでは特にGoogleタグマネージャのトリガー作成で利用できそうな記号と例文をまとめたので、参考にしてみてください。
●「^」(ハット)=「先頭」を表す
●「$」(ダラー)=「末端」を表す
●「()」(パーレン)=「範囲」を表す/「|」(パイプ)=「または」を表す
●「.」(ピリオド)=「任意の1文字」を表す/「*」(アスタリスク)=「0文字以上の繰り返し」を表す
●「?」(クエスチョン)=「直前の文字があってもなくてもいい」を表す
●「-」(ハイフン)=「数値や文字列の範囲」を表す
上記で挙げたものは、それぞれ組み合わせることができます。例えば商品詳細ページのURLが「/category/(カテゴリ名)/(商品ID)/」で、レコメンドページだと末尾が「/(またはindex.html)」から「/recomend.html」に変わるようなWebサイトの場合、以下のように記述すると、「『megane』もしくは『contactlens』どちらかのカテゴリーに属するすべての商品の詳細ページまたはレコメンドページ」といった複雑な条件も1行で指定できます。
ここで紹介した記号以外にもさまざまなものがあるので、より複雑な条件を作りたい場合は詳しく調べてみることをおすすめします。
●正規表現を組み合わせた例
正規表現では「.」などの記号は「メタ文字」と呼ばれ、特別な意味を表します。ただ、上の例の「index.html」のように文字列としての「.」を表現したい場合は、直前に「\」を付けて「\.」と記述することで、正規表現の記号としてではなく文字列としての「.」という意味になります。「.」以外のほかの記号も同様で、文字列にしたい場合は「\」を直前にくっつけて記述します。この「\」とその後ろの記号を含めて「エスケープ文字」と呼びます。
※このコンテンツはWebサイト「Web担当者Forum - 企業ホームページとネットマーケティングの実践情報サイト - SEO/SEM アクセス解析 CMS ユーザビリティなど」で公開されている記事のフィードに含まれているものです。
オリジナル記事:正規表現でタグの配信条件を設定する、超上級のタグ管理ワザ(全20回の13) | 実践 Googleタグマネージャ入門 | Web担当者Forum
Copyright (C) IMPRESS CORPORATION, an Impress Group company. All rights reserved.
Clik here to view.
Clik here to view.
Clik here to view.
Clik here to view.
Clik here to view.