アナリティクスの解析精度を高めるためにやったこと
SEO
アクセス解析ツールにはいろいろありますが、やはり有名どころは「Googleアナリティクス」。
しかしデフォルトの機能だけだとPV数や直帰率、離脱率くらいしかわからなくて心もとないです。
スパム行為によって変なアクセスデータが大量に入ってきたりすることもあります。
少し長い記事になりますが、Gooleアナリティクスでの解析精度を高めるためにやったことを紹介します。
不要なアクセスデータを除外
自分のアクセスやリファラースパムを除外します。
自分のアクセスを除外する
自分のアクセスを除外するにはIPアドレスで弾く方法もあるのですが、僕はいろんなところからアクセスしているので別の手段をとりました。
このやり方はWordPress限定ですので注意してください。
具体的には、ログインユーザではGoogleアナリティクスタグ読み込まないようにしました。
ぶっちゃけ僕が使っているテーマ「Simplicity2」ではデフォルトでこの設定になっているので、普通は気にしなくていいのですが、後述するタグマネージャーと噛み合わせたり、アナリティクスタグを編集したかったりしたので、head内に直書きしています。(2017年9月時点)
<?php if (!is_user_logged_in()) : ?>
<!-- Googleアナリティクスのタグ -->
<?php endif; ?>
is_user_logged_inは、WordPressの条件分岐タグで、「ログインしているかどうか」を判定します。 上記の例だと、ログインしているユーザにはアナリティクスタグが読み込まれないため、アナリティクスのデータにログインしているユーザのデータが混じらなくなります。
ただし、アナリティクスがちゃんと動作しているかを確認するときは、一旦ログアウトする必要があります。 気をつけるようにしましょう。
リファラースパムを除外する
リファラースパムを除外します。
リファラースパムとは
リファラースパムとは、やたらめったらアクセスを残して回り、アナリティクスのデータに変なサイトへのURLなどを記録していくスパムのことです。
アクセス解析をしていると、どこに貼られたリンクによって自分のサイトへアクセスされたかが気になってしまうのが性というものです。
リファラースパムはそんなウェブサイト運営者の心理を利用して、悪質サイトへと誘導するのを目的としています。 不審なドメインからのアクセスがあっても、安易にリファラーURLをクリックしてはいけません。
言語設定not setをフィルタする
リファラースパムはアクセス元をわからなくするために、わざと言語設定をしていないことが多いです。 そのため、言語設定not setのフィルタをアナリティクス側で作成することで大幅に除外できます。
アナリティクスのホームを開いたら、左下の「管理」をクリックします。
アカウント->すべてのフィルタを開き、「フィルタを追加」をクリックします。
フィルタ名をなんでもいいので適当に設定。 僕は「not set除外」にしました。
フィルタの種類をカスタムにして、除外にチェックを入れます。 フィルタフィールドを「言語設定」にして、フィルタパターンをnot setにして保存します。
すると言語設定がnot setになっているアクセスはアナリティクスのデータに反映されなくなります。
ボットやスパイダーからのアクセスを除外
ついでに、ボットのアクセスもフィルタリングします。
管理->ビューから「ビュー設定」を開きます。
下の方に「既知のボットやスパイダーからのヒットをすべて除外します」という項目があるので、チェックを入れて保存します。
滞在時間やリンクのクリックを計測できるようにする
アクセス解析をしていると、PV数や直帰率に目が行きがちですが、何もPVや直帰率ばかりがウェブサイトのすべてではありません。
タグマネージャーの利用:導入と設定
たとえば、1分滞在してから直帰した場合と、10秒も滞在しないで直帰した場合、これらはどちらも直帰として扱われて直帰率(ついでにPV数)を増加させる元になりますが、前者と後者では全く意味が異なります。
前者は「ふむふむ。なるほどなるほど」と満足してから直帰するのに対して、後者は「あ、自分が探している情報はここにはなさそうだ」という感じに開いた瞬間に直帰しています。
とくに、一般的な企業サイトやショップサイトとは違ってコンテンツが一ページで完結しているブログでは、前者のような直帰が多いです。
そこで、滞在時間を計測できるようにするため、「Googleタグマネージャー」というものを使います。 少しばかり設定が難解で僕も手こずりましたが、使いこなせるようになると便利です。
ここまで読んでくれている皆さんはGoogleアカウントを持っているはずなので、右上にあるログインからGoogleアカウントにログインします。
タグマネージャーアカウント作成
タグマネージャーのアカウントを作成します。
アカウント名は任意です。好きなものを設定してください。 僕は自分のニックネーム(ペンネーム)を入力しました。
次にコンテナ名ですが、これも自由です。
ウェブサイトだと、ドメイン名を設定するとわかりやすいかと思います。
自分のサイトのドメインを設定してください。 コンテナの使用場所は「ウェブ」です。
設定が済んだら作成をクリック。 タグマネージャーの利用規約が表示されるので、「はい」と選択してください。 わかりづらいですが選択肢は右上にあります。
タグマネージャーのコードをソースに貼り付ける
タグマネージャーのインストールと書かれていますが、ようはソースをコピペしてくださいということです。
ちなみにこのソースは、管理タブの「コンテナ->Googleタグマネージャーのインストール」からいつでも確認できます。
上のコードはhead内であればどこでも問題はありません。 僕はアナリティクスタグの直後においています。
<?php if (!is_user_logged_in()) : ?>
<!-- Googleアナリティクスのタグ -->
<!-- Googleタグマネージャーのタグ -->
<?php endif; ?>
僕と同じように進めれば、こんな感じになるはずです。 つまり、これもWordPressにログインしていると読み込みません。
下のコードは、body内であればどこでも問題ありませんが、できればbodyセクションが始まった直後のほうがよいです。 ページの読み込み時間などを考えると、そのほうが正確な計測ができるからです。
これをbody内に書き入れるときも、
<?php if (!is_user_logged_in()) : ?>
<!-- Googleタグマネージャーのタグ -->
<?php endif; ?>
このようにして、ログインユーザでは読み込まないようにします。僕がWordPressテーマとして使っている使っているSimplicityではタグマネージャーを使うことを想定されていないようで、body直後に入れるには親テーマの編集が必要でした。 親テーマを編集するのは危険なので、僕は多少の誤差を覚悟して子テーマのfooter-inset.phpを編集し、フッターに入れています。
タグマネージャーの利用:滞在時間計測編
滞在時間を計測するための設定をします。
トリガーの設定
まずはトリガーというものを作成します。
- トリガーの種類は「タイマー」
- トリガー名は「20秒滞在」
- イベント名は「gtm.timer20s」
- 間隔は20000、制限は1、
- 条件を「Page URL」「正規表現に一致」「.*」にします。
イベント名はデフォルトの「gtm.timer」でも動きますが、必ず変えてください。
ちなみに60秒滞在のタイマーを作る場合は、間隔を60000に変えればOKです。
タグの設定
次にタグを作成します。
トリガー単体では効果を発揮しないので、トリガーに効果を持たせるためのものだと思ってください。 トリガー=発動条件、タグ=効果みたいなものです。
- タグ名は「アナリティクス-20s」
- タグタイプは「ユニバーサルアナリティクス」
- カテゴリは「滞在タイマー」
- アクションは「{{Page URL}}」
- ラベルは「20秒以上滞在」
- 非インタラクションヒットは「真」にします。
最後に「このタグでオーバーライド設定を有効にする」にチェックを入れ、トラッキングIDに自分のサイトで使っているアナリティクスのトラッキングIDを入力。
非インタラクションヒットについて これは「20秒滞在したあとに直帰した場合、それを直帰として計算するか」を決めるものです。
「真」にすると直帰として計算するので、直帰率にふくまれます。 「偽」にすると直帰として計算しないので、直帰率にふくまなくなります。
100から直帰率を引けば「どのくらいのユーザが他のページを見てくれたか」がわかるので、僕は直帰としてみなす=真に設定しています。 「20秒滞在したら直帰じゃないよ」とアナリティクスに伝えたい場合は、偽にしてください。
トリガーにあらかじめ作っておいた「20秒滞在」を選択すれば完了です。
タグマネージャーの利用:リンククリック計測編
次はリンククリックの計測です。
こちらでもすることはだいたい同じですが、先に変数の設定をする必要があります。
サイドメニューの変数をクリックして変数の設定画面を開き、組み込み変数の「設定」ボタンからクリックに関する変数すべてにチェックを入れます。
今回は使わないものもあるのですが、とりあえず全部入れておくといいです。
こうすることで、クリックに関する変数が使えるようになります。
内部リンククリックの計測
先に内部リンクの設定をします。
トリガーの設定
- トリガーの種類は「クリック-リンクのみ」
- トリガー名は「内部リンククリック」
- 「タグの配信を待つ」にチェックを入れ、待ち時間の上限を2000ミリ秒
- 「妥当性をチェック」にチェック
- 条件を「Page URL」「正規表現に一致」「.*」にします。
- トリガーの発生場所を一部のリンククリック
- 条件を「Click URL」「含む」「自分のサイトのドメイン」にします。
条件に自分のサイトのドメインを含むことで、内部リンクのときだけ計測してくれるようになります。
タグの設定
- タグ名は「アナリティクス-内部リンク」
- タグタイプは「ユニバーサルアナリティクス」
- カテゴリは「リンククリック」
- アクションは「{{Click URL}}」
- ラベルは「{{Click Text}}:{{Page Path}}」
- 非インタラクションヒットは「偽」にします。
最後に「このタグでオーバーライド設定を有効にする」にチェックを入れ、トラッキングIDに自分のサイトで使っているアナリティクスのトラッキングIDを入力すれば完了です。
今回は内部リンクによるイベントなので、直帰とは見なさないように非インタラクションヒットを偽にしています。
外部リンククリックの計測
次に外部リンククリックの設定です。
トリガーの設定
-
トリガーの種類は「クリック-リンクのみ」
-
トリガー名は「外部リンククリック」
-
「タグの配信を待つ」にチェックを入れ、待ち時間の上限を2000ミリ秒
-
「妥当性をチェック」にチェック
-
条件を「Page URL」「正規表現に一致」「.*」にします。
-
トリガーの発生場所を一部のリンククリック
-
条件を「Click URL」「含まない」「自分のサイトのドメイン」にします。
今度は発生場所の条件は「含まない」にしてください。
自分のドメインを含まない=そのリンクは外部リンクということになります。
タグの設定
- タグ名は「アナリティクス-外部リンク」
- タグタイプは「ユニバーサルアナリティクス」
- カテゴリは「リンククリック」
- アクションは「{{Click URL}}」
- ラベルは「{{Click Text}}:{{Page Path}}」
- 非インタラクションヒットは「真」にします。
最後に「このタグでオーバーライド設定を有効にする」にチェックを入れ、トラッキングIDに自分のサイトで使っているアナリティクスのトラッキングIDを入力すれば完了です。
また、外部リンクで外に出ていってしまうので、非インタラクションヒットは真です。
ただ、自分のサイト内に貼られているリンクをクリックしているとという行動は、一概に戻ってこなくなるとは言えません。
自分が参考サイトとして貼り付けたリンクなども外部リンクだからです。
そのため、人によっては「偽」にしていたりします。
僕は「真」にして直帰とみなしていますが、ここは好きな方を選択しましょう。
あとがき
長々とお疲れ様でした。 ここまで読んでくれてありがとうございます。
この記事での設定(主にタグマネージャー)で、僕のこのブログのアナリティクスはこんな感じになっています。
意味は、クリックされたリンクテキスト:そのリンクがクリックされたページのパスです。
アナリティクスを眺めていると、PV数、直帰率といったものが気になってしまうものです。 しかし、この記事を読んでくれた方々は、これらの数値がそれほど大きな意味も持たないということも感じてくれたんじゃないかなと思います。
もちろん、PV数は大切です。
しかし、アクセス解析はウェブサイトをよりよいものにするために行うものであって、「アクセス数を稼ぐためにはどうしたらいいか」を考えるためのものではありません。
Googleのクローラーは滞在時間なども検索結果の順位に反映していると言われています。 訪問者が読みたくなる、つまり滞在時間などが長くなるような、良質なコンテンツを作ることがアクセス数を増やす近道だということが伝わるとうれしいです。
広告