ズバッと解決!Google Analytics

トラッキングコードってどこにはればいいの?

2014年8月現在Google アナリティクスで使用できるトラッキングコードは4種類あり、機能に制限が付きますが全て利用が可能となっています。それぞれのコードと推奨の設置位置を説明します。

上から古い順になっています。

※2019/09/17 グローバルサイトタグを追加

urchin.js

_uacct = "UA-xxxxxx-x";
urchinTracker();

推奨の設置位置は/bodyの前です。
初めてGoogle アナリティクスが登場した時にはこのトラッキングコードでした。
Google アナリティクスはUrchinというアクセス解析ツールとして有料で提供されていたものを、Googleが買収して無料で利用できるようなったためにこのようになっているんでしょうね。
ちなみにGoogleが買収したUrchinは既にサービスの提供がストップされています。ログ型の解析ツールとしては安価でしたので困った方も多いのではないのでしょうか?

PDFダウンロードなどを計測する際に使うイベントトラッキングなどが使用できず、それ以外にも使えない機能がありますのでurchin.jsを使用している場合は速やかに非同期などに移行してください。

同期コード


var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));


var pageTracker = _gat._getTracker("UA-xxxxxx-x");
pageTracker._initData();
pageTracker._trackPageview();

推奨の設置位置は/bodyの前です。
一般に同期コードと言われるものでこの時期にGoogle アナリティクスを導入した人も多いと思います。イベントトラッキングやクロスドメイン処理など色々なことができるようになっています。ga.jsと呼ばれるときもありますが次に紹介する非同期コードもga.jsに分類されますので同期コードと呼んだ方が良いでしょう。

非同期コード

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXXX-Y']);
  _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);
  })();

推奨の設置位置は/headの前です。
現在最も普及していると思われるトラッキングコードですが、同期コード時代にGoogle アナリティクスのトラッキングコードはの前というイメージが定着してしまったために、そのままの前に設置してあるWebサイトが多く見られます。の前に設置するとWebサイトの読込速度も早くなります(※1)ので可能な限りの前に設置をしてください。

ユニバーサルアナリティクス(analytics.js)

(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-XXXXXXXX-Y');
ga('send', 'pageview');

推奨の設置位置は/headの前です。
2014年4月にリリースされた最新のトラッキングコードです。
User IDの機能を使えばログインしているユーザーの動きをデバイスをまたいで計測することができたり、クロスドメインの設定が簡素化されていたりとかなり使い勝手が良くなっています。現在はユニバーサルアナリティクスのトラッキングコードしか発行できなくなっています

グローバルサイトタグ(gtag.js)


<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXX-X"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-XXXXXX-X');
</script>

推奨の設置位置はhead内のできるだけ上部です。
2017年9月にリリースされたトラッキングコードです。
グローバルサイトタグのややこしいところは、Google アナリティクスだけのトラッキングコードではないということです。こちらの記事にもあるようにGoogle広告などとの連携ができるようになっています。
グローバルサイトタグ(gtag.js)でGAとGoogle広告のリマケ・CVタグを設置する方法

とはいっても、複数のサービスをこれで管理するのは難しいので、Google タグマネージャーでの管理をお勧めいたします。

■設置位置には注意

同期コードの時代に一気にGoogle アナリティクスが広がったために、トラッキングコードは/bodyの前というイメージが定着していますが最新のユニバーサルアナリティクスでは/headの前となっていますのでご注意ください。グローバルサイトタグではhead内の上部となっているのでご注意ください。設置位置が違っていても計測はできますが、計測漏れなどにつながりますので可能な限り推奨位置に設置をしてください。

※1 Google Analytics 非同期トラッキングコード再考 | MOL