個人開発者が GA4 で最初に設定する 3 つのイベント

GA4 のアクティブユーザー・エンゲージメント率・ランディングページ ── 入門の 3 つの数字を 2 週間ほど追うと、サイトの体温は分かるようになります。

ところが、次の壁が来ます。「人は来た。読んでもいる。けれど、ボタンを押したかが、分からない」。Kindle へのリンク、登録フォーム、外部サイトへのリンク、料金ページのクリック ── プロダクトとして本当に見たい「動いた/動いていない」が、既定の画面には出てこない。GA4 は、その先を見るために イベント計測 を増やす設計になっています。

本記事は、GA4 を入れた個人開発者が、入門の数字を見たあとに 次に通る 3 段 を、実装例と挫折ポイントつきで整理します。確認は GA4(2025-2026 年時点の UI)と、このサイト(novelarena.jp)の最小実装(gtag.js + config)を一次情報にしています。先に 個人開発者が GA4 で最初に見る 3 つの数字 を読んでおくと、本記事の前提が早く入ります。

その前に:GA4 における「イベント」とは

GA4 は、すべての計測を イベント で表します。ページ表示も、スクロールも、クリックも、フォーム送信も、すべて「name と任意の parameters を持つイベント」として送られて、レポートに集計される ── という構造です。

イベントは、大きく次の 3 つに分かれます。

種類どこから来るか
自動収集イベントgtag.js / GA4 タグが既定で送るpage_view / scroll(90% 到達)/ click(外部リンク)/ file_download / first_visit
推奨イベントGoogle が「業種別に名前を揃えて送ってね」と推奨sign_up / login / purchase / share など
カスタムイベント自分で gtag('event', ...) を呼んで送るkindle_cta_click / pricing_view_30s 等、任意

ここを混ぜて理解していると、「カスタムイベントを実装しなきゃ」と急いで gtag を呼ぶ前に、実は既定で取れている イベントを取りこぼします。本記事の 3 段は、この 3 種類の順に並んでいます。

段 1:自動収集イベントを「設定せずに」確認する

最初の一手は、コードを 1 行も書かないところから始めます。GA4 を入れただけで既に取れているイベントを、レポート画面で確認する ── ここからです。

このサイト(novelarena.jp)の GA4 実装は、極小です。レイアウトに gtag.js の読み込みと gtag('config', 'G-XXXX...') を置いているだけ。それでも、後述のイベントは設定ゼロで GA4 に届いています。

どこで見るか

  • 「レポート」→「ライフサイクル」→「エンゲージメント」→「イベント」:直近 28 日に発生したイベント名と回数の一覧が出ます。
  • ここに既定で並ぶ主なもの:
    • page_view:ページ表示
    • scroll:ページ高さの 90% に到達 したセッション
    • click:別ドメインへの 外部リンク クリック(「拡張計測」の項目で ON/OFF)
    • file_download:PDF / ZIP / DOCX 等の特定拡張子のクリック
    • video_start / video_progress / video_complete:YouTube 埋め込みの再生(要 IFrame API)
    • first_visit:そのブラウザの初回訪問
    • session_start:セッション開始
    • user_engagement:エンゲージメント条件(10 秒滞在等)を満たしたとき

何が嬉しいか

  • 外部リンク(Amazon / GitHub / X 等)のクリックが、既に click で取れている。
  • 記事を最後まで読まれたかが、scroll(90% 到達)でざっくり取れている。
  • 「資料 PDF」「サンプル .zip」のダウンロードが、既に file_download で取れている。

挫折ポイント

  • 自動収集の click は「外部リンク」だけ:同じサイト内のリンクは取れません。サイト内クリックは、後述のカスタムイベントで送るか、Google タグマネージャー(GTM)でトリガー設定する必要があります。
  • 「拡張計測」を一度確認:「管理」→「データストリーム」→ 該当ストリーム →「拡張計測機能」で、scroll / click / site_search / video_engagement / file_download / form_interactions を個別に ON/OFF できます。意図せず OFF だと取れません
  • page_view の「ページパス」が (not set) ばかり:SPA でルーティングしている場合、自動 page_view は最初の 1 回しか送られないことがあります(send_page_view: false の設定や、history API 変更時の手動発火の有無を確認)。
  • イベント名はすべて小文字スネーク:英大文字・ハイフン・スペースは推奨されません。

