この記事はGTMを利用しないケースの記事です。
GA4で特定のクリックやユーザーのなんらかのアクションをトラックしたい場合にカスタムイベントを設定してイベントの発生件数をカウントしたいことがありますが、2重でカウントされてしまうことがあり少しハマったので原因をまとめます。
GA上のカスタムイベントを設定し、かつ、JavaScriptからも送ってしまっているパターン
ハマっていたのはこのパターンなのですが、単純に「2重で設定しているから2重でカウントされてしまっていた」というパターンです。
例えば「いいねボタン」が押された数をカウントしたいとします。
その場合、
<button onclick="like();">いいね</button>
<script>
function like(){
gtag('event', 'like_button_click');
// いいねする処理
// hogehoge
}
</script>
のように実装すれば、いいねが押された数をカウントすることができます。
一方で、Google Analyticsの「管理」から「カスタムイベント」を作成してカウントする方法もあります。
例えば
パラメータ: event_name
条件: 次と等しい
値:like_button_click
などとすると、同じようにクリックがカウントされることになります。
どちらか一方でいいのに、両方セットしてしまうとダブルカウントされてしまうことになります。
特に久しぶりに設定しようとして「GAでイベントのカウントってどうやるんだっけな?」と検索したりすると、必ずGAのカスタムイベント設定の方法の記事に行き当たります。
これを参考しつつ、コードの方でも設定していたりするとどちらの設定も正しいがゆえにダブルカウントされてしまうという状況に陥ってしまいます。