こんにちは、Ryohei(@ityryohei)です!

先日、いつもお世話になっているクライアントから稼働しているアナリティクスでイベントトラッキングを計測したいという相談を受けました。

イベントトラッキングの設定は何度かやったことがある内容です。いつものようにスクリプトを埋め込み、テストページをアップして、リアルタイムプレビューでイベントが計測されているか確認します。

が、ここで問題が発生しました。

何度クリックしてもイベントが計測されません。ページをリロードしても同じことです。アナリティクスのイベント解析ページは反応しないままです。

困ったときはグーグル先生に頼ります。ブラウザを開いてキーワードを入力してググります。イベントトラッキングが計測されない場合、下記のようなキーワードで検索をかけるかと思います。

「イベントトラッキング 計測されない」

私もそのままのキーワードで検索しました。先人の知恵をありがたくお借りして対応を進めます。

上記のキーワードで検索していただければ自ずと答えは出るかと思います。ただ、私の場合は検索以前に根本的な部分を把握していなかったため、解決までに結構な時間を無駄にしてしまいました。私と同様にイベントトラッキングが計測されなくて悩んで方がいらっしゃるかもしれないので、記事にまとめることにしました。

基本的には下記公式に詳しい内容がございますので、お時間がある方はそちらをご覧いただければと思います。

https://developers.google.com/analytics/devguides/collection/gtagjs/migration?hl=ja

では、解説していきます。

トラッキングコードの種類を確認する

まず最初に理解しておかなければならないのは、Googleアナリティクスの管理画面から発行されたタグにはいくつか種類があるということです。調べたところ、現状では下記の2種類が稼働しているようです。

  • analytics.js
  • gtag.js

上記はサイトに貼付しているアナリティクスのタグを見ればわかります。まずはアナリティクスのトラッキングタグをご確認ください。タグの種類によってイベントトラッキングのスクリプトが若干かわってくるため、この部分を認識しておくことが重要です!

ちなみに「analytics.js」が古く、「gtag.js」が新しいアナリティクスのタグになります。

analytics.js

サイトに埋め込まれているアナリティクスのトラッキングタグがanalitycs.jsの場合、下記のようなタグが埋め込まれているかと思います。

<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

ga('create', 'GA_MEASUREMENT_ID', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->

具体的には、下記の先頭が「ga」になっていたらanalitics.jsが使用されています。

ga('create', 'GA_MEASUREMENT_ID', 'auto');
ga('send', 'pageview');

ここまでわかれば後は簡単です。「analitics.js」は下記の方法でイベントラッキングが可能となっております。

onclick="ga('send','event','eventCategory','click','eventLabel');"

もしサイトに埋め込まれているタグがanalytics.jsでなければ、新しいトラッキングタグが埋め込まれている可能性が高いです。

その場合は下記の方法を試してみましょう。

gtag.js

gtag.js」は現在アナリティクスで発行されている新しいトラッキングタグになります。

gtag.js」が使用されている場合、下記のようなトラッキングタグがサイトに埋め込まれています。

<!-- Global Site Tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'GA_MEASUREMENT_ID');
</script>

トラッキングタグの種類は、下記の行を確認しましょう。もし先頭の文字が「gtag」になっていたら「gtag.js」が使用されているということになります。

gtag('config', 'GA_MEASUREMENT_ID');

トラッキングタグの種類がわかったら、公式かネットの先人たちが掲載しているスクリプトでイベントラッキングが可能です。下記のようなスクリプトになります。

onclick="gtag('event', 'click', {'event_category': 'eventCategory','event_label': 'eventLabel'});"

最後に

イベントトラッキングはアナリティクスを運用していく上で欠かせない機能になります。

まずは使用しているトラッキングタグの種類を確認してイベントトラッキングの計測を始めるようにしましょう。(と自分に言い聞かせます…)

下記の本を一冊デスクに置いておくと、アナリティクスでやりたいことがぱっと引けるのでおすすめです!

以上、Googleアナリティクスでイベントトラッキングが計測されないときに最初に確認することのご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / ブロガー

福岡のWeb制作会社に務めるWebエンジニアです。エンジニア歴は10年程で、好きな言語はPHPとJavaScriptです。本サイトは私がインプットしたWebに関する知識を整理し、共有することを目的に2015年から運営しています。Webに関するご相談があれば気軽にお問い合わせください。