「3 つの数字」で母数を見て、「自動収集イベント」で 無料で取れている動き を確認する ── ここまでで、すでに 8 割方の状況は把握できます。

段 2:キーイベント(旧コンバージョン)を 1 つだけ指定する

イベント一覧を見たら、次は そのうちのどれを KPI として扱うか を、GA4 上で宣言します。これが キーイベント(旧コンバージョン)です。実装は不要。GA4 の管理画面でチェックを入れるだけ。

「キーイベント」は、2024 年に GA4 で「コンバージョン」から改名された呼び名で、機能はほぼ同じです(Google 広告側だけは引き続き「コンバージョン」と呼ぶため、両方の語が並存しています)。

設定の手順

  1. 「管理」→「イベント」(または「データの表示」→「イベント」)を開く。
  2. 段 1 で見たイベント名の一覧が並んでいる。
  3. その中で 「これは目的の動作だ」 と決めたものの右側にあるトグル(あるいは「キーイベントとしてマーク」)を ON にする。
  4. ON にしたイベントは、以後 「キーイベント」レポート にまとめて集計されるようになります。

個人開発者が最初に指定するなら

  • 自著 Kindle や外部商品のリンククリック(自動収集 click の中で、対象 URL を絞ったカスタムイベントを別に作る、または GTM で個別トリガー)。
  • フォーム送信(推奨イベント generate_lead / sign_up を自分で送る、または form_submit を拡張計測で取って指定)。
  • 料金ページの到達(page_view のうち page_location/pricing のものを、Audience または探索レポートで分ける)。

挫折ポイント

  • キーイベント反映は「翌日」:イベント自体は数時間で見えますが、キーイベントのレポートに集計されるまでは 最大 24 時間 かかります。当日中に出ないからといって、設定を変えて回さないこと。
  • キーイベントは「ボリュームを絞る」ことに意味がある:何でも指定してしまうと、全部が KPI になって全部が KPI でなくなる。まず 1 つ、多くて 3 つに絞ります。
  • 段 1 の click をそのまま指定しても粒度が粗い:すべての外部リンクが等しく KPI になります。Kindle へのクリックだけ追いたいなら、後述のカスタムイベントを 1 つ送って、そちらをキーイベントに指定するほうが綺麗です。

段 3:カスタムイベントを「1 つだけ」送る

ここから、ようやくコードを書きます。自分の言葉で「動いた」と名付けたい動作を、1 つだけ gtag('event', ...) で送ります。

「1 つだけ」が大事です。最初に 10 個並べると、どれも実装は中途半端、レポートは雑然、キーイベントは何でもありになります。まず 1 つ送って、レポートに出ることを確認する。それから増やす

最小コード(Kindle CTA クリックを送る例)

<a> タグの onclick に直接書く、最も短い書き方です。

<a
  href="https://www.amazon.co.jp/dp/B0XXXXXXXX"
  target="_blank"
  rel="noopener"
  onclick="gtag('event', 'kindle_cta_click', { location: 'article_footer' });"
>
  Amazon で読む
</a>

gtag('event', '<イベント名>', { <パラメータ>: <値> }) の 3 段だけです。gtag 自体は、自動収集イベントが動いている時点で window に存在しているので、追加の読み込みは不要です。

Astro / React のコンポーネント化する場合は、props で location を変えると、記事フッターサイドバー かが GA4 上で区別できます。

イベント名・パラメータの命名規則

  • イベント名:小文字スネーク(kindle_cta_clickpricing_section_view)。GA4 上でカスタムディメンションを切るのが楽になります。
  • パラメータ名:同じく小文字スネーク。値は文字列・数値・真偽。個人情報(メール・名前)は絶対に入れない(PII。Google の規約違反で、アカウント停止の原因になります)。
  • 既存の自動収集と名前が衝突しないようにclickscrollpage_view などは予約済みの感覚で使う(同名で送ると挙動が混ざります)。
  • パラメータを GA4 のレポートで分けたいなら、「カスタムディメンション」として登録:「管理」→「カスタム定義」→「カスタムディメンションを作成」で、パラメータ名を登録すると、レポートでフィルタ・ブレイクダウンが可能になります(登録しないと「すべて入りの 1 イベント」のままです)。

