Contact form 7で送信ボタンが押された数をトラッキングしようと思った時の話です。最近では、Google tag managerを使って簡単にトラッキングできるようなので軽い気持ちでトライしたらアナリティクスでイベントがまったく取得できなくて大変だったのでメモしておきます。
イベントが計測できない時は、非インタラクションヒットを真にする、これがポイントでした。
CF7送信回数計測の全体の流れ
GTMで計測する際に、必要なのは3つです。
慣れると当たり前の話なんですが、GTMはたまにしか使わないのでいつも忘れます。
変数、タグ、トリガーの関係に慣れてくると忘れなくなります。
設定方法は検索すると沢山出てきますが、GTMの機能だけで閉じて計測する方法を採用します。
①GTMで変数を有効化する
トリガーを定義する時に参照する変数を有効化します。
変数⇒設定とクリックします。
有効化するのは、フォームに関するものです。
今回使うのはForm Classesだけですが、他も有効にしておく方が良いでしょう。
②GTMでトリガーを設定する
トリガーを新規作成する
トリガー⇒新規とクリックします。
ContactForm7計測(任意)とトリガー名を入れて真ん中をクリック
トリガーのタイプを選択
フォームの送信を選択
トリガーの設定画面
タグの配信を待つ
タグの配信を待つ に ✓ します。
これらすべての条件がtrueの場合にこのトリガーを有効化
以下の3つを指定します。
このトリガーの発生場所
計測するフォームを限定できるように、
一部のフォーム
を選択します。
イベント発生時にこれらのすべての条件がtrueの場合にこのトリガーを配信します。
3つの入力欄に以下のように入力します。
通常のcontact form7の場合は、formタグに付加されているwpcf7-formを指定すればよいです。
Contact form 7 add confirmを使っている場合は、確認ボタンでもクリックカウントされてしまうので、確認画面のsubmitのみ計測できるようにclassを変更して指定しています。
③GTMでタグを設定する
まず、最終形はこんな感じになります。
タグを新規作成する
タグ⇒新規とクリックします。
タグタイプの選択
ユニバーサルアナリティクスを選択します。
タグの設定
トラッキングタイプ
イベント
にします。
カテゴリ
問い合わせ送信(任意)にします
非インタラクションヒット
偽⇒真に変更します。
真にしないとイベントがアナリティクスで観測できませんでした。
googleアナリティクスのページビュータグで、非インタラクションヒットを真にしないと直帰率が急激に下がる問題がありますが、今回の件はなぜ影響したのかよくわからないです。
もしかしたら関係ないのかもしれません。
「非インタラクションヒット」とは
イベント計測をこれまで利用していた人でも、この「非インタラクションヒット」というオプション項目は見覚えがない人もいるかもしれません。通常、イベント計測は「ユーザーの何らかの行動」を計測することに使われます。そのため、Googleアナリティクスでは「イベント計測がされた」=「ユーザーが何らかの行動をした」=「何らかの行動をしたので、この後Webサイトから離脱しても『直帰(何もせずに帰った)』ではない」と見なす仕様になっています。つまりデフォルトの状態では、「直帰率」に影響が出てきます。しかし、場合によっては「ユーザーの行動とはかかわりのない」イベント計測をしたいこともあると思います。そういったとき「非インタラクションヒット」を「真」(デフォルトでは「偽」)にすると、「このイベント計測はユーザーの行動とはかかわりがありませんよ」と示すことになり、直帰率に影響しなくなります。
https://webtan.impress.co.jp/e/2015/01/21/18969
Google アナリティクス設定
UA-から始まるトラッキングコードが設定されている変数を指定します。
イベント発火の確認方法
とりあえず、こちらをインストールします。
GTMで使うので、設定などは特になにもしなくてよいです。
GTMでプレビューモードにすると、tag assistantが起動します。
プレビューモードで、フォームの送信ボタンを押します。
アナリティクスでリアルタイム⇒イベントと進んで計測できていれば完了です。
まとめ
最初に設定した時は、タグマネージャーでは発火しているのにアナリティクスでイベントが計測できなくてなんでだろ?とかなり悩みました。
他のタグでイベント計測できているものを確認したら、非インタラクションヒットが真になっていました。
非インタラクションヒットを偽⇒真に変更したらアナリティクスでもイベント計測できるようになりました。