til//visitor-analytics-and-email-capture
visitor-analytics-and-email-capture.mdupdated 2026-08-016,994 chars

個人サイト向けの​アクセス解析&メール取得スタック​(2026年5月時点)

GitHub Pages​(=GitHubが​無料で​提供する​静的サイトホスティング)​上で​動く​個人サイト​(nikinakamura.com / この​ til)を​対象に、​「誰が​訪問しているか​知りたい」​「問い​合わせフォームから​メールアドレスを​受け取りたい」と​いう​素朴な​要求を、​無料・静的サイトのみ​・​日本法に​適合と​いう​3つの​制約の​下で​組み直した​記録である。​前提を​誤ると、​「アクセス解析で​個人を​特定できる」と​思い込んだり、​海外SaaS​(=インターネット経由で​提供される​ソフトウェア)に​丸投げして​個人情報保護法に​抵触したりする。​まず、​原理的に​何が​取得でき何が​取得できないかを​整理する​ところから​始める。

1. アクセス解析で​分かる​こと・分からない​こと

最初に​最大の​誤解を​解いておく。​アクセス解析ツール​(GA4・Clarity等)が​見せてくれるのは、​生身の​「誰か」ではなく、client_id(=Cookieに​基づく​匿名の​識別番号)​単位の​匿名の​行動データである。

取得できる​もの取得できない​もの
流入元​(リファラー・UTM・検索クエリの​一部)氏名
ページフロー​(着地→離脱・スクロール量・イベント)メールアドレス/電話番号
デバイス・OS・ブラウザ・​画面解像度住所/所属
国・都道府県・市区町村​(IPジオロケーションの​精度)「誰の」セッションか
PV・UU​(client_id単位)​・滞在時間同一人物の​サイト横断履歴

GA4が​記録するclient_idは​Cookieに​基づく​ランダムな​UUID​(=​一意な​識別子)であり、​本人が​ログインしている​サービス​(YouTube・Search Console等)に​紐づけない​限り個人を​特定できない。​「誰が​来たか」を​知る​唯一の​手段は、​本人が​サイト上で​自発的に​メールアドレスや​氏名を​入力する​こと​(フォーム・認証・ニュースレター登録)である。​これは​技術上の​限界であるだけでなく​法律上の​限界でもある。​個人情報保護法17条が​求める​「取得時に​利用目的を​明示する」​枠組みに​沿わない​方​法で​取得してはならない​(個人情報保護委員会を​参照)。

つまり、​アクセス解析と​メール取得は​目的の​異なる​二本立ての​スタックと​して​構築する。​アクセス解析は​「全体の​傾向」、​メール取得は​「個人の​連絡先」である。​両者を​混同すると、​プライバシーポリシーが​破綻する。

2. 無料の​行動解析スタック​(2026年時点)

「無料である​こと」​「JSスニペット​(=ページに​埋め込む短い​JavaScriptコード)​数行で​静的サイトに​載る​こと」と​いう​基準で​残った​選択肢は​次の​とおりである。

2.1 各ツールの​概要

  • Google Analytics 4(GA4) —— Universal Analytics終了​(2023年7月)​以降の​事実上の​標準。​Search Console・​広告・YouTubeとの​連携、​無料の​BigQueryエクスポート、​Looker Studio連携などエコシステムが​圧倒的。​弱点は​レポート反映が​即時でない​こと​(リアルタイム以外の​レポートは​通常24〜48時間の​遅延と​サンプリングを​伴う)、​Cookie非対応環境で​精度が​落ちる​こと、​UIが​複雑な​ことである。
  • Microsoft Clarity​(クラリティ) —— Microsoftが​完全無料・上限なしで​提供する​(公式の​「free forever」​「no limit on traffic」と​いう​文言をclarity.microsoft.comで​確認済み)。​セッションリプレイ​(記録)​・ヒートマップ・AIに​よる​行動要約・デッド/レイジクリック検出が​標準搭載。​GA4とは​目的が​補完関係に​ある​(GA4=定量、​Clarity​=定性)。​JS1行で​導入・Cookieベース。
  • Cloudflare Web Analytics —— プライバシー優先で​Cookie不要、​JSスニペット1行。​Cloudflareの​ DNS や​プロキシ配下である​必要は​ない​(公式ドキュメントに​「DNSの​変更や​Cloudflareプロキシの​利用なしで​動く」旨の​記載​あり、developers.cloudflare.com/web-analytics)。​集計のみで​セッションリプレイは​無い。
  • Plausible Analytics —— Cookie不要、​GDPR​(=EUの​一般​データ保護規則)​フレンドリー、​OSS​(=ソースコード公開)で​自己ホスト可能​(plausible.io。​SaaS版は​Starterプランが​月9ドルから、​30日間の​無料トライアル​あり)。
  • GoatCounter —— 軽量な​OSS。​個人・​小規模用途なら​ホスト版も​無料、​自己ホストも​可能、​Cookie不要​(goatcounter.com。​「合理的な​公開用途で​あれば​無料提供」との​記載)。
  • Fathom Analytics —— 商用・Cookie不要、​月15ドルから​(無料枠なし)。​プライバシー重視の​サイトで​よく​使われる。

