「タグが発火してないんだけど」と連絡が入った瞬間、ちょっと嫌な予感がよぎりました。
依頼されてGTMの設定をしたばかりだったので、「え、ちゃんと作ったはずだけど?」と思いつつ確認してみたら……確かに動いていない。該当ページを見ても、デバッグモードで見ても、タグはピクリとも動かない。なぜ?何か設定ミス?と焦って調べていくと、原因は「トリガー条件を1つにまとめたせいで、ORじゃなくてANDになっていた」という超基本的なミス。
昔にも一度この仕様で詰まった記憶があり、「そうだった…」と納得したのに、時間が経つとまた忘れてしまうものです。
ということで、自戒と共有を込めて、この記事を書いておこうと思います。
GTMのトリガー条件は「AND」が基本。だから「OR」は分ける必要がある
GTM(Googleタグマネージャー)では、1つのトリガーに複数の条件を指定すると、AND(かつ)条件になります。
つまり、すべての条件が同時に成立してはじめて、タグが発火します。
例として、
- Page Pathが
/thanks
- Page Pathが
/completed
この2つを同じトリガー内に記述すると、「/thanks かつ /completed」という成立不可能な条件になってしまうため、一生発火しません。
OR条件にしたいなら、トリガーを分けて複数作る
「/thanks または /completed でタグを発火させたい」というOR条件を実現したいなら、以下のようにトリガーを2つ作る必要があります。
- トリガーA:Page Pathが
/thanks
- トリガーB:Page Pathが
/completed
そして、この2つのトリガーを1つのタグに紐づけます。
すると、「どちらかの条件を満たしたときに発火」という挙動になります。
これがGTMにおけるOR条件の正しい実装方法です。
「発火しない」ときにまず見るべきポイント
タグが発火しないときは、以下のような点も併せてチェックするのがおすすめです。
- トリガータイプのミス(例:ページビューなのにクリックイベント)
- 変数が正しく取得できていない
- タグにトリガーを紐づけていない
- テスト環境やURLパラメータの違いによる誤認
特に、今回のようなトリガーの条件ロジックの誤解は、設定画面上では一見正しそうに見えるので気づきにくいです。
まとめ
GTMのトリガー条件は、複数指定すればANDになるという仕様です。
これをちゃんと理解していても、ORのつもりで1つのトリガーに詰め込んでしまうミスは、意外と起きます。
今回のように、「前にも調べて理解したはずなのにまたやってしまった…」というケースは本当に多い。
だからこそ、その都度、ちゃんと記録しておくことが大事です。
タグが発火しないときは、まずAND条件になっていないかをチェックする。
これを習慣にしておくと、GTMでの事故がグッと減るはずです。