メインの自社サービスが10年選手で、新規サービスにそのままのテンションでクリックイベントを仕込もうとしてしまった私の備忘録です…。
ga('send', 'event', 'カテゴリ', 'アクション', 'ラベル', 値)
こちらはanalytics.js
でのクリックイベントの取り方です。
2014年〜2017年の間にGAに登録したWebサイトにはこのように記載します。
gtag('event', 'アクション', {'event_category': 'カテゴリ', 'event_label': 'ラベル', 'value': 値})
2017年以降に登録したwebサイトはgtag.js
という記述方法になっており、
記述の順番が少々異なります。
必須の項目などは同じです。('event', アクション, カテゴリ)
今回私は、2020年にGAに登録したwebサイトなのに、ga()〜の古いクリックイベントの取り方で取ろうとしていました…。当然、クリックしてみてもGAには反映されません。
サイトがanalyticsなのかgtagなのか確認したい時
トラッキングコードを見るとわかります。
analytics.js
<!-- 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-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
gtag.js
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GA_MEASUREMENT_ID');
</script>
ただしく計測できているか確認したいとき
検証環境or本番環境
検証環境や本番環境で確認するときは、開発者ツールのNetworkからt=event
と絞り込んで確認する方法がシンプルです。
クリックイベントが正しく仕込まれた要素をクリックすると、画像のようにNetworkで確認することができます。
ローカルのファイルで確認したいとき
時にはローカルのファイルをそのまま本番環境にアップするスリリングな開発環境もあるかもしれません。
そんなときは、開発者ツールのSource -> Event Listener BreakPoints (Mouse > click)を選択します。これで、クリックイベントをトリガーにデバックを開始してくれるようになります。
対象の要素をクリックし、
「Step into next function call」(または⌘+;)をクリックして進めていくとgtag.jsの中に入っているのがわかります。
まとめ
意外と設置機会がないので忘れます。そんなときにこの記事を読んで思い出してくれると嬉しいです。