2.2 比較

ツール無料セッションリプレイクロスドメインCookieGDPR/日本法との​相性導入難易度
GA4×要設定必須△​(同意が​必要)中​(GTM推奨)
Microsoft Clarity◎ 上限なし必須
Cloudflare Web Analytics××不要
Plausible×​(有料)×不要
GoatCounter○​(個人向けは​無料)××不要
Fathom×​(有料)×不要

2.3 個人サイト向けの​結論

GA4+Microsoft Clarityの​二本立てで​十分である。​どちらも​無料で​目的が​補完関係に​あり、​数行の​JSで​済む。​プライバシーへの​配慮を​最優先するなら​Cloudflare Web Analytics単独と​いう​選択肢も​あるが、​Clarityの​セッションリプレイから​得られる​UXの​学びは​個人サイトでも​大きい。

3. 無料の​メール取得スタック

GitHub Pagesは​静的ホスティングである​ため、​フォーム処理用の​サーバーを​持てない。​外部​SaaSに​丸投げするか、​Cloudflare Workers​(=Cloudflareが​提供する​サーバーレス実行環境)のような​自前の​サーバーレス構成で​受け取るかの​いずれかに​なる。

3.1 各サービスの​概要

  • mailto: リンク —— インフラ不要。​最大の​弱点は、​メールアドレスが​HTML上で​誰でも​読める​形で​露出し、​スクレイピングボット​(=自動巡回プログラム)に​よる​スパムの​標的に​なる​ことである。
  • Web3Forms​(ウェブスリーフォームズ) —— アクセスキーを​取得し、https://api.web3forms.com/submit 宛に​フォームを​POSTするだけで​バックエンド不要、​月250件まで​無料​(docs.web3forms.comで​「Web3Forms free tier includes 250 submissions per month」と​確認済み)。​CAPTCHA​(=人間か​ボットかを​判定する​仕組み)​連携も​可能。
  • Formspree​(フォームスプリー) —— 無料プランは​月50件​(help.formspree.ioに​「Submission allowances vary by plan, starting at 50 per month on the Free tier」との​記載)。​設定画面が​親切で、​reCAPTCHA・ファイルアップロード・Slack連携に​対応。
  • Buttondown​(ボタンダウン) —— ニュースレター向け。​100購読者まで​無料​(buttondown.com/pricingに​「Absolutely nothing for your first 100 subscribers」との​記載)。​マークダウンエディタ・独自ドメイン・​アーカイブは​無料枠内。​解析機能や​有料配信は​月9ドルから。
  • Cloudflare Workers+Email Routing —— Cloudflare配下の​ドメインで​あれば、​Email Routingで​受信メールを​Workerに​転送し任意の​宛先へ​送れる​(無料枠で​十分足りる)。​フォームから​Workerへ​fetchで​POSTし、​Workerから​Resendや​MailChannelsのような​SMTP APIに​投げる​構成も​可能。​コードを​書く​必要は​あるが​完全無料で​稼働する。
  • HubSpot Free / Mailchimp Free —— CRM​(=顧客関係管理)​/MA​(=マーケティングオートメーション)​ツール。​無料枠は​あるが​個人サイトには​重い。​Mailchimpの​無料枠は​500件の​連絡先、​月1,000通の​送信まで​(2024年改定後)。
  • Netlify Forms —— Netlifyホスティングが​前提​(GitHub Pagesからは​使えない)。​旧無料プランは​月100件、​2026年4月14日以降の​クレジット制プランでは​フォーム送信自体は​課金対象外に​なった​(docs.netlify.com)。

