📜

Google Analyticsのタグにはバージョンがあるので、古いものは変更が必要

2021/05/31に公開

Google Analyticsには10年以上の歴史があり、サイトに埋め込むタグもバージョンアップしています。
古いタグの中にはサポートが終了しているものがあるので、利用しているタグが古い場合は変更が必要です。

タグのバージョン

初代 ~ 第3世代のタグを使っている場合は、第4世代以降に変更をしましょう。

初代:「urchin.js」

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
  _uacct = "UA-XXXXXXX-X";
  urchinTracker();
</script>

2005年スタート。
2012年にサポート終了。

第2世代「ga.js」

通称:クラシックタグ。イベントトラッキングやeコマーストラッキングなどが可能になった。

<script type="text/javascript">
  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"));
</script>
<script type="text/javascript">
  try{
  var pageTracker = _gat._getTracker("UA-XXXXXXX-X");
  pageTracker._trackPageview();
  } catch(err) {}
</script>

2007年スタート。
2016年にサポートが終了。
クロスドメインの設定が不可能。

第3世代「ga.js(dc.js)」

通称:非同期トラッキングコード。

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-X']);
_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>

2009年スタート。
2016年にサポートが終了。
参照元除外の設定ができないため、クロスドメインの設定が不可能。

第4世代「analytics.js」

通称:ユニバーサル アナリティクスタグ。
クロスドメイン トラッキングを使うことができます。
※Google Tag Managerはこちらのタグを使います。

    <!-- 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', 'UA-XXXXXXX-X', 'auto');
    ga('send', 'pageview');
    </script>
    <!-- End Google Analytics -->

2014年スタート。
無理に「gtag」に移行する必要はありません。

第5世代「gtag.js」

通称:グローバル サイトタグ。
Google広告やFloodlightタグも組み合わせて使うことができます。

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

  gtag('config', 'G-XXXXXXXXXX');
</script>

2017年8月以降に発行されたタグはすべてグローバルサイトタグです。
GoogleアナリティクスとGoogle広告などで使われる複数のタグを一括で設定できるようになりました。

参考

analytics.js
gtag.js

Discussion