個人サイト向けのアクセス解析&メール取得スタック(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 比較
| ツール | 無料 | セッションリプレイ | クロスドメイン | Cookie | GDPR/日本法との相性 | 導入難易度 |
|---|---|---|---|---|---|---|
| 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件 | 不要 | ○ | × | ◎ | ○ |
| Buttondown | 100購読者 | 不要 | ○ | ◎ | ◎ | ○ |
| CF Workers+Email | 事実上無制限 | Worker必要 | 実装次第 | × | × | ◎ |
| Mailchimp Free | 500件 | 不要 | ○ | ◎ | ◎ | ○ |
| 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円 |
| 問い合わせフォーム | Web3Forms | aboutページの末尾 | 0円(月250件) |
| ニュースレター(将来) | Buttondown | 専用ページ | 0円(100購読者まで) |
| プライバシーポリシー | 自筆マークダウン | /privacy/index.md | 0円 |
切り替えの目安は次のとおりである。
- フォーム送信が月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に外出しする。
出典・参考
- Google Analytics 4 —— 公式ドキュメント(Google)
- Microsoft Clarity —— サイト(Microsoft)
- Web3Forms —— サイト(Web3Forms)
- Buttondown —— サイト(Buttondown / Justin Duke)
- Cloudflare Email Routing —— 公式ドキュメント(Cloudflare)
- 改正電気通信事業法 外部送信規律 —— 公式サイト(総務省)
- 個人情報保護委員会 —— 公式サイト(PPC)
- Formspree —— サイト(Formspree)