個人のWebサービスでGAでトラッキング出来るようにしてみたので、やったこととか手順とか色々、MEMOしておきます📝
GA(Google Analytics)とは?
ユーザー像を把握。 ユーザー像を詳しく分析して理解を深めましょう。Google アナリティクスなら、ビジネスのデータ分析に必要なさまざまなツールを無料でご利用いただけます。
上記の通りGoogle製の無料で使えるユーザートラッキングのためサービスです。
リアルタイムに現在のユーザー数や発生しているイベントを見たり、レポートを作成したりして、サイトを分析することができます。
GAを導入する
Google Analyticsを導入するのは簡単で私は以下を参考に作成して、
表示されたタグを任意のサイトのhead
に配置すればOKです。
私はRuby on Rails製のサービスに導入したので以下のような形で反映しました。
<head> <!-- Global site tag (gtag.js) - Google Analytics --> <% ga_id = Rails.configuration.settings.google_analytics[:id] %> <script async src="<%= "https://www.googletagmanager.com/gtag/js?id=#{ga_id}" %>"></script> <script> // entryからscriptタグで読み込む方法だとGlobalでGtagが参照できない ので、直接htmlに記載してる。 window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag("js", new Date()); gtag("config", "<%= ga_id %>"); </script> </head>
一応、GAのIDに関してはconfig_for
と環境変数を使ってコード内に記述しないようにしています。
production: google_analytics: id: <%= ENV['GOOLE_ANALYTICS_ID'] %> development: google_analytics: id: <%= ENV['GOOLE_ANALYTICS_ID'] %> test: google_analytics: id: <%= ENV['GOOLE_ANALYTICS_ID'] %>
GAで任意のイベントをトラッキングする
GAで任意のイベントをトラッキングするには「GAを導入する
でGlobalに定義したgtag
を呼び出せばOKです🙆♂️
以下のような形でGlobalに定義されたgtag
を任意の引数で呼び出せるmoduleを用意してあげて、
※失敗したときに備えて個人で利用しているRollbarに失敗を通知するようにしています。
import Rollbar from "@js/services/Rollbar"; export const trackEvent = ({action, category, label}) => { try { window.gtag("event", action, { event_category: category, event_label: label, }); } catch (error) { Rollbar.warning("window.gtag is not a function", error); } };
以下のような形で呼び出して上げるとGA側にイベントが反映されます。
import { trackEvent } from "@js/services/Gtag"; trackEvent({ action: "click_foo", category: location.pathname, label: "targat name", });
※上記はどこで(category)、何が(label)、行われた(action)みたいな形でトラッキングするような形にしてみました。
※上の画像はイメージなのでサンプルのイベントは記載されてないですが。。。
おわりに
あんまり今までGAとかちゃんと使ってこなかったのですが、任意のイベントを手軽にトラッキングして、分析出来るの便利ですね✨