Cloud Service
Web Analytics
Cookie不要・プライバシー配慮で実ユーザーの表示速度と訪問傾向を無料で可視化する(AWSのCloudWatch RUMに相当するが軽量・無料寄り)。
- 1.JavaScript ビーコンまたはゾーン連携で、実ユーザーのページ表示速度と訪問状況を計測する。
- 2.Cookieやフィンガープリンティングを使わずにプライバシーへ配慮した集計を行う。
- 3.Core Web Vitals や訪問元・国別の内訳を無料でダッシュボード表示できる。
解決する課題
サーバー側のログやCDNのメトリクスだけでは、実際に訪問者のブラウザで「表示にどれくらい時間がかかっているか」「どのページがよく見られているか」はわかりません。Web Analyticsは:
- 実際の訪問者のブラウザから、表示速度と訪問状況を計測する
- Cookieや個人を特定する識別子を使わずに、プライバシーに配慮した形で集計する
- Cloudflareを経由していないオリジンサーバーのサイトでも、JavaScript ビーコンの埋め込みだけで計測を始められる
主要概念と用語
- Web Analytics: 実ユーザーの訪問とページ表示パフォーマンスを計測する無料の分析機能
- JavaScript ビーコン: ページに埋め込む計測用のスクリプトタグ。ページ読み込みごとに匿名化された情報を送信する
- ゾーン連携計測: サイトのDNSがCloudflareのゾーンとして管理されている場合、ビーコン埋め込みなしでトラフィックから自動計測する方式
- Core Web Vitals: 表示品質を表す指標群(最大コンテンツ描画・応答性・レイアウト安定性など)。Web Analyticsのダッシュボードで確認できる
- サイトトークン: JavaScript ビーコンがデータ送信先を識別するために使う値。サイトごとに発行される
- リファラー・国・端末別の内訳: 訪問元や地域、デバイス種別ごとにトラフィックを分解して表示する集計軸
仕様・制限・クォータ
- 計測はページビュー単位で集計され、ダッシュボード上で期間・ページ・国・端末などの軸から参照できる
- Cookieを使わないため、訪問者個人を長期間追跡するような識別はできない仕様になっている
- JavaScript ビーコン方式は、計測対象ページにスクリプトタグを追加すれば、Cloudflareを経由しないオリジンのサイトでも利用できる
- 集計データの保持期間や表示できる期間の範囲には一定の制約がある
- 古いブラウザやJavaScriptを無効化した環境では、ビーコン方式でのデータ収集はできない
サイトのDNSをCloudflareで管理している場合は、ダッシュボードでWeb Analyticsを有効化するだけで、追加のスクリプト埋め込みなしにトラフィックの概要を把握できます。
内部の仕組み
JavaScript ビーコンを使う場合、ページに埋め込まれた軽量なスクリプトが読み込み完了時にブラウザの標準的な性能計測APIを使って情報を収集し、サイトトークンとともに集計エンドポイントへ送信します。この際、Cookieの設置やIPアドレスの永続的な保存、フィンガープリンティングのような個人追跡の手法は使わず、集計に必要な範囲の情報だけを扱います。
ゾーン連携の場合は、Cloudflareのネットワークを通過するリクエストそのものから訪問状況を集計するため、ページ側への追加の変更は不要です。どちらの方式でも、集めたデータはページ・国・リファラー・端末種別などの軸で分解され、ダッシュボード上でCore Web Vitalsとあわせて確認できます。
ビーコン方式では、埋め込んだページでしか計測されません。サイト全体を計測したい場合は、共通レイアウトやテンプレートにスクリプトタグを含める必要があります。
設計パターン / ベストプラクティス
- ゾーン連携をまず試す: Cloudflareでドメインを管理しているなら、埋め込み作業なしでまず全体傾向を把握する
- オリジン非経由のサイトはビーコンで補完: Cloudflareを経由しないサイトや、部分的なページだけを計測したい場合はJavaScript ビーコンを使う
- 共通テンプレートに一元的に設置: ビーコンの埋め込み漏れを防ぐため、ヘッダーやレイアウトの共通部分にまとめて配置する
- Core Web Vitalsの継続的な確認: リリース前後で指標を比較し、表示速度の劣化を早期に見つける
- 他の可観測性ツールと役割分担: Web Analyticsは実ユーザー体感の把握に留め、詳細なエラー追跡やログ分析は別ツールと併用する
運用・監視
- ページ別・国別・端末別に表示速度や訪問数を分解し、体感が悪い組み合わせを見つける
- Core Web Vitalsの悪化傾向をリリースの前後で比較し、フロントエンドの劣化を検知する
- 訪問元(リファラー)の内訳から、流入経路ごとの傾向をつかむ
- データが表示されない場合は、ビーコンの埋め込み位置とサイトトークンの設定、またはゾーン連携の有効化状態を確認する
コスト
- Web Analyticsは無料で利用でき、追加のサブスクリプションプランは不要
- JavaScript ビーコン方式・ゾーン連携方式のどちらも、計測自体に別途の従量課金は発生しない
- 大規模サイトであっても、計測のために追加インフラを用意する必要がない点がコスト面での利点になる
セキュリティ
- Cookieや個人を特定する識別子を使わない設計のため、プライバシー規制への配慮がしやすい
- ビーコンが送信する情報は集計目的に限定されており、認証情報や個人情報を含めるべきではない
- サイトトークンは公開スクリプトに埋め込まれる前提の値であり、秘密情報の保護には使えない
- ダッシュボードへのアクセスはCloudflareアカウントの権限管理に従う
JavaScript ビーコンはブラウザ上で動作するため、送信内容は閲覧者から見える可能性があります。認証トークンや個人情報をページ側で計測イベントに混ぜ込まないよう注意します。
関連サービス・比較
決まったシナリオを自動で巡回する外形監視とはよく対比されます。Web Analyticsは実ユーザーの体感を捉えるのに対し、外形監視は定常的な可用性の確認に向いています。
| 観点 | Web Analytics | 外形監視(合成監視) |
|---|---|---|
| 計測対象 | 実ユーザーのブラウザ | 自動化された合成リクエスト |
| わかること | 実際の訪問傾向と表示体感 | 定常的な可用性と応答時間 |
| 個人情報の扱い | Cookie不要でプライバシーに配慮 | 実ユーザーデータは扱わない |
| 主な使いどき | フロント体感の継続的な把握 | 障害検知とアラート |
ハンズオン / CLI例
# wrangler でWorkersプロジェクトを作成し、Web Analyticsのビーコンを
# 静的ページのレイアウトに追加する運用を想定した確認コマンド例
# デプロイ対象のプロジェクト一覧を確認
wrangler pages project list
# 現在のデプロイ内容を確認し、ビーコン埋め込み済みのページを配信しているか確認
wrangler pages deployment list --project-name=my-site
# 変更後に再デプロイ
wrangler pages deploy ./dist --project-name=my-site
Cloudflare Service
Web Analyticsを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
監視・オブザーバビリティ
比較で見る軸
クラウド: Cloudflare / カテゴリ: 監視・オブザーバビリティ / 難易度: basic
導入後に効く点
Cookieやフィンガープリンティングを使わずにプライバシーへ配慮した集計を行う。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Cloudflare
- カテゴリ
- 監視・オブザーバビリティ
- 難易度
- basic
- 関連資格
- —
- 設計柱
- operational / performance
判断チェックリスト
- 自社の用途が「監視・オブザーバビリティ / operational」に近いか確認する。
- 強みである「JavaScript ビーコンまたはゾーン連携で、実ユーザーのページ表示速度と訪問状況を計測する。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。