これはなに
- LayerX伊藤(@n_11o)の、Google Analyticsをユニバーサル アナリティクス(UA)からGoogle Analytics 4(GA4)に移管するまでのメモです
- 長文がつらつら書いてある本稿ですが、要するに言いたいことは
- なのでご理解いただけた方は本稿をそっと閉じ、下記リンクにて移管! (※小川さんや著者の神崎さんからお金などは何も貰ってません、為念ですが)
ということです。
< Table Of Contents >
- これはなに
- はじめに
- この記事の対象者
- 前提
- 移管にあたってのおすすめ書籍
- GA4の概念的なもの
- UAとの違い
- 補足: なぜ計測がFirebaseっぽいのか?
- イベントについて
- 自動収集されるイベントについて
- 自動収集イベントで勘違いしやすいもの
- カスタムイベントについて
- ボタンクリックの計測
- スクロールの計測
- 補足: カスタムイベントはGA4管理画面上とGTMどちらで作るのが良いか?
- コンバージョンの設定について
- UA↔GA4 計測まとめ表
- [未]ディメンションについて
- その他 忘れがちなやつ
- サードパーティツール系の設定
- IPアドレス(内部トラフィック)除外
- おわりに
- シェアする
- Comment
はじめに
こんにちは、すべての経済活動をデジタル化したいLayerX伊藤です。
気づけば今年もあと2週間。今週末にM1の決勝と鎌倉殿の最終回とワールドカップの決勝があって月曜は寝不足確定です。
最近も引き続きMarketing Opsおじさんをやっています。データクレンジング is my life🚶
あと8月にリリースしたばかりの「バクラクビジネスカード」のマーケもやってます。
利用料は永年無料、入れない理由がない! 💳
導入企業様もすごいペースで増えております。 特にこの記事に興味があるSaaS界隈の方やマーケ界隈の方のお勤め先にはドンピシャではまるカードなので、ぜひ経営者や経理の方にご紹介ください!💳
…と宣伝はこれくらいにして、今日は少し前に行ったGoogle Analytics 4(以下, GA4)をバクラクサイトにも設定したので、それについて備忘録も兼ねて記載していきます。
この記事の対象者
- そろそろUAからGA4設定やらないとな〜と思っているマーケ担当、サイト担当の方
- コーポレートサイト、B2B製品のサービスサイト等
- 以下の方は対象外です、すみません 🥲
- Eコマーストラッキングの設定を伴うサイトを運営している方
- WebとアプリなどWeb-App両方の計測を伴うサービスを運営している方
前提
- 2021年12月のLayerX インボイス → バクラクへのリブランディング(サイトリニューアル)のときにウェブストリームの追加など最低限の設定はやっていた
- 完全に移管はしておらず、UAとGA4が並行運用。メンバーがサイトアクセスを見るのは今もUAが中心
- 本稿、社内の個人docのツギハギなので読みづらいところありましたらすみません🙇
- また、サイト制作会社やGAの設計支援の会社などで働いた経験があるわけではないので、もっと良いベストプラクティスをご存知の方はぜひ教えて下さい!
移管にあたってのおすすめ書籍
- GA4本を3冊ほど買ってみましたが、本稿の冒頭でも紹介した『プロが教えるいちばん詳しいGoogle アナリティクス 4』が一番実践的でわかりやすかったです!
- What is GA4みたいなそもそもの理解にもページを割きつつ、
「カスタムイベントはまず作る前に命名規則を検討すること」
「タグマネージャーの変数機能でCVするイベント名を動的に設定する」
など、実務tipsゴリゴリなので「概念や基本はわかったけど実際自社で設定するときどうしよう 😶」という悩みにも解を出してくれています。
- また、移管にあたってタグマネージャー設定も必要になるので、心配な方は『現場で使える Googleタグマネージャー実践入門』も買っておくと良きです。
- 「ボタンクリックの計測」など、やりたいことに対してUAとGA4両方の設定方法を併記してくれています。とても親切ですごい。
GA4の概念的なもの
- 最初に、UAとGA4の概念的な違いについて自分の理解を書いておきます。
UAとの違い
- すべての計測が「イベント」を起点にしているというのがUAからの最大の変化かと思います
- https://support.google.com/analytics/answer/9964640?h
- イベントに対して、パラメータとユーザープロパティという形でそれぞれ付帯情報がつきます。自動でつくものも多いが、独自のものを作る場合はGTMから(後述します)
- 例. ページ閲覧(
page_view
)というイベントの発火 - どこのページ? →
page_location
= bakuraku.jp/expense - 年齢は? →
age
= 30 - GA4のデータ構造については色々な記事で説明ありますが、個人的にはアユダンテさんの「セッション中心の計測」から「イベント中心の計測」へが好きです 🐦
UAでのヒットタイプ | GA4での変換後 |
ページビュー | イベント |
イベント | イベント |
ソーシャル | イベント |
トランザクション / e コマース | イベント |
カスタム速度 | イベント |
例外 | イベント |
アプリ / スクリーン ビュー | イベント |
補足: なぜ計測がFirebaseっぽいのか?
- GA4は、「Google Analytics Apps+Webプロパティ」を出自としている。そのため根本思想がUAと異なります
- なので、アプリ運営の経験がある(≒ Firebaseないしアプリマーケの計測ツール触ったことがある)方だと理解しやすいですが、
- そうではない方だとこのイベント、パラメータ、ユーザープロパティの関係を理解するのに時間がかかるかもしれません 🥲
そもそもApps+Webプロパティってなんぞや?ですが、これはFirebase Analyticsがベースになっている新しい計測プラットフォームです。 なので、中身はUniversal Analyticsではなくて、Firebase AnalyticsにWeb用の計測機能がついたものです。 (GoogleAnalytics Apps+Web プロパティをBigQueryと連携したついでにフラット化する)
イベントについて
- 前述の通り、GA4はすべてのデータが「イベント」という単位(?)での計測です
- イベントは下記4つに分類されますが、サイト運用者が計測の設計時に引っかかるのは
- 1,2の「自動収集されるイベントがイベント名から想像してたのと違う問題」と
- 4の「カスタムイベントどこまで・どうやって設定するべきかわからん問題」 の2つかなと思うので、そのあたりを中心に書いていきます。
- 自動収集イベント
- デフォで収集されるやつ。ちゃんと定義を読むこと
- 拡張機能計測イベント
- 設定時にオンにしておけばデフォで収集されるやつ。迷わずオンにすること。1同様,イベントの定義をちゃんと読むこと
- 推奨イベント
- B2BのサービスサイトやLPだとあまり関係が無いので何もしなくていいです。
- カスタム イベント
- 1,2で自動収集しているデータだと足りない部分を補うために使います
自動収集されるイベントについて
- 上記1,2の自動収集されるイベントはグーグルの公式docに書いてあるとおりなのですが、アプリだけのイベントが多く、「サイトのイベントはどれなんじゃい😠」というのが見にくいのでWebサイトで使うイベントだけをまとめてみました
- このうちイベント名だけを見て定義を読まないと間違えやすいのが1の
click
, 5のscroll
, 6のsession_start
あたりなので後述します
# | event_name | discription | event_params |
---|---|---|---|
1 | click | ユーザーが現在のドメインから移動するリンクをクリックするたび 測定機能の強化経由でデフォルトで収集されます。 | #N/A |
2 | file_download | 次の正規表現に一致するファイル拡張子で、イベントがトリガーされます。 pdf|xlsx?|docx?|txt|rtf|csv|exe|key|pp(s|t|tx)|7z|pkg|rar|gz|zip|avi|mov|mp4|mpe?g|wmv|midi?|mp3|wav|wma このイベントは、測定機能の強化経由でデフォルトで収集されます。 | file_extension、file_name link_classes、link_domain、link_id、link_text、link_url |
3 | first_visit | アナリティクスが有効になっているウェブサイトや Android Instant Apps に、ユーザーが初めてアクセスしたとき、またはこれらを起動したとき | #N/A |
4 | page_view | ページが読み込まれるたび、またはアクティブなサイトによって閲覧履歴のステータスが変更されるたび 測定機能の強化経由でデフォルトで収集されます。 | page_location(ページの URL)、page_referrer(前のページの URL |
5 | scroll | ユーザーが各ページの最下部まで初めてスクロールしたとき(垂直方向に 90% の深さまで表示されたときなど) | engagement_time_msec |
6 | session_start | ユーザーがアプリやウェブサイトを利用したとき | #N/A |
7 | user_engagement | 定期的。アプリがフォアグラウンドで動作しているか、ウェブページがフォーカスされているとき | engagement_time_msec |
8 | video_complete | 動画が終了したとき JavaScript API サポートが有効になっている埋め込み YouTube 動画の場合。 | video_current_time、video_duration、video_percent、video_provider、video_title、video_url、visible(ブール値) |
9 | video_progress | 動画が再生時間の 10%、25%、50%、75% 以降まで進んだとき JavaScript API サポートが有効になっている埋め込み YouTube 動画の場合。 | video_current_time、video_duration、video_percent、video_provider、video_title、video_url、visible(ブール値) |
10 | video_start | 動画の再生が開始されたとき | video_current_time、video_duration、video_percent、video_provider、video_title、video_url、visible(ブール値) |
11 | view_search_results | ユーザーがサイト内検索を行うたびに記録され、URL クエリ パラメータが含まれているかどうかで示される | 「search_term」と、必要に応じて「q_<additional key="">」(<additional key=""> が、詳細設定で収集するよう指定している追加のクエリ パラメータに一致する場合) |
自動収集イベントで勘違いしやすいもの
- Click
- GA4でデフォルトで取得できている
Click
は離脱クリックのことなので、「トップページのファーストビューの問い合わせボタンのクリック数を取りたい」とかの場合はUA同様に別途GTMで設定する必要がある - 設定方法は後述
- まあでも外部サイトへのリンククリックがデフォルトで取れているのは良いですね
- Scroll
- GA4でデフォルトで取得できている
Scroll
は90%だけなので、「50%までスクロールしたユーザーを取りたい』などの場合はUA同様に別途GTMで設定する必要がある - 設定方法は後述
- Session Start
- 名前的に最初に流入した入口のページのようだが、UAでいうセッション数を計測したい場合は
Session Start
の数を取る
カスタムイベントについて
- 上記で「GA4はクリック数とかスクロール数はデフォルトで収集してくれる、ラッキー!
- …と思ったら違うやんけ😠」と思ったあなた、そういう時に使うのがカスタムイベントです。
- カスタムイベント設計の業務を抽象化すると、
という感じなので、HubSpotにおけるカスタムプロパティ作成や、Salesforceにおけるカスタム項目を作ったことがある方であれば割とすんなり理解できるかと思います(例示がSaaS界隈の方向けですみません🙇)
なので重要なのは
- どういった粒度や命名規則をもとにイベントを取得するか
- どの(発火)タイミングでイベントとして取得するか
のほうなので、ここの設計さえちゃんとやればそこまで難しいことではないです🐳
ボタンクリックの計測
- 先ほど騙された自動収集イベント
click
の代わりに、button_click
というカスタムイベントを作ります - 注意したほうがいいのは、ボタンをクリックしたときにパラメータに格納する値はGTMの変数で設定するということです。
- これを例えばトップページ → 問い合わせページに遷移するボタンクリックの際に発火するイベントを設定するとして、パラメータ
link_url
に対して値をbakuraku.jp/contact
など固定値で設定してしまうと、ボタンの数だけカスタムイベントが必要になるのでかなり微妙です
スクロールの計測
- トリガー自体はUAで使っているスクロール距離がそのまま使えます
- この記事や本だと自動収集イベントの
scroll
とは分けてpercent_scrolled
のように新規でカスタムイベントを作っていますが、スクロールは自動収集イベントに25%、50%など他の割合を足す形のほうが運用しやすいかなと個人的に思います - なのでカスタムイベント作る際のイベント名は
scroll
で良いかなと思います、そうすることでscroll
に90%以外のスクロール割合も入ってくるようになります
補足: カスタムイベントはGA4管理画面上とGTMどちらで作るのが良いか?
- Facebook広告のカスタムコンバージョン(イベントマネージャ)のように、GA4上でも気軽にカスタムイベントを設定できるようになりました。
- もうGTM経由でイベントを作る必要はないのでしょうか?
- 結論、サンクスページのCV以外はイベント設定はGTMでやるべきと考える
- サンクスページも含め、すべてGTM管理でもいいかも
- 理由
- GA4側はイベントの発火条件に「or条件」を作れない
- 例. バクラク請求書の製品資料CV (イベント名:
resources_product_invoice_thankyou
のように、 page_location=bakuraku.jp/resources/product-invoice-thank-you
に一致 かつevent_name = page_view
- 自動収集イベント以外を柔軟にトリガーにできない
- 例えば上述した「同じサイト内でのボタンクリック」はGA4の自動収集イベントにはないです。
- GTM側であれば、ボタンのクリックやスクロール距離のカスタマイズ含め柔軟なイベント送信ができます。
- 結論、GA4側で直接設定するカスタムイベントは
page_view
をつかったもののみ、具体的にはサンクスページCVのみとするのが良いかと思います。
と「AND条件」だけで発火するイベントはGA4上からの設定でも大丈夫ですが、「トップページに配置されているボタンのうち”いずれか”のボタンが押されたら発火する」イベントのようなOR条件のイベントは作れません。
コンバージョンの設定について
- UA側でいう目標設定にあたるものです
- GA4では、これまで説明した「イベント」をConversionとして登録することでコンバージョンの画面から見ることができたり、
- カスタムイベントを作っても、コンバージョンとして登録しないと計測されないので注意です。
- UAの管理画面左ペインで言う「Conversions」「Goals」は、GA4だと「Engagement > Conversion」にあたります。設定したらここから見れます
UA↔GA4 計測まとめ表
- 「サンクスページなどのCV数」「ボタンクリック数」「スクロール率」
- とりあえずこの3つがあれば基本的なアクセス解析はできるかなと思いますので、自動収集イベント以外は手を付けていないという方は、これだけでもやってしまいましょう
項目 | UA | GA4 |
コンバージョンの設定 | ・管理画面上の「設定 > ゴール」から設定
・GTMは利用する必要無し
・設定上限は20個まで | ・まず管理画面上の「設定 > イベント」 ないし GTMからカスタムイベントを作成し、その後「設定 > コンバージョン」にてCVを取りたいカスタムイベントをオンに設定
・設定上限は30個までに |
クリックの設定
(中間CV) | ・GTMから設定
・カテゴリ、アクション、ラベル、(任意で)値も必要 | ・GTMから設定。 button_click というカスタムイベントを実装
|
スクロール率の設定 | ・GTMのスクロール率で設定
・カテゴリ、アクション、ラベル、(任意で)値も必要 | ・gtmから設定。標準イベントのscrollが90%までスクロールしないと発火しないので5~99%を設定
・トリガーはUAと共通のものを使うことが出来る |
[未]ディメンションについて
その他 忘れがちなやつ
サードパーティツール系の設定
- Google Optimize、Microsoft ClarityなどGAのデータが直接連携するタイプのツールはUAとGA4両方の設定はできないので切り替え忘れがないように気をつけましょう
- ちなみにGoogle OptimizeのGA4実装はこのQiitaの記事が詳しかったです
IPアドレス(内部トラフィック)除外
- IPアドレス除外はUAよりもやりやすくなった気がします
- リモートだとオフィスのIPアドレス以外もメンバーのお家のIPアドレスとかも設定しなきゃですが、ササッとお願いしちゃいましょう
おわりに
完全に自分向け備忘録な内容になってしまいましたが、イチ事業会社のGA4移管奮闘記としてお読みいただけたのであれば幸いです。
何度もおすすめして恐縮ですが、本であれば『プロが教えるいちばん詳しいGoogle アナリティクス 4』が一番おすすめです! 本稿より100倍丁寧に解説されております。あとはググったりGoogleさんの公式doc読めばなんとかなります🐤
そしてGA4のデータはBQにいれてるぜ、クエリ書くぜ、という方は拙稿『非エンジニアのSQL学習ことはじめ』もおすすめです!
それでは少し早いですがみなさん良いクリスマス、良いお年を! 🎄🎅🎍🌅
LayerXのマーケチームに興味がある方はTwitterや下記フォームよりぜひご連絡ください!