DebugView で送信を即時確認する

カスタムイベントを書いたあと、本番の集計画面で出るのを待つ必要はありません。

  • ブラウザに 「Google Analytics Debugger」 拡張機能を入れる、または URL に ?gtm_debug=1 を付ける、もしくは開発時のみ gtag('config', 'G-XXXX', { 'debug_mode': true }) を渡す。
  • GA4 の 「管理」→「DebugView」 を開くと、自分のブラウザから送られたイベントが秒単位で流れます。

これで、コードを書いて → ボタンを押す → DebugView でイベント名とパラメータを確認 → OK なら本番レポートを待つ、の最短ループが回ります。

挫折ポイント(共通)

3 段に共通する、特に止まりやすいところを最後にまとめます。

  • GA4 のデータは「数時間〜翌日」遅れる:当日のレポートで何も見えないからといって、計測が壊れていると判断しない。DebugView でリアルタイム確認ができる前提を覚える。
  • 個人情報をパラメータに含めない:メール・氏名・住所・電話番号・ユーザー ID(自社の生 ID も避ける)。GA4 の規約違反になります。
  • 「キーイベント」と「コンバージョン」が混在表示される:Google 広告連携時は「コンバージョン」表記、GA4 単体は「キーイベント」表記。同じものです。
  • onclick だけだと SPA でリンクが先に遷移してイベントが届かない:別タブで開くリンク(target="_blank")はだいたい届きますが、同一タブ遷移では gtag('event', ..., { event_callback: ... }) で送信完了を待つか、navigator.sendBeacon 経由の transport(GA4 のデフォルト挙動)に任せます。
  • GTM を併用しているサイトでは、gtag 直書きと GTM トリガーが二重発火する:片方に統一します。個人開発の規模なら、最初は gtag 直書きで十分(GTM は後から要件が増えたときに)。

まとめ

GA4 のイベント計測は、3 段だけです。

  1. 自動収集イベントを見る:実装ゼロで page_view / scroll / click(外部)/ file_download などが既に流れている。「拡張計測」のチェックを確認。
  2. キーイベントを 1 つだけ指定する:管理画面でトグル ON。反映は翌日。最初は 1〜3 個に絞る。
  3. カスタムイベントを 1 つだけ送るgtag('event', 'name', { param: value }) の 1 行から。命名は小文字スネーク、PII は入れない、DebugView で即確認。

この 3 段を通すと、サイトのレポートが 「人が来た/読んだ」だけの画面 から、「人が来て、読んで、動いた/動いていない」が出る画面 に変わります。動いた回数が分かれば、「動いていない理由」を初めて掘れる ── ここからが、コピーライティングの仕事に切り替わる地点です。

イベントが流れ始めたら、検索流入側の対の数字も対で見たくなります。GA4 と Search Console の組み合わせ方は 個人開発者が Search Console で最初に見る 3 つの場所 に整理しました。

そして、イベントは増えているのに「動いた」が増えない ── そう感じたとき、原因はだいたい計測ではなく、ボタンに辿り着く前の トップページの一行目 にあります。その構造を掘ったのが 個人開発者のサービスが「素通り」される、たったひとつの構造的な理由 と、作る側でつまずく 「プロダクトは語る」と思っていた個人開発者が陥る 3 つの誤算 です。GA4 で見えた「動いていない」の、その手前で何が起きているのかを、続けてどうぞ。

最初のカスタムイベントを、まず 1 つ、流すところから。


GA4 のイベントが示す現象 ── 「クリックされない」「滞在は長いのに動かない」── を、コピーライティングで直すところまでを 1 冊にまとめたのが、下記の本です。個人開発者・インディー Web 作者・動画作者向けに、LP・短文・メールの戦場別の書き方と、Claude を相棒にしたプロンプト連鎖の実演を含めて統合しています。

#個人開発#アクセス解析#リファレンス