Webマネージメント

Googleアナリティクスの世代別トラッキングコード一覧

色々なサイトのアクセス解析の仕事を依頼されることが多いのですが、ほとんどのサイトでGoogleアナリティクスの設定が最適化されていなかったり、GoogleアナリティクスとGoogleサーチコンソールが連携されていなかったり、Googleアナリティクスのコードが古いコードのままだったりする場合が多いです。

現在Googleアナリティクスはユニバーサルアナリティクスのコードがメインになっています。

しかし以前から使われている方はGoogleアナリティクスの旧バージョンのコードを利用されている方がまだいらっしゃいます。

ユニバーサルアナリティクスのトラッキングコード以前のコードは張り替えたほうがいいでしょう。

Googleアナリティクスのトラッキングコードとは

トラッキングコードとはGoogleアナリティクス専用の計測コードのことで、JavaScriptのプログラムで作られています。

通常はheadタグの終了直前に設置され、埋め込まれています。

仕組み的にはページが読み込まれると同時にトラッキングコードが実行され、ユーザーの流入元や検索キーワード、ページ移動履歴、滞在時間などを計測することができます。

Googleアナリティクスはコードをホームページに貼り付けさえすれば無料で使えます

Googleアナリティクスのトラッキングコードは毎回張り替えたほうがいい?

Googleアナリティクスのトラッキングコードは数年に1回レベルでコードがアップデートされます。

ユニバーサルアナリティクスのようなメジャーバージョンアップのときはコードを張り替えたほうがいいでしょう。

アナリティクスの管理画面の機能は適時アップデートされているのでなるべくなら新しいコードを利用したほうが新機能を享受できる可能性があるので張替えをおすすめします

ただトラッキングコードをカスタマイズしている場合他の計測に影響する場合は新トラッキングコードを検証してから移行することをおすすめします。

Googleアナリティクストラッキングコードの歴史

Googleアナリティクスのトラッキングコードには複数種類があります。過去のGoogleアナリティクスのトラッキングコードも含めて見てみたいと思います。

第1世代「urchin.js」(2005年~2012年)

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

「urchin.js」はGoogleアナリティクスの最初の計測タグになります。Googleアナリティクスは元々アクセス解析ソフトウェア「Urchin(アーチン)」を買収したため、urchin.jsという名残があります。すでにサポートを終了しているのでほとんどサイトでは見かけることがありません。

第2世代「ga.js」 同期タイプ(2007年~2016年)

<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-xxxxxx-x");
pageTracker._trackPageview();
} catch(err) {}
</script>

ga.js(同期タイプ)は、「urchin.js」の次にGoogleによって2007年に提供が始まりました。「ga.js」は、2007年に提供を開始したタグで、2016年にサポートが終了しています。「_gat」が目印で、使用しているサイトが時々見かけられます。クロスドメインの設定が不可能なので、すぐに新しいタグに変更しましょう。

第2世代「ga.js」 非同期タイプ(2009年~2016年)

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push([‘_setAccount’, ‘UA-xxxxxx-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年に「非同期トラッキングコード」の提供が始まりました。Googleアナリティクスの旧コードでは一番良く見かけるコードで今でも使用されているサイトは多くあります。

同期タイプと非同期タイプの違いは「Webサイトの読み込み時間の短縮」と「Javascriptを読み込む時のエラーの回避」になります。

一番の見分け方は「_gaq」の部分です。参照元除外の設定ができないのとクロスドメイン計測ができません。クロスドメインを計測するときには「_gaq」の部分にパラメータを追加しなければならず、コードのカスタマイズが必要になります。

第3世代「analytics.js」ユニバーサルアナリティクスのコード(2014年~)

<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-xxxxxx-x’, ‘auto’);
ga(‘send’, ‘pageview’);
</script>

第3世代「analytics.js」ユニバーサルアナリティクスのメジャーバージョンアップのトラッキングコードで現在でも良く見かけるコードになります。

以前のトラッキングコードに比べて機能面でも全く異なります

クロスドメイントラッキングの設定が可能になったのと「User ID」を使って、各ユーザーのデータを収集できるようになったのが大きいです。

ユニバーサルアナリティクスの機能に関しては後ほど説明しています。

第3世代「gtag.js」グローバルサイトタグのコード(2017年~)

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

「gtag.js」はGoogle広告との連携やイベント計測などが強化され、GoogleアナリティクスとGoogle広告などで使われる複数のタグを一括で設定できるようになりました。

今まではGoogle広告で発行されるコード等バラバラでその都度コードの追加や張替え等手間がかかっていました。

「analytics.js」でGoogle広告を利用している場合等は張り替えてしまってもいいでしょう。

ちなみにanalytics.jsとは違い、別プロパティのタグが並列で記述されていても二重計測されません。

第4世代GA4「Googleアナリティクス4」(旧アプリ+ウェブプロパティ) (2020年10月~)

第4世代はGA4「Googleアナリティクス4」と呼ばれるようになり、コード自体は「gtag.js」がベースになります。

GA4は今までのアナリティクスの計測概念と全く別物でプロパティも別プロパティになります。

<!– Global site tag (gtag.js) – Google Analytics –>
<script async src=”https://www.googletagmanager.com/gtag/js?id=UA-XXXXXX-1″>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());

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

Google Tag タグマネージャ

<!– Google Tag Manager –>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({‘gtm.start’:
new Date().getTime(),event:’gtm.js’});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!=’dataLayer’?’&l=’+l:”;j.async=true;j.src=
‘https://www.googletagmanager.com/gtm.js?id=’+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,’script’,’dataLayer’,’GTM-XXXX’);</script>
<!– End Google Tag Manager –>

「gtag.js」とにている部分がありますが、Googleタグマネージャのトラッキングコードは「gtag.js」とは別物になります。
イベントトラッキングの利用やGoogle広告以外の広告ツールを使用している場合等はGoogleタグマネージャのほうが利便性が高いかもしれません。

ABOUT ME
KAN
KAN
個人事業主歴20年・IT関連(導入支援・ヘルプデスク)・FAQサイト構築・WEB関連(WEBマーケティング戦略・集客・分析)・WEB・ECサイト運営のアドバイザリーの仕事を中心に活動。このブログでは気になったIT・ビジネス関連の情報・ニュースやグッズを自分の備忘録を兼ねて不定期で投稿しています。
IT・WEB・ECサイトよろず相談サービス受付中


WEB・ホームページ(制作・運用・集客など)や社内のIT・DX化でこんなことで困っているとか、セカンドオピニオン的に意見がほしい、他のサイトはどんな感じなのとかセールストーク抜きでゆるりと相談(30分オンライン限定)受付中です。
詳細ページ