3.2 比較

サービス無料上限バックエンド自動返信配信機能ダッシュボード日本法対応
mailto:無制限不要×××△​(スパム懸念)
Web3Forms月250件不要×
Formspree月50件不要×
Buttondown100購読者不要
CF Workers+Email事実上無制限Worker必要実装次第××
Mailchimp Free500件不要
Netlify Forms月100件​(旧プラン)Netlify必要×

3.3 個人サイト向けの​結論

  • 単発の​「連絡してください」フォームなら​ → Web3Forms​(月250件は​個人サイトには​十分すぎる)。
  • 将来ニュースレターを​出す予定が​あるなら​ → Buttondown無料枠。​100購読者を​超えそうになった​時点で​有料化する​明確な​閾値が​ある。
  • すでに​Cloudflare配下の​ドメインを​持っているなら、​Cloudflare Workers+Email Routingに​よる​自前構成も​合理的​(外部​SaaS依存ゼロ・永続無料)。

4. 日本法で​注意すべき点

個人サイトであっても、​メールアドレスを​取得した​瞬間から​個人情報取扱事業者と​しての​義務が​発生する。​誤解されやすい​3点を​整理する。

4.1 個人情報保護法

  • メールアドレス単体でも​個人情報に​なりうる​:ドメインや​ローカルパートから​本人を​特定できる​場合​([email protected]のような​形式)、​連絡先と​しての​個人情報に​該当する。​該当しない​場合でも​「個人関連情報」と​して​扱われる。
  • 利用目的の​明示​(17条)​:フォームの​近くに​「問い​合わせ対応に​のみ​利用し、​第三者に​提供しない」等、​取得時点での​利用目的の​公表または​通知が​義務である。
  • 安全管理措置​(23条)​:Web3Forms等の​SaaSに​渡すことは​「委託」に​該当する。​委託先の​監督義務が​生じる​(​「問い​合わせフォームの​運用を​Web3Formsに​委託している」と​プライバシーポリシーに​記載する)。

4.2 特定電子メール法

広告・宣伝・サービス紹介を​含む​商用性の​ある​メール​(ニュースレター等)を​送る​場合:

  • 事前同意​(オプトイン)が​必須:チェックボックスで​同意を​取る。​「メール受信欄」を​自動で​チェック​済みに​するのは​違反である。
  • 配信停止リンクが​必須:メール本文に​必ず配信停止の​導線を​置く。​Buttondownは​自動挿入する。
  • 送信者情報の​明示:氏名または​名称・住所・連絡先メールアドレスの​記載義務が​ある。

4.3 改正電気通信事業法の​外部​送信規律​(2023年6月16日施行)

いわゆる​「日本版Cookie規制」である。​GA4のような​第三者送信を​伴う​解析ツールを​使うと、​Cookie等の​利用者情報が​Googleに​送信される​ため原則と​して​この​規律の​対象に​なりうるが、​次の​点に​注意する。

  • 個人サイト・個人ブログは​規律の​対象外:​「自らの​物品等の​インターネット販売の​ための​ホームページ運営、​法人の​ホームページ運営、​個人の​ブログ運営等を​行う​場合は、​電気通信事業に​該当せず対象外」​(総務省の​説明、soumu.go.jp)。
  • それでも​望ましい​実務:対象外であっても、​「Google Analyticsと​Microsoft Clarityを​利用しており、​Cookie等の​行動ログが​各社に​送信される。​詳細は​各社の​ポリシーを​参照」と​プライバシーポリシーに​書いておく​慣行が​ある。​透明性は​プラスに​しかならない。
  • 対象事業者の​閾値:利用者数が​「相当数」である​こと​(明確な​数値基準は​ないが、​省令上は​一定規模の​電気通信サービスを​想定)。​個人サイトは​そもそも​該当しにくい。

