Google Analytics でイベントを計測する

Google Analyticsでイベントを計測するコードを紹介します。
サービス終了に関する情報
この記事で紹介しているイベント計測はUniversal Analyticsでのイベント計測方法です。 Universal Analyticsはサービス終了しているため、新しい Google Analytics 4 (GA4)を利用する必要があります。 Google Analytics 4 (GA4)でのイベント計測については、こちらの記事のカスタムイベントの計測手順を参照してください。

概要

Google Analyticsのイベントトラッキングを利用すると、ページ内のリンクやボタンをクリックした際や、特定の条件にマッチした場合にトラッキング情報をGoogle Analyticsに送ることができます。この記事ではイベントトラッキングのためのコードを紹介します。

gtag を利用している場合

gtag (gtag.js)を利用している場合は、以下のコードになります。

書式

イベントトラッキングのみの場合
gtag('event', 'イベント アクション', {
 'event_category': '[イベントカテゴリの値]',
 'event_label': '[イベントラベルの値]',
 'non_interaction': false });
イベントトラッキングのみの場合(非操作イベントに設定し、直帰率に影響を与えない設定)
gtag('event', 'イベント アクション', {
 'event_category': '[イベントカテゴリの値]',
 'event_label': '[イベントラベルの値]',
 'non_interaction': true });
カスタムディメンジョンを設定する場合
gtag('event', 'イベント アクション', {
 'event_category': '[イベントカテゴリの値]',
 'event_label': '[イベントラベルの値]',
 'non_interaction': [non_iteractionの値 (true/false)],
 'カスタム ディメンション名1': カスタム ディメンション1の値,
 'カスタム ディメンション名2': カスタム ディメンション2の値,
 ...
 'カスタム ディメンション名n': カスタム ディメンションnの値 });

コード

<!DOCTYPE html>
<html>
<head>
  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-nnnnnnn-n"></script>
  <script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-nnnnnnn-n');
  </script>

  <meta charset="utf-8" />
  <title></title>
</head>
<body>
  <a onClick=" gtag('event', 'Click', {'event_category': 'Hyperlink', 'event_label': 'Link01', 'non_interaction': false });" href="test.html" title="TEST" class="">リンクです</a>
 
</body>
</html>

Universal Analytics を利用している場合

Universal Analytics (analytics.js)を利用している場合は、以下のコードになります。

コード

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
  Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>

  <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','//www.google-analytics.com/analytics.js','ga');

    ga('create', 'UA-nnnnnnn-n', 'ipentec.com');
    ga('send', 'pageview');

  </script>

</head>
<body>
<a onClick="ga('send', 'event', 'link', 'click', 'test-link');" href="test.html" title="TEST" class="" >リンクです</a>
</body>

</html>

解説

Google Analyticsでイベントをトラッキングする場合は、イベント発生時にJavaScriptを実行し、ga()を呼び出します。上記の例ではリンクをクリックすると、Google Analyticsにイベントをトラッキングします。
イベントトラッキングする場合は第一引数は'send'、第二引数は'event'とします。第三引数にトラックするイベントのカテゴリ、第四引数にイベントのアクションを与えます。イベントにラベルを追加する場合は第5引数にイベントラベルを与えます。

書式

以下の書式が利用できます。
ga('send', 'event', '(イベントのカテゴリ)', '(イベントのアクション)');
ga('send', 'event', '(イベントのカテゴリ)', '(イベントのアクション)', '(イベントのラベル)');
ga('send', 'event', '(イベントのカテゴリ)', '(イベントのアクション)', '(イベントのラベル)', (数値の値)); 
また、指定したフィールドを設定する場合は、以下の書式を利用できます。
ga('send', 'event', 'category', 'action', {(フィールド名): '(フィールドの値)'});
例 : pageフィールドを設定する場合
ga('send', 'event', 'category', 'action', {'page': '/my-new-page'});
例 : 非操作イベントに設定し、直帰率に影響を与えない設定
ga('send', 'event', 'category', 'action', {'nonInteraction': 1});

動作確認

動作を確認するには、Google Analyticsのリアルタイムレポートで確認すると簡単です。

イベントトラックのコードが記載されたリンクをクリックすると、すぐにレポートにイベントが表示されます。

以前のAnalyticsを利用している場合 (ga.js)

以前のAnalyticsを利用している場合は、以下のコードとなります。

コード

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
  Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>

<script type="text/javascript">

    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-nnnnnnn-n']);
    _gaq.push(['_setDomainName', 'ipentec.com']);
    _gaq.push(['_trackPageview']);

    (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();

  </script>

</head>
<body>
<a onClick="_gaq.push(['_trackEvent', 'link', 'click', 'test-link']);" href="test.html" title="TEST" class="" >リンクです</a>
</body>

</html>

解説

Google Analyticsでイベントをトラッキングする場合は、イベント発生時にJavaScriptを実行し、_gaq.push()を呼び出します。上記の例ではリンクをクリックすると、Google Analyticsにイベントをトラッキングします。
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
掲載日: 2013-07-10
iPentec all rights reserverd.