【要注意】
gtag.jsはベータ版であり、今後計測タグが変わる可能性や、データが正しく取得できない可能性があります。テスト的に試すのは問題ないかと思いますが、現在のタグを差し替えるなどは行わないことを強く推奨します。SLAの対象外にもなります。
また本内容は、記事公開時点(2017年9月4日時点)での情報となり、今後変わる可能性は大いにあります。
Google アナリティクスには「urchin.js」「ga.js」「analytics.js」という3種類のタグが古い順に存在します。現在多くのサイトは「analytics.js」のファイルを利用しているかと思います(ここ数年で新しい計測用のタグを発行していれば、「analytics.js」になっているはずです)。
2017年8月23日ごろに、新しい計測タグ「gtag.js」が公開されたようです。ヘルプ等に関しては、まだ英語版のページしかありません。ちなみに名称は「Global Site Tag(日本語名称は不明)」になります。
https://support.google.com/analytics/topic/7476230?hl=ja&ref_topic=1726910
技術的な内容に関しては、Google Developers内にて確認できます。
https://developers.google.com/analytics/devguides/collection/gtagjs/
gtag.jsのコードの中身が見たい方は以下から確認できます。今後はどうかわかりませんが、gtag.js内でanalytics.jsに言及しているので、gtag内にはanalytics.jsの機能がそのまま入っている感じは受けます。
https://www.googletagmanager.com/t/gtag.js
今までのanalytics.jsとgtag.jsで何が変わるのか?基本的な機能は変わらず、ページ・イベント・カスタムディメンション・拡張eコマース等計測する変数に関しての変更はありません。クロスドメインの設定なども引き続き必要です。コード観点での違いで言うと
■記述をしなくてもページビューをデフォルトで送ってくれる → 今まではga(‘send’, ‘pageview’);の記述が必要だったが、gtag.jsの中に含まれているので記載の必要がない
■「ウェブテスト」の機能が(まだ)含まれていない
■Datalayerのアプローチが(より)用いられている。拡張eコマースのような「変数名:変数」のセットが基本的な考え方になっている。例えばイベントであれば
1 |
ga('send', 'event', 'Videos', 'play', 'Fall Campaign'); |
という書き方が
1 2 3 4 |
gtag('event', 'play', { 'event_category': 'Videos', 'event_label': 'Fall Campaign' }); |
という書き方に変わります(Migrate from analytics.js to gtag.js より)。
イベントに関しては、デフォルトの設定が用意されるようになりました。今までは、カテゴリ・アクション・ラベルをすべて設定する必要がありましたが、gtag.jsでは以下のように記載をすると
1 |
gtag('event', 'login'); |
カテゴリ:engagement
アクション:login
ラベル:(not set)
loginという名称が設定されたので、カテゴリ・アクション・ラベルが自動的に決まります。そのため、3つの変数をすべて設定する必要が無くなり記述は楽になりました。予約語の一覧に関しては以下ページよりご確認ください。イベントカテゴリ・アクション・ラベルを指定することで上書きも可能です。
https://developers.google.com/analytics/devguides/collection/gtagjs/events
またイベントに対して任意のパラメータをつけられるようになるそうです。
1 2 3 4 |
gtag('event', 'sign_up', { 'method': 'google', 'account_type': 'basic' }); |
今までは、カテゴリ・アクション・ラベル・値の4種類を使う形でしたが、それ以外の変数名を紐づけられるという形になります。こちらまだ画面の方が対応していないので、現在は利用することが出来ませんが、
gtag.js includes an event and parameter model that provides detailed reporting and allows you to benefit from future features and integrations as they become available
ということなので今後に期待です。
こちら記述を直接追加する形、Google Tag ManagerのカスタムHTMLタグで追加する形式どちらも試してみましたが、計測(ページビュー・イベント・カスタムディメンションを検証)は確認した範囲では問題なく出来ておりました。
計測コードは以下の通りですが、今までのanalytics.jsと違い、プロパティIDを入れる場所が2か所あるので、両方とも変えるのを忘れないでください。また計測記述の追加推奨位置は<HEAD>の直後となっております。この辺りは今後の拡張を見据えてのこの位置なのかもしれません。
1 2 3 4 5 6 7 8 9 |
<!-- Global Site Tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments)}; gtag('js', new Date()); gtag('config', 'GA_TRACKING_ID'); </script> |
2か所にある「UA-xxxxxxx-x(プロパティID)」の差し替えが必要です。analytics.jsでは変更箇所が1か所だったので、両方とも変更を忘れないようにしましょう。
繰り返しになりますが、まだベータ版のため取り扱いには十分注意をしましょう。あくまでもテスト的に試してみるというのが現状のステータスかと。「ga.jsでの計測はいつか止まる」というアナウンスがあってから複数年立ちますが、まだ利用が出来ております。gtag.jsが出てきたことで、いよいよga.jsが使える期間が明確に定まるかもしれませんね。
現在ga.jsを使っているところがあれば、ベータ状態が外れたらgtag.jsに移るというのも選択肢の一つかもしれません。analytics.jsの場合は、機能面で明確な優位性が得られるまでは当面、今のままでは良いのではないでしょうか。
3~5年周期で新しいタグが出てきたGoogle アナリティクス。今後どのような進化を遂げるかが楽しみですね!
【著者プロフィール】
小川 卓(おがわ たく)
ウェブアナリストとして、マイクロソフト・ウェブマネー・リクルート・サイバーエージェント・アマゾンで勤務後、フリーに。複数社の社外取締役やデジタルハリウッド大学院の客員教授として活動.。コンサルティング・勉強会・執筆に従事。
主な著書に「ウェブ分析論」「ウェブ分析レポーティング講座」「漫画でわかるウェブ分析」「Webサイト分析・改善の教科書」「あなたのアクセスはいつも誰かに見られている」など。
※KOBITブログでは、毎月1~2本程度、小川卓さんに記事を寄稿いただいております。
どれも興味深い記事となっておりますので、ぜひ他の記事もご覧下さい。
→小川卓さんによる寄稿記事を読む