4.4 プライバシーポリシーの​最小構成

/privacy/ に​1ページ置く。​必要な​要素は​次の​とおり。

  • 取得する​情報​(フォーム入力情報、​Cookie/解析データ)
  • 利用目的​(問い​合わせ対応、​サイト改善)
  • 第三者提供の​有無​(提供しない)
  • 委託先​(Web3Forms・GA4・Clarity等を​列挙)
  • 開示・削除請求の​窓口
  • Cookieの​説明と​無効化方​法​(ブラウザ設定への​リンク)
  • 改定履歴

ひな形は​政府の​個人情報保護委員会の​ガイドライン​(ppc.go.jp)から​要素を​拾う。​Termlyや​Iubendaのような​生成ツールも​あるが​英語圏基準で​日本法に​完全には​整合しないため、​あくまで​参考に​と​どめる。​分量は​短くて​済むため、​自分の​言葉で​書いた方が​結局​早い。

5. 個人サイト向けの​推奨構成

用途ツール設置場所月額費用
行動解析​(定量)Google Analytics 4_layouts/default.html の​ <head>0円
行動解析​(定性)Microsoft Clarity同上、​GA4の​下0円
問い​合わせフォームWeb3Formsaboutページの​末尾0円​(月250件)
ニュースレター​(将来)Buttondown専用ページ0円​(100購読者まで)
プライバシーポリシー自筆マークダウン/privacy/index.md0円

切り​替えの​目安は​次の​とおりである。

  • フォーム送信が​月250件を​超えそうになったら​ → Web3Formsの​有料化か​自前の​Cloudflare Workers構成へ​移行する。
  • ニュースレターが​100購読者を​超えたら​ → Buttondownの​月9ドルプラン、​または​Mailchimp/ConvertKitへ​移行する。
  • セッションリプレイの​プライバシーが​気に​なるなら​ → Clarityを​やめ、​Cloudflare Web Analytics単独に​切り替える。

6. GitHub Pagesでの​導入メモ

  • バックエンドを​持て​ない​:フォーム処理は​外部SaaSか​Workerに​丸ごと​外出しする。
  • JSスニペットの​埋め込み:Jekyllなら_layouts/default.htmlに​{% if site.google_analytics %}...{% endif %}のような​ガードを​付けて​埋め込む。_config.ymlで​本番のみ​有効化する。
  • フォームHTMLを​置くだけで​SaaS側が​送信を​完結させる​:Web3Formsなら、https://api.web3forms.com/submit宛に​POSTする​フォームと​隠し項目のaccess_keyが​あれば​足りる。​リダイレクト先は​同一ドメインの​サンクスページで​よい。
  • ハニーポット​(=ボット検知用の​ダミー入力欄)は​必須:botcheckのような​隠しチェックボックス項目を​用意し、​ボットが​チェックした​場合は​送信を​拒否する。​Web3Formsも​Formspreeも​標準対応している。
  • プライバシーポリシーへの​リンク:フォームの​送信ボタン付近に​必ず/privacy/への​リンクを​置く。

7. まとめ

  • アクセス解析は​「全体の​傾向」、​メール取得は​「個人の​連絡先」である。​目的の​異なる​二本立てとして​構築する。​匿名の​解析から​個人を​特定する​ことは​できないし、​してはならない。
  • 2026年時点の​個人サイト向けベスト構成は、​GA4+Microsoft Clarity​(解析)​+Web3Forms​(フォーム、​月250件まで​無料)​+Buttondown​(ニュースレター、​100購読者まで​無料)である。​すべて​無料で​運用できる。
  • 日本法:メールアドレスは​個人情報であり、​利用目的の​明示と​委託先の​監督が​最低限必要である。​改正電気通信事業法の​外部​送信規律は​個人サイトには​原則適用外だが、​GA4/Clarityの​利用を​プライバシーポリシーに​書く​慣行が​ある。
  • GitHub Pagesの​静的ホスティングを​前提と​する以上​バックエンドは​持てないため、​フォーム処理は​外部SaaS​(Web3Forms等)か​Cloudflare Workers+Email Routingに​外出しする。

出典・参考

148 notestil