LoginSignup
2
1

More than 5 years have passed since last update.

Google Analyticsでクリックイベントの計測漏れを防いだら戻れなくなる件

Posted at

GAでaタグのクリックイベントを計測する場合に計測漏れが発生するようなので以下の対応を入れてみた。

アウトバウンド リンクをトラッキングする - アナリティクス ヘルプ

しかしこの方法だとnavigator.sendBeaconに対応していないブラウザではloadイベントが発火する前にリンクをクリックすると、履歴に登録されず戻るボタンで戻れなくなる(さらに一つ前のページに戻る)現象が発生してしまうようだ。

試しにloadイベントが発火するより前に非同期でページ遷移してみると、元いたページの履歴が消失することが分かった。

// Chromeのコンソールから実行
setTimeout(function() {location.href="http://m.yahoo.co.jp/"});

navigator.sendBeaconのブラウザの対応状況はあまりよろしくないようなので別の対策を講じる必要がある。
http://caniuse.com/#feat=beacon

  1. loadを待つ

    • なんとかビリティ的却下。
  2. loadイベント発火前に遷移する場合はhistory.pushState()で履歴を登録してから遷移する

  3. clickイベントではなくtouchstart~touchendで送信する

    • スマホサイトの場合はjQuery mobileのtapイベントで送信すればスマートフォンではclickまでデフォルトで300msディレイがあるため多少の計測漏れが防げる。

ちゃんと検証できてないですが、3の対応が現実的な気がします。
PCサイトやclickのディレイを無くしてる場合はどうしたらいいのだろうか。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1