RUM データで、CrUX とは異なる Core Web Vitals の数値が表示される理由について説明します。
公開日: 2022 年 8 月 15 日、最終更新日: 2025 年 12 月 17 日
Chrome ユーザー エクスペリエンス レポート(CrUX)は、Chrome ユーザーがウェブ上の人気ページに実際にアクセスしたときのユーザー エクスペリエンスを指標化したものです。このデータは、オプトインしたユーザーから Chrome によって自動的に収集され、CrUX の利用条件に基づいて提供されます。
そのため、CrUX データは数百万のウェブサイトで利用できます。多くのサイト所有者は、これまでフィールド データにアクセスしたことがありませんでした。CrUX により、多くのサイトで初めてこのデータの価値を確認できるようになりました。CrUX は一般公開データセットであるため、ユーザー エクスペリエンス指標の競合分析やベンチマークにも使用できます。
リアルユーザー モニタリング(RUM)は CrUX に似ていますが、Chrome がユーザー エクスペリエンス指標を自動的に収集するのではなく、ウェブサイトにコードを組み込んでこの収集を行い、RUM プロバイダまたは分析ソリューションにフィードバックしてさらに分析します。
どちらのソリューションもユーザー エクスペリエンスの指標を測定しているため、同等であると考えるのが自然です。違いがあると混乱することがあります。このガイドでは、このような不一致が発生する理由と、数値が一致しない場合の対処方法について説明します。
CrUX を RUM ソリューションで補完するメリット
CrUX は、サイト全体で一貫したビューを提供する優れたツールです。Core Web Vitals プログラムの Google データセットとして、サイトは CrUX が表示する内容を注視する必要があるでしょう。CrUX の目的は、何百万ものウェブサイトの統計的に関連する概要を提供し、相互比較できるようにすることです。
ただし、データがその数値を示している理由を詳しく調査するには、CrUX を補完する完全な RUM ソリューションに投資することで、一般公開されているクエリ可能なデータセットよりも詳細な情報にアクセスできます。これにより、さまざまな方法で指標を説明し、改善できます。
問題を調査するための詳細な分析
CrUX は、サイトに問題があるかどうかを指摘するために使用されることがよくありますが、サイトのどこに問題があるのか、なぜ問題があるのかを正確に指摘するとは限りません。RUM ソリューション(web-vitals ライブラリなどの自社開発ソリューションや、多くの商用プロダクトの一部)は、このギャップを埋めるのに役立ちます。
RUM ソリューションを使用すると、すべてのページとすべてのブラウザで、よりきめ細かいデータにアクセスできます。また、CrUX ではできない方法でこのデータをセグメント化して分析できるため、サイトの問題のある部分をドリルダウンして調査できます。特定のユーザー セグメントの影響を受けているか?特定のアクションを行ったユーザーでしょうか。この問題が発生し始めたのはいつ頃ですか?これらの質問は、RUM ツールが提供する追加データを使用することで、はるかに簡単に回答できます。
他のビジネス指標と相互に関連付ける
RUM では、ウェブ パフォーマンス指標をビジネス指標と直接比較することもできます。これにより、パフォーマンスに投資する価値や、優先すべきパフォーマンス関連の作業を把握できます。この相関関係を実証したビジネスのケーススタディは、Farfetch や The Economic Times など、数多くあります。
その他のパフォーマンス データを収集する
RUM ソリューションを使用すると、特定のビジネスに直接関連するその他のカスタム指標を収集できます。よく知られている例の一つは、Twitter の「最初のツイートまでの時間」指標です。これらのサイト固有の指標は、Core Web Vitals の改善やビジネス指標と関連付けることができます。
2 つのフィールド データセットの違い
時計を 1 つ持っている人は、何時かわかる。時計を 2 つ持っている人は、何時かわからない。
セーガルの法則
2 つのデータソースがある場合、それらのデータが異なる理由がわからず、混乱したり、いら立ったりすることがよくあります。ラボ指標とフィールド指標の違いを理解することが重要であるのと同様に、2 つのフィールド データソースの間にも違いがある可能性があります。理想的にはデータは同じになるはずですが、さまざまな理由で異なる場合があります。
ラボデータとフィールド データ
まず、ラボ(合成)指標とフィールド(RUM)指標のどちらを確認しているかを確認します。RUM プロダクトはフィールド データのみを対象としていると考えるのが自然ですが、多くのプロダクトはラボ コンポーネントも提供しています。
ラボデータは、測定条件が固定されているため、非常に有用です。これを使用すると、フィールドの母集団の変化によるノイズを排除して、本番環境での予期しない変化や回帰をモニタリングできます。ただし、ラボデータは実際のユーザー エクスペリエンスを反映していない可能性があるため、フィールド指標ではまったく異なる結果が示されることがあります。
人口
CrUX と RUM ソリューションで使用されるデータセットは、比較対象のブラウザ、ユーザー、サイト、デバイスに応じて、測定されるページ訪問が異なるため、異なる場合があります。
含まれるブラウザ
Chrome ユーザー エクスペリエンス レポートは、その名のとおり Chrome のみを対象としています。Chromium ベースのブラウザ(Edge、Opera、Brave など)は数多くあり、Chrome のコードベースの多くを共有していますが、CrUX にデータをフィードするのは Chrome ユーザーのみです。この制限は、iOS の Chrome ユーザーも含まれないことを意味します。iOS の Chrome は、基盤となる Webkit ブラウザ エンジンを使用しているためです。Android WebView も「Chrome」としてカウントされないため、これらのユーザーからのデータは含まれません。ただし、Chrome カスタムタブは含まれます。
Chrome は世界で最も人気のあるブラウザの 1 つであり、ほとんどの場合、サイトのパフォーマンスを幅広く表すことができますが、そのブラウザだけを測定しても、すべてのユーザーを測定することはできません。これは、RUM と CrUX の主な違いの 1 つを説明している可能性があります。これは、たとえば Chrome でのみ利用可能な API や画像形式に依存するパフォーマンス手法に特に当てはまります。
iOS データが不足していることも、バイアスにつながる可能性があります。たとえば、iOS ユーザーは通常、より高性能なデバイスを使用しているか、ネットワーク インフラストラクチャが整った国からアクセスしているため、iOS ユーザーを含めると、全体的なパフォーマンス指標が高くなる可能性があります。一方、CrUX のように除外すると、サイト訪問者の下限に偏ったデータになる可能性があります(ケーススタディの例)。Android ユーザーは通常、より幅広いデバイス、デバイス機能、市場をカバーしています。
RUM ソリューションは、Chrome 以外のブラウザ、特に同じ指標(Core Web Vitals など)が組み込まれていることが多い Chromium ベースのブラウザからデータを取得できます。Chromium ベース以外のブラウザも RUM ソリューションによって測定されますが、指標のセットがより限定される場合があります。たとえば、Cumulative Layout Shift(CLS)は Chromium ベースのブラウザでのみ利用できます。LCP、INP、First Contentful Paint(FCP)など、他のペイントベースの指標は、測定方法が大きく異なる場合があります(後述)。
オプトインしたユーザー
CrUX は Chrome ユーザーに限定されているだけでなく、ブラウザのインストール時に CrUX データの共有をオプトインした Chrome ユーザーのサブセットのみを測定するという制限もあります。
また、RUM プロバイダは、通常、Cookie バナーのプロンプト(ユーザーに RUM データの収集へのオプトインを求める)やトラッキング ブロッカーが原因で、ユーザーのサブセットのみを対象としています。2 ページ目以降まで確認が行われず、サイトのアセットの一部が前のページからすでにキャッシュされている場合、最初のページ読み込みに悪影響を及ぼす可能性があります。これが頻繁に発生すると、初期ページ読み込みが遅いケースが十分に除外された場合、RUM の指標が実際よりも良好に見えることがあります。
追加したサイト
CrUX は公開ウェブサイトのみをレポートすることを目的としているため、CrUX にデータが記録されない可能性があるその他の資格要件があります。これらの基準の中で最も重要なのは、ウェブサイトが一般に公開されており、有意な結論を導き出すのに十分なサンプルサイズを確保できるほど人気があることです。ほとんどの場合、これにより CrUX でデータが利用できなくなります。これは、データが利用可能であるものの異なる場合と比較して、混乱を招く違いではありませんが、その理由を説明しています。
ただし、サイトの特定のページがインデックス登録可能としてマークされ、他のページがマークされていない場合、CrUX には URL のサブセットのみが表示されることがあります。オリジンが一般に検出可能な場合、そのオリジン内のすべてのページビューがオリジンレベルのデータに含まれますが、URL レベルのデータは利用できない場合があります。
デバイス
CrUX では、モバイル、パソコン、タブレット別にデータがセグメント化されます。ただし、多くのツールは最初の 2 つに重点を置いており、タブレットのデータは表示されないか、モバイルまたはパソコンのデータに含まれている場合があります。モバイルとパソコンでは、配信されるコンテンツと、コンテンツを閲覧するデバイスの機能の両面で、パフォーマンス特性が大きく異なる場合があります。
RUM データでも同様にトラフィックをセグメント化できますが、デフォルトでは統合されたデータが表示されることがよくあります。RUM では、デバイスタイプ(モバイルなど)またはブラウザ(Chrome など)でセグメント化できますが、モバイル Chrome のトラフィックのみを表示するために両方でセグメント化することはできません。CrUX データと比較する場合は、デバイスタイプと Chrome ブラウザでフィルタして、同じ条件で比較していることを確認してください。
サンプリング
RUM ソリューションでは通常、データが収集されるオプトインした訪問者のサンプリング レートを調整できます。これにより、分析が必要なデータ量を削減し、商用 RUM サービスの費用を削減できます。サンプルサイズが小さすぎて、より広範な母集団を代表していない場合、結果として得られる指標も同様に偏ったものになります。サイトに適したサンプリング サイズについて、RUM プロバイダと話し合ってください。
データの集計
フィールド データは、その性質上、ラボデータと比較して同じ指標のデータポイントが多数含まれます。ラボデータは単一の値を提供します。このデータがレポート用に異なる方法で集計されると、CrUX と RUM の違いのもう一つの原因になる可能性があります。
期間
CrUX データは 28 日間のトラフィックのスライディング ウィンドウに基づいています。この期間を変更することはできません。ただし、CrUX BigQuery データは月ごとに保存されるため、前月を確認できます。また、CrUX History API では、週単位の過去のデータも取得できます。どちらも 28 日間のスライディング ウィンドウに基づいてデータを提供します。
通常、RUM データは粒度がはるかに細かいため、変更の影響をより早く確認できます。ただし、期間を短くすると、ウェブサイトのトラフィックや訪問者の変動による影響を過度に受ける可能性があります。RUM データと CrUX データを比較する場合は、必ず 28 日間のパフォーマンスを確認してください。データが類似していることを確認したら、他の期間を確認して RUM データをドリルダウンできます。
統計情報の集計
CrUX 指標は 75 パーセンタイルで測定されます。つまり、ページビューの 75% が達成した値を確認します。フィールド データには極端な値が含まれるため、最悪の 25% のエクスペリエンスを除外することで、大多数の訪問者が合理的に達成できると期待される値を提供することを目的としています。
RUM 製品では、75 パーセンタイル、中央値、その他のパーセンタイルなど、指標を集計する方法の選択肢がより多く提供されることがよくあります。RUM 値を CrUX データと比較する場合は、75 パーセンタイルのデータを確認して、同等の比較を行う必要があります。
CrUX のヒストグラム データには、75 パーセンタイルだけでなく、利用可能なすべてのデータが含まれ、各評価のページビュー数が表示されますが、集計スコアは 75 パーセンタイルに基づきます。この CrUX データは、PageSpeed Insights などのツールに表示されます。
指標の違い
ウェブ パフォーマンスの測定に使用される指標は多数あります。そのため、2 つの異なるデータセットを比較する場合は、測定されている指標と、それらの指標がどのように使用されているかを理解することが重要です。
測定された指標
CrUX データは、Core Web Vitals イニシアチブの Google データセットであり、主にこれらの指標(LCP、CLS、INP)を測定します。また、これらを補完するいくつかの追加指標も測定します。
RUM ツールには通常、これらの Core Web Vitals が含まれていますが、他の多くの指標も含まれていることがよくあります。一部の RUM プロバイダは、これらの指標を独自に組み合わせてユーザー エクスペリエンスを測定し、「満足度指数」などを算出しています。RUM データを CrUX と比較する場合は、同じ条件で比較していることを確認してください。
Core Web Vitals の合格 / 不合格ステータスを評価するツールでは、すべての Core Web Vitals で 75 パーセンタイルの推奨ターゲットを満たしている場合に、ページが合格と見なされる必要があります。インタラクションのないページに INP がない場合は、LCP と CLS のみが合格する必要があります。
ブラウザ間の指標の違い
CrUX は Chrome ブラウザでのみ測定されます。Chrome のバージョンごとの変更点については、ウェブに関する主な指標の変更ログをご覧ください。
一方、RUM ソリューションは、より幅広いブラウザから測定します。Chromium ベースのブラウザ(Edge、Opera など)は、Chrome と同様の動作になる可能性があります。ただし、変更履歴に記載されているように、Chrome で新しい変更が実装されている場合は、この限りではありません。
Chromium 以外のブラウザでは、違いがより顕著になることがあります。たとえば、LCP、INP、FCP などのペイントベースの指標は Safari と Firefox で利用できますが、測定方法が異なります。これにより、報告される時間に大きな差異が生じる可能性があります。前述のように、RUM と CrUX を比較する場合は、Chrome ユーザーのみをフィルタして、同等の比較を行うことをおすすめします。
指標のタイミング
Core Web Vitals の指標はウェブブラウザの API によって提供されますが、それらを使用して報告される値に差異が生じる可能性がないわけではありません。指標の測定がいつ行われるか(ページの読み込み時か、ページ ライフサイクル全体か)によって、違いが生じることがあります。RUM ツールは、同じ名前を使用していても、同じブラウザ API を使用してデータを取得していても、指標を同じ方法で測定するとは限りません。これは混乱を招く可能性があります。
Largest Contentful Paint(LCP)は、ページ読み込みの指標です。最初のレンダリング後に、より大きな要素が読み込まれると、Web API によって複数の LCP 要素が報告されることがあります。最終的な LCP 要素は、ページの読み込みが完了したとき、またはユーザーがページを操作したときに決定されます。そのため、LCP 要素がこれら 2 つのイベントよりも早く報告されると、差異が生じることがあります。
また、フィールド データでは、ページの読み込み方法によって LCP 要素が異なる場合があります。ページ コンテンツの上部を表示するデフォルトのページ読み込みの場合、LCP 要素は主に画面サイズに依存します。ただし、ドキュメントの下部にあるアンカーリンクを使用してページが開かれた場合や、シングルページ アプリ(SPA)へのディープリンクを使用してページが開かれた場合(詳細は後述)は、LCP 要素が異なる可能性があります。
CrUX または RUM で提供される LCP のタイミングが、ラボツールと同じ要素に基づいているとは限りません。CrUX ではページまたはオリジンごとの全体的な LCP 値が提供されますが、RUM ではこれをさらにセグメント化して、個々の LCP 問題セッションを特定できます。
Cumulative Layout Shift(CLS)はページのライフスパン全体で測定されるため、最初のページ読み込み時の CLS は、ページが読み込まれてユーザーが操作した後に大きなシフトが発生するページを代表するものではない可能性があります。そのため、多くの RUM プロダクトで行われているように、ページ読み込み後にのみ CLS 値を取得すると、ユーザーがページを終了した後に CLS 値を取得した場合とは異なる結果になります。
Interaction to Next Paint(INP)応答性指標では、測定対象の入力が必要であり、CLS と同様に、ページの存続期間全体にわたるすべてのクリック、タップ、キーボード操作がモニタリングされます。そのため、ユーザーがページで多数の操作を行った後に測定すると、INP の報告値が大きく異なる可能性があります。
CrUX は、Core Web Vitals のドキュメントに沿って、ページのライフタイム全体を通じてこれらの指標を測定します。多くの RUM プロバイダは、さまざまな理由から、ページの読み込み後や、その他のタイミング(重要な行動を促すフレーズがクリックされたときなど)にこれらの指標を測定することを選択しています。
2 つのデータソース間で説明のつかない差異が見られる場合は、RUM プロバイダから Core Web Vitals の測定時期を把握することが重要です。
シングルページ アプリケーション
シングルページ アプリケーション(SPA)は、ブラウザレベルで実際にページ ナビゲーションを行うのではなく、現在のページのコンテンツを更新することで動作します。つまり、ユーザーはページ ナビゲーションとして認識しているにもかかわらず、ブラウザはページ ナビゲーションとして認識しません。ブラウザが提供する Core Web Vitals API では、これらは考慮されません。そのため、CrUX はこれらのページ ナビゲーションをサポートしていません。この問題の解決に向けて作業が進められています。詳しくは、ソフト ナビゲーションの測定に関する投稿をご覧ください。
一部の RUM プロバイダは、SPA での「ソフト ナビゲーション」を検出しようとしますが、それらの「ソフト ナビゲーション」に Core Web Vitals の指標を関連付けている場合、基盤となる API が多くの指標でこれをサポートしていないため、CrUX との差異が生じます。
CrUX と Web API の違い
どのページビューが測定されるか、何が測定されるかという違いに加えて、CrUX と RUM のデータに違いが生じる可能性がある、より複雑なシナリオがいくつかあります。その一部は、指標の測定に使用されるウェブ API の制限によるもので、一部は、特定のシナリオで API から返される結果を異なる方法で処理する必要がある場合です。Core Web Vitals のドキュメントには、LCP と CLS の違いが記載されていますが、主な違いについては、以下のセクションでも説明します。
バックフォワード キャッシュ
CrUX では、バックフォワード キャッシュ(bfcache)の復元は、従来のページ読み込みにはつながらないものの、ページ ナビゲーションと見なされます。ウェブ API はこれらをページ読み込みとして扱わないため、RUM ソリューションが CrUX と一致させるには、これらのページをカウントするための追加の手順が必要になります。これらのページ読み込みはかなり高速であるため、サイトの全体的なパフォーマンスが向上する可能性があります。そのため、これらのページ読み込みを除外すると、全体的なページ パフォーマンス指標が悪化する可能性があります。bfcache で復元されたページが処理されるかどうかについては、RUM ソリューションをご覧ください。
iframe
セキュリティとプライバシー上の理由から、最上位ページは iframe(同一オリジン iframe も含む)内のコンテンツにアクセスできません。つまり、iframe 内のコンテンツのパフォーマンス指標は、iframe 自体でのみ測定でき、フレームページのウェブ API では測定できません。iframe コンテンツに LCP 要素、またはユーザーが経験する CLS や INP に影響するコンテンツが含まれている場合、RUM ソリューション(Google の web-vitals JavaScript ライブラリを含む)では利用できません。
しかし、CrUX は、ページ上の JavaScript ではなく Chrome ブラウザ自体によって測定されるため、このような制限はなく、Core Web Vitals をレポートする際に iframe 内の指標を測定します。これにより、ユーザー エクスペリエンスがより正確に反映されますが、iframe を使用しているサイトでは、差異が生じる別の原因となる可能性があります。
これが CrUX と RUM の LCP データの違いにつながる具体的な例として、埋め込み <video> があります。playsinline 属性が指定された自動再生 <video> 要素の最初に描画されたフレームは LCP 候補としてカウントされる可能性がありますが、一般的な動画ストリーミング サービスの埋め込みでは、これらの要素が <iframe> に配置されることがあります。CrUX は <iframe> のコンテンツにアクセスできるため、これを考慮できますが、RUM ソリューションでは考慮できません。
クロスオリジン リソース
他のドメインから提供される LCP メディアは、タイミング攻撃を軽減するためのブラウザのセキュリティ制限により、Timing-Allow-Origin ヘッダー(TAO)が提供されていない限り、PerformanceObserver API でレンダリング時間を提供しない場合があります。これはリソースの読み込み時間にフォールバックしますが、これはコンテンツが実際に描画された時間とは大きく異なる場合があります。
これにより、ウェブ API によって LCP が FCP よりも早く報告されるという、一見不可能な状況が発生することがあります。これは事実ではなく、このセキュリティ制限のためにそのように表示されているだけです。
この問題は 2024 年後半に解決され、Timing-Allow-Origin が指定されていない場合でも、Chrome 133 以降では、わずかに粗いレンダリング時間が利用可能になりました。
繰り返しになりますが、CrUX は Core Web Vitals のレンダリング時間データをレポートします。サイトでは、Core Web Vitals 指標に影響するクロスオリジン コンテンツを制限し、可能であれば TAO を有効にして、より正確に測定することをおすすめします。他のクロスオリジン リソースにも同様の制限が適用される場合があります。
バックグラウンド タブ
ページがバックグラウンド タブで開かれていない場合でも、Web API を使用して指標が生成されます。ただし、これらはユーザー エクスペリエンスと一致しないタイミングを示すため、CrUX では報告されません。RUM ソリューションでは、これらを無視するか、少なくともこれらのページビューがどのように処理されるかを説明する必要があります。
では、どうすればよいでしょうか。
CrUX と RUM のデータに差異が生じる理由として、それぞれが使用する手法の違いや、含まれるまたは除外されるユーザーとページビューの違いが挙げられます。理想的には、どちらのデータセットもサイトのパフォーマンスを代表するものであり、有用であるべきですが、上記の理由から、それぞれでまったく同じ数値が得られる可能性は非常に低いと言えます。
差異がわずかである場合(たとえば、LCP が 2.0 秒と 2.2 秒と報告されている場合)、どちらのデータセットも有用であり、通常はほぼ同期していると見なすことができます。
データの精度に疑問を抱くほどの大きな違いがある場合は、その違いを理解する必要があります。RUM データをフィルタして、CrUX とより密接に連携させる(デスクトップまたはモバイルの Chrome ユーザーのみを対象とし、28 日間の 75 パーセンタイル値を使用する)ことで、これらの差異を減らすことはできますか?
その場合、データをより正確に一致させることができますが、全体的なデータにこのような違いが見られる理由と、それが何を意味するのかを考える必要があります。Chrome 以外のユーザーが指標にプラスまたはマイナスの影響を与えているか?これにより、パフォーマンスの問題が発生している場所をより詳しく把握し、優先順位を付けることができますか?
Chrome 以外のユーザーで異なる結果が得られた場合は、RUM から得られた貴重な分析情報を使用して、別の方法で最適化できます。たとえば、特定の API が特定のブラウザで利用できない場合、サポートされていないブラウザの代替手段を検討することで、エクスペリエンスを改善できます。または、制約のあるデバイスやネットワークを使用しているユーザーに、異なるものの、よりパフォーマンスの高いエクスペリエンスを提供することもできます。CrUX は Chrome のデータに限定されていますが、改善の優先順位付けに役立てるには、サイトのすべての訪問者のエクスペリエンスを考慮する必要があります。RUM データは、このギャップを埋めることができます。
差異の理由を理解すれば、どちらのツールもウェブサイトのユーザー エクスペリエンスを把握するのに非常に役立ちます。また、数値が一致していなくても、ユーザー エクスペリエンスの改善に役立ちます。RUM データを使用して CrUX データを補完し、トラフィックをセグメント化して、サイトの特定の領域やユーザーベースに注意が必要かどうかを特定することで、CrUX が示す内容を詳細に把握できます。
2 つのデータソース間で各数値を正確に一致させることよりも、トレンドを確認して、改善が期待どおりのプラスの影響をもたらしているかどうかを確認することの方が重要であることがよくあります。前述のように、RUM ではさまざまな期間を調べて、28 日間の CrUX スコアがどうなるかを事前に確認できます。ただし、期間が短すぎるとノイズの多いデータになる可能性があるため、CrUX では 28 日間を使用しています。
多くの場合、これらの異なる指標に「正しい」または「間違っている」という答えはありません。これらは、ユーザーとユーザーがサイトをどのように体験しているかについての異なる視点にすぎません。このような違いが生じる理由と、それが意思決定にどのように影響するかを理解することが、サイト訪問者により良いサービスを提供するうえで重要です。