Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the all-in-one-wp-security-and-firewall domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/meaningfree/www/analytics/wp-includes/functions.php on line 6114
【GA】ページ解析に追加されるリンク箇所ごとのクリック率計測には色々と注意が必要 – meaningfree.analytics
月. 1月 13th, 2025

米国時間で昨日GA公式ブログで発表されたページ解析の機能向上について、ヘルプ記事を読んでみたら色々と注意が必要だったのでまとめてみました。

尚、まだリリースされていない機能ですので推測の部分が含まれることをご了承くださいませ。

何ができるようになるのか

これまでページ解析のレポートで表示されるリンクのクリック率はリンク先URLごとに集計されていました。なので、1ページに同じリンク先URLのリンクが複数あった場合、それらは合算されて合計値がそれぞれのリンクのクリック率として表示されていたわけです。


こんな感じ。

これが今回の機能向上で、同じリンク先URLでもリンクごとにクリック率が分かれてレポートされるようになります。
私のようなWeb制作者にとっては非常に嬉しい機能向上です。

その他、リンク先がリダイレクトされてURLが毎回変わるリンクや、ページ遷移を伴わないJavaScript関数へのリンクなども計測されます。

そのあたりのことは公式ブログをご参照。
http://analytics.blogspot.jp/2012/11/announcing-enhanced-link-attribution.html

「これはすげー!」っていうことで盛り上がった後にヘルプ記事を読んだら、あまり喜べない感じでしたので、なぜ喜べないかご報告いたします。

注意点1: HTMLタグのID属性の値を元にリンクを識別

注意点が色々あるとは言っていますが、ここだけが問題だと言っても過言ではありません。

ヘルプ記事によれば、

  • リンクの識別はクリックされた要素(HTMLタグ)のIDを元に識別するよ
  • クリックされた要素にIDがない場合は、親要素を最大3つまで辿ってID情報を探すよ

と書いてあります。

つまり下記のようなHTMLの記述の場合、

[html]
<a id="help" href="/help">
<img src="/images/help-icon.png" />
</a>
[/html]

画像(imgタグ)にはIDがありませんので、親要素のaタグのIDを使って識別されます
ここまではヘルプ記事に書いてある通り。これは「なるほど、すごいな」と思います。

問題は下記のようなHTMLの記述だった場合です。

[html]
<div id="help">
<a href="/help1/">
<img src="/images/help-icon1.png" />
</a>
<a href="/help2/">
<img src="/images/help-icon2.png" />
</a>
</div>
[/html]

画像(imgタグ)にもaタグにもIDがありませんので、どちらの画像をクリックしてもIDは共通の親要素である同じdivタグのIDが使われることになると思われます。
つまりこのケースだと2つのリンクは合算されてしまうということです。これだと機能向上の意味がないですよね…。

実際はこのようなケースにも対応しているかも知れませんが、ヘルプの文面だけ読むと上記のようなことになると思われます。

普通のマークアップではすべてのaタグにIDを付けるなんてことはしませんし、そんなことするとなるとIDの命名ルールを考えて、リンクが追加される度にIDが重複しないように注意しなければならないという重い十字架を背負うことになります。

基本的にはCSSやJavaScriptの記述に必要なところだけIDを付けるので、Googleアナリティクスのページ解析のためだけにこの作業をやるというのは、現実味がかなり少ない気がします。

かつ、リンクのクリック率が合算されているかどうかがHTMLのソースをしっかりと確認しないと判断できないというのも、分析する上ではかなりの不便が生じそうです。

あと、親要素を3つ辿ってもIDが見つからない場合はどうなるのでしょうかね。

2012年11月14日追記:

日本語版ブログでもアナウンスがありましたが、「ページ解析のエレメント ID と飛び先 URL の組み合わせで」という記載がありましたので、IDとURL両方で識別するのかも知れません。というか、そう考えた方が自然でしたね…。

例えば、

  • http://www.domain.com/help1/:ID=help
  • http://www.domain.com/help2/:ID=help
  • http://www.domain.com/help1/:ID=help2

こんな感じでしょうか。
これなら同じIDのタグで囲われた範囲内に同じリンク先URLのリンクがある場合のみ合算されてしまうということになりますので、だいぶ実用的な範囲のデータになりそうです。
(親要素を3つ辿ってもIDがない場合の問題は残りますが)

注意点2: クリック情報がGAサーバに送信されるのは、次のページを表示したとき

クリックされたリンクIDの情報がGAサーバに送信されるのは次のページに遷移して _trackPageview が実行された時です(リンクIDの情報は__utmliというCookieに保存されています)。

ですので、離脱したページのクリック情報は取得できないと思われます。
セッションあたりのリクエスト数には制限がありますし、今現状も同じですのでこれは仕方ないかなと思います。

注意点3: 非同期のトラッキングコードのみで使用可能

現状まだ以前の(同期の)トラッキングコードを使っているサイトも多々あると思いますが、最新の(非同期の)トラッキングコードでのみ使用できるようです。

注意点4: 機能を有効にするとレポートの表示が遅くなる

と、ヘルプ記事に書いてありましたが、実際どの程度遅くなるんでしょうね。
あまり気にすることではない気がしますが、一応注意点です。

—————————

ということでございまして、IDの件だけは何とかならんものかなぁという感じです。
実際に機能が使えるようになったら、色々検証してみたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です