みんな使ってますか?「カスタムイベント」トリガー
GTM設定の基本はある程度できるようになってきたら、一つの壁にぶち当たることがあります。
「あれ、このユーザーの行動、トリガーが用意されていない…」
通常で用意されているトリガーはざっくりこんな感じ
- クリック系…クリックした時
- ページビュー系…ページを見た時
- ユーザーエンゲージメント系…Youtube見た時、スクロールした時、要素が表示された時 など
これら通常で用意されているトリガーでは対応しきれないものも。
ほとんどの案件は上記で対応可能ですが、うちの場合複雑なご相談をいただくことが多く、上記では対応しきれないものも割とあります…
例えば、こんな感じのご相談。
- ECサイトで特定の商品を購入したときだけイベント発火させたい
- フォーム送信なんだけど、特定のカテゴリでのフォーム送信があったときだけ発火させたい
- サイト側のJavaScriptの処理中で使っている変数を元に、特定のタイミングでイベント発火させたい など
そんな時にとても役に立つのが「カスタムイベントトリガー」
トリガーの中の「その他」の項目にあって、気づいていない方もいるかもしれませんが、
少し複雑な設定だとこれ、かなり使います。
設定画面はこんな感じで、「なんじゃこりゃ?」と思ってそっと閉じた経験がある方は多いのではないでしょうか?(私も初めはそうでした…w)
カスタムイベントトリガーは、かの有名なデータレイヤーを利用したトリガー
苦手な方も多いかもしれませんが、これがGTM設定をしていくと避けては通れない(ギターで言うと「F」)もので、かの有名な「データレイヤー」絡みのトリガーです。
データレイヤーを語り出すと長文の記事になるので、本記事ではイベントトリガーに絡むお話をします。
サンプルを見てもらった方が早いかと思うので、下記を見てください。
dataLayer.push({'event': 'purchase_product12345'});
上記のスクリプトを実行すると、データレイヤーに「purchase_product12345」というイベントが発生したよ〜と記録することができます。
カスタムイベントはこの「DataLayer」に「event」が記録されるのを監視しています。
eventが記録されるごとに「俺が監視しているイベントではないだろうな?!」と見張っています(ちょっと怖い)そして、「purchase_product12345」を見張っている場合は、上記のイベントを感知してトリガー発火します。
あと、お気づきかと思いますが基本的にJavaScriptで記述を行います。
つまり、プログラムできる方であればユーザーの行動に紐づけて、任意のタイミングで発火するトリガーを作ることができます。
逆に言うと、プログラムできないと、GTMが用意してくれたトリガーでのタイミングのイベントしか取れないということですね。(もしくは制作会社さんに依頼する必要がありますが、制作会社さんも「GTMのカスタムイベントとかあんましらないわ」というところもありますので、その場合、打つ手がなくなってしまいます…)
(決して宣伝目的だけではないですが…w)弊社は、GTMの駆け込み寺みたいになっている場合も多く、上記のようにカスタムイベント利用しないと、発火できないタイミングのイベント取得のご相談も多いです。
GTMを制するためにはトリガーを制する必要がありますが、トリガーを制するにはカスタムイベントはとても重要ですというおはなしでした!