衣袋宏美のデータハックス

クリックマップでは、同じページへの複数リンクのクリック数は、別個に集計して表示されるのか? [アクセス解析Q&A]

クリックマップを使ったリンクごとのクリック計測はどれぐらいの精度で可能なのか?
衣袋宏美のデータハックス

質問:ページ内のリンクごとのクリック数データを取得したいと考えています。「クリックマップ」というレポートでは、ページ内のリンクごとのクリック回数(あるいはクリック率)を実際のページ上に重ねて表示してくれますが、同じページをリンク先とするリンクが複数個所あった場合、それぞれ区別して表示しているのでしょうか?

答え同じページへのリンクが1ページ内に複数ある場合に、リンクごとにクリック数を表示するツールもあれば、合計値をそれぞれのリンクに表示するツールもあるようです。リンクごとのクリック数を高い精度で計測したい場合は、別の方法も検討した方がいいでしょう。

datahacks57.png
図1 クリックマップの例:Google Analyticsの「ページ解析」。リンクごとにクリック率が表示されている

解説クリックマップは直感的にページ内のどのリンクがクリックされているのかを把握できる優れた方法です。しかし問題点がないわけではありません。

クリックマップではリンクごとに計測するのは難しい

問題点の1つ目は、質問にあるように、同じページへのリンクが複数ある場合に、どのリンクをクリックしたのかをどう判別するのかということです。ツールによって仕様は異なると思いますが、次のような処理をしていると考えられます。

  1. クリックマップを表示しようとしている該当ページが参照元になっているデータを抜き出す
  2. このデータからURL別に件数を集計する(これが飛び先URL別のクリック数となる)
  3. クリックマップを表示しようとしている該当ページのリンク先とマッチングさせて、上記クリック数を表示する

このような集計では、同じページへのリンクが複数あった場合、どのリンクをクリックしたのかは判定できません(もちろんクリックした「物理的な」位置を計測するような仕様であれば、この問題は生じませんが、別に下記の2つ目の問題点が生じます)。

このケースでは、複数のリンクのうち、どのリンクをクリックしたかを判定せず、同じリンク先があれば、クリックマップではどちらのリンクにも合計のクリック数を表示することが多いと思います。

データと画面イメージにズレがあることがある

問題点の2つ目は、クリックマップのベースとして使われるページの画面イメージです。サイトによってはトップページのレイアウトも毎日のように変化することがあるでしょう。時々刻々、変化があるたびに画面イメージをキャプチャーして取っておくというのは現実的ではありません。クリックマップに使われるイメージは、ツールでクリックマップレポートを見ているその瞬間の対象Webページを表示するのが一般的です。

一方、ツール上で表示される「クリックされた位置」は、過去のある時点でのページ構成におけるリンクの「位置」かもしれませんし、逆に現在の画面においてそのリンク先が存在する場所に表示されるのかもしれません。

ということは、現在のページの構造が、データを取得した時点のページ構造と変わっている可能性もあります。現時点ではクリックできない場所に、過去の膨大なクリック数が表示されているかもしれませんし、リンク先はマッチしていたとしても、当時は別の場所にリンクがあったかもしれません。クリックマップやヒートマップといったツールを使用する場合は、こういった点について、ツールベンダーに詳細な仕様を確認した方がいいでしょう。

同一ページへの複数リンクの区別はクリックマップではなく別の方法を使う

では、サイト内の同じページへのリンクが1ページ内に複数ある場合に、どちらがクリックされているのかを精度高くカウントするにはどのようにしたらいいでしょうか。

この場合は、クリックマップにこだわる必要はありません。リンクURLにダミーパラメータを付けたり、ブラウザのクリックイベント時に動作するJavaScriptの「onclick」というイベントハンドラを利用して解析しましょう。

ダミーパラメータを利用してリンクごとのクリック数をカウントする

ダミーパラメータを付与する方法ですが、2か所に同じページへのリンクがあったら、次のようにリンクを記述します。ダミーパラメータは静的なページに「?」以降の文字列を付加しても無視されるという性質を利用するものです。

<a href="http://example.com/index.html?from=left">トップへのリンク(1つ目)</a>
<a href="http://example.com/index.html?from=right">トップへのリンク(2つ目)</a>

サーバーログ型のアクセス解析ツールであれば、リクエストされたURLがログに残るので、それぞれのパラメータのついたURLをカウントすれば、それぞれのリンクのクリック数がわかります。JavaScript計測タグ型のアクセス解析ツールの場合は、リクエストされたURLのパラメータまで区別する方式であれば、URL別のページビュー数を表示するメニューで同様に確認できるでしょう。

このダミーパラメータについては「メルマガの効果測定はどうすればいい? [アクセス解析Q&A]」でも解説している通り、リンクの分散などのリスクがあります。そこで最も優れた方法は次の「onclickイベント」を使う方法になります。

onclickイベントを利用してクリック数をカウントする

続いてonclickイベントを使う方法です。ツールによって実装方法は異なりますが、ブラウザのクリックイベント時に動作するJavaScriptのonclickというイベントハンドラを利用て解析サーバーに「リンクがクリックされた」という情報を送信します。

たとえば、下記はGoogle Analyticsの非同期トラッキングコードでイベントとしてカウントする場合の記述方法です。この方法を使うと、ページビューのカウントとは別に、「イベント」という仕組みでリンクがクリックされたことを記録してあとから解析できます。

<a href="http://example.com/index.html" onclick="_gaq.push(['_trackEvent', 'clicked', 'toplink1']);">トップへのリンク(1つ目)</a>
<a href="http://example.com/index.html" onclick="_gaq.push(['_trackEvent', 'clicked', 'toplink2']);">トップへのリンク(2つ目)</a>

こうすることで、同一ページにあるトップへのリンクのうち、1つ目(toplink1)がクリックされた回数と、2つ目(toplink2)がクリックされた回数を別個にカウントし、リンク別のレポートを作成できるのです。

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

アクセシビリティ
広義には、障害者、高齢者を含むすべての人間が、同じレベルでサービスや機器、施設を ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]