Tại sao dữ liệu CrUX lại khác với dữ liệu CLS (Đạo luật về quyền riêng tư của người tiêu dùng)?

Tìm hiểu lý do khiến dữ liệu RUM có thể cho thấy các con số khác với CrUX về Các chỉ số quan trọng về trang web.

Ngày xuất bản: 15 tháng 8 năm 2022, Ngày cập nhật gần đây nhất: 17 tháng 12 năm 2025

Báo cáo trải nghiệm người dùng trên Chrome (CrUX) cung cấp các chỉ số về trải nghiệm thực tế của người dùng Chrome trên những trang web phổ biến. Dữ liệu này được Chrome tự động thu thập từ những người dùng đã chọn tham gia và được cung cấp dựa trên tiêu chí đủ điều kiện của CrUX.

Do đó, dữ liệu CrUX được cung cấp cho hàng triệu trang web. Nhiều chủ sở hữu trang web chưa từng có quyền truy cập vào dữ liệu thực tế và CrUX đã giúp nhiều trang web lần đầu tiên thấy được giá trị của dữ liệu này. Là một tập dữ liệu công khai, CrUX cũng có thể được dùng để phân tích cạnh tranh và đo điểm chuẩn cho các chỉ số về trải nghiệm người dùng.

Giám sát người dùng thực (RUM) tương tự như CrUX, nhưng thay vì Chrome tự động thu thập các chỉ số về trải nghiệm người dùng, mã được đưa vào các trang web để thực hiện việc thu thập này và cung cấp lại cho nhà cung cấp RUM hoặc giải pháp phân tích để phân tích thêm.

Vì cả hai giải pháp đều đo lường các chỉ số về trải nghiệm người dùng, nên việc giả định rằng chúng tương đương nhau là điều tự nhiên. Chúng ta có thể bối rối khi thấy sự khác biệt. Hướng dẫn này sẽ giải thích lý do có thể xảy ra tình trạng đó và đưa ra đề xuất về những việc cần làm khi các con số không khớp.

Lợi ích của việc bổ sung CrUX bằng giải pháp RUM

CrUX là một công cụ tuyệt vời để có được thông tin nhất quán trên các trang web và vì đây là tập dữ liệu của Google cho chương trình Core Web Vitals, nên các trang web có thể sẽ muốn theo dõi những thông tin mà công cụ này hiển thị. Mục đích của CrUX là cung cấp thông tin tổng quan có liên quan về mặt thống kê của hàng triệu trang web để so sánh chéo.

Tuy nhiên, để tìm hiểu sâu hơn về lý do dữ liệu hiển thị các con số như vậy, bạn nên đầu tư vào một giải pháp RUM đầy đủ để bổ sung cho CrUX. Giải pháp này có thể cung cấp cho bạn thông tin chi tiết hơn so với thông tin có trong một tập dữ liệu có thể truy vấn công khai. Điều này có thể giúp bạn giải thích và cải thiện các chỉ số của mình theo một số cách.

Phân tích sâu hơn để điều tra vấn đề

CrUX thường có thể được dùng để chỉ ra liệu bạn có gặp vấn đề trên trang web của mình hay không, nhưng không nhất thiết phải chỉ ra chính xác vị trí của vấn đề trên trang web cũng như lý do. Các giải pháp RUM (dù là tự phát triển thông qua thư viện web-vitals hay một số sản phẩm thương mại) đều có thể giúp thu hẹp khoảng cách đó.

Khi sử dụng giải pháp RUM, bạn có thể truy cập vào dữ liệu chi tiết hơn cho tất cả các trang và trên mọi trình duyệt. Thư viện này cũng cho phép bạn phân đoạn và phân tích dữ liệu này theo những cách mà CrUX không làm được, giúp bạn xem chi tiết và điều tra các khía cạnh có vấn đề của trang web. Có phải họ bị ảnh hưởng bởi một phân khúc người dùng cụ thể không? Hay những người dùng thực hiện một số hành động nhất định? Chính xác thì vấn đề bắt đầu từ khi nào? Đây là những câu hỏi dễ trả lời hơn nhiều nhờ dữ liệu bổ sung mà công cụ RUM có thể cung cấp.

Tương quan với các chỉ số kinh doanh khác

RUM cũng cho phép bạn so sánh trực tiếp các chỉ số hiệu suất web với mọi chỉ số kinh doanh, cho thấy giá trị của việc đầu tư vào hiệu suất và những công việc hiệu suất khác cần ưu tiên. Chúng tôi có nhiều nghiên cứu điển hình về các doanh nghiệp thực hiện mối tương quan này, chẳng hạn như Farfetch hoặc The Economic Times.

Thu thập dữ liệu hiệu suất khác

Giải pháp RUM cho phép thu thập các chỉ số tùy chỉnh khác, liên kết trực tiếp với doanh nghiệp cụ thể của bạn. Một trong những ví dụ nổi tiếng hơn là chỉ số "Thời gian cho đến khi đăng Tweet đầu tiên" của Twitter. Sau đó, bạn có thể liên kết các chỉ số cụ thể theo trang web này với mức cải thiện về Core Web Vitals và các chỉ số kinh doanh.

Sự khác biệt giữa hai tập dữ liệu thực tế

Người có một chiếc đồng hồ biết mấy giờ. Người có hai chiếc đồng hồ không bao giờ chắc chắn.

Định luật Segal

Khi có hai nguồn dữ liệu, bạn thường có thể cảm thấy bối rối và bực bội khi thấy chúng khác nhau. Tương tự như việc hiểu rõ sự khác biệt giữa chỉ số trong phòng thí nghiệm và chỉ số thực tế, hai nguồn dữ liệu thực tế cũng có thể có sự khác biệt. Mặc dù dữ liệu sẽ giống nhau trong trường hợp lý tưởng, nhưng có nhiều lý do khiến dữ liệu có thể khác nhau.

Dữ liệu phòng thí nghiệm so với dữ liệu thực địa

Điều đầu tiên cần kiểm tra là bạn đang xem chỉ số phòng thí nghiệm (tổng hợp) hay chỉ số thực tế (RUM). Mặc dù việc cho rằng các sản phẩm RUM chỉ xem xét dữ liệu thực địa là điều tự nhiên, nhưng nhiều sản phẩm cũng cung cấp thành phần phòng thí nghiệm.

Dữ liệu phòng thí nghiệm cực kỳ hữu ích chính là nhờ các điều kiện cố định mà dữ liệu này đo lường. Bạn có thể dùng chỉ số này để theo dõi những thay đổi hoặc sự hồi quy ngoài dự kiến trong môi trường thực tế mà không bị ảnh hưởng bởi sự thay đổi về số lượng người dùng thực tế. Tuy nhiên, dữ liệu thử nghiệm có thể không đại diện cho trải nghiệm thực tế của người dùng, vì vậy, các chỉ số thực tế có thể cho thấy kết quả khá khác biệt.

Dân số

Tập dữ liệu mà CrUX và các giải pháp RUM sử dụng có thể khác nhau do sự khác biệt về lượt truy cập trang được đo lường, tuỳ thuộc vào trình duyệt, người dùng, trang web và thiết bị được so sánh.

Trình duyệt được hỗ trợ

Báo cáo trải nghiệm người dùng trên Chrome, đúng như tên gọi, chỉ dành cho Chrome. Mặc dù có nhiều trình duyệt dựa trên Chromium (chẳng hạn như Edge, Opera và Brave) dùng chung nhiều toàn bộ mã nguồn của Chrome, nhưng chỉ người dùng Chrome mới cung cấp dữ liệu cho CrUX (Báo cáo trải nghiệm người dùng trên Chrome). Quy định hạn chế này cũng có nghĩa là người dùng Chrome trên iOS không được tính, vì Chrome sử dụng công cụ trình duyệt Webkit cơ bản. Android WebView cũng không được tính là "Chrome", vì vậy, dữ liệu của những người dùng này không được đưa vào, mặc dù Thẻ tuỳ chỉnh của Chrome được đưa vào.

Mặc dù Chrome là một trong những trình duyệt phổ biến nhất thế giới (và do đó có thể cung cấp thông tin đại diện rộng rãi về hiệu suất của trang web trong hầu hết các trường hợp), nhưng việc chỉ đo lường trình duyệt đó không có nghĩa là đo lường tất cả người dùng của bạn. Điều này có thể giải thích một điểm khác biệt chính giữa RUM và CrUX. Điều này đặc biệt đúng với các kỹ thuật hiệu suất dựa trên API hoặc định dạng hình ảnh chỉ có trong Chrome.

Việc thiếu dữ liệu iOS cũng có thể dẫn đến sai lệch. Ví dụ: vì người dùng iOS thường sử dụng các thiết bị có hiệu suất cao hơn hoặc truy cập từ nhiều quốc gia có cơ sở hạ tầng mạng tốt hơn, nên việc đưa họ vào có thể giúp tăng chỉ số hiệu suất tổng thể. Mặt khác, việc loại trừ các lượt truy cập này (như CrUX) có thể dẫn đến dữ liệu bị sai lệch về phía dưới của khách truy cập trang web (nghiên cứu điển hình mẫu). Người dùng Android thường sử dụng nhiều loại thiết bị, chức năng thiết bị và thị trường hơn.

Các giải pháp RUM có thể lấy dữ liệu cho các trình duyệt không phải Chrome, đặc biệt là từ các trình duyệt dựa trên Chromium thường có cùng chỉ số (chẳng hạn như Core Web Vitals) được tích hợp sẵn. Các giải pháp RUM cũng đo lường các trình duyệt không dựa trên Chromium, nhưng có thể có một nhóm chỉ số hạn chế hơn. Ví dụ: Mức thay đổi bố cục tích luỹ (CLS) chỉ có trong các trình duyệt dựa trên Chromium. Một số chỉ số khác dựa trên nội dung hiển thị như LCP, INP và thậm chí cả Nội dung đầu tiên hiển thị (FCP) có thể được đo lường theo cách khá khác (xem phần sau).

Người dùng đã chọn tham gia

Ngoài việc chỉ áp dụng cho người dùng Chrome, CrUX còn bị hạn chế hơn nữa khi chỉ đo lường một nhóm nhỏ người dùng Chrome đã chọn chia sẻ dữ liệu CrUX khi cài đặt trình duyệt.

Các nhà cung cấp RUM cũng chỉ xem xét một nhóm nhỏ người dùng, thường là do lời nhắc trên biểu ngữ về cookie (yêu cầu người dùng chọn tham gia thu thập dữ liệu RUM) hoặc trình chặn theo dõi. Điều này có thể ảnh hưởng xấu đến một số lượt tải trang ban đầu nếu không có sự xác nhận cho đến trang thứ hai hoặc trang tiếp theo, khi một số thành phần của trang web đã được lưu vào bộ nhớ đệm từ các trang trước. Nếu điều này xảy ra thường xuyên, thì các chỉ số có thể có vẻ tốt hơn trong RUM so với thực tế nếu số lượt tải trang ban đầu chậm hơn bị loại trừ trong một số trường hợp.

Trang web được bao gồm

CrUX chỉ dùng để báo cáo về các trang web công khai, vì vậy, có những tiêu chí khác có thể khiến dữ liệu không được ghi lại trong CrUX. Tiêu chí đáng chú ý nhất trong số này là trang web phải có thể được khám phá công khai và đủ phổ biến để đảm bảo quy mô mẫu tối thiểu nhằm đưa ra kết luận có ý nghĩa. Trong hầu hết các trường hợp, điều này sẽ khiến CrUX không có dữ liệu. Sự khác biệt này ít gây nhầm lẫn hơn so với trường hợp dữ liệu có sẵn nhưng khác nhau, nhưng giải thích lý do xảy ra điều đó.

Tuy nhiên, nếu một số trang cụ thể của một trang web được đánh dấu là có thể lập chỉ mục nhưng những trang khác thì không, thì bạn có thể chỉ thấy một số URL trong CrUX. Nếu nguồn gốc có thể được khám phá công khai, thì tất cả lượt xem trang trong nguồn gốc đó sẽ được đưa vào dữ liệu ở cấp nguồn gốc, nhưng dữ liệu ở cấp URL có thể không có sẵn.

Thiết bị

CrUX phân đoạn dữ liệu theo thiết bị di động, máy tính và máy tính bảng – mặc dù nhiều công cụ tập trung vào hai công cụ đầu tiên và có thể không hiển thị dữ liệu máy tính bảng hoặc có thể đưa dữ liệu đó vào thiết bị di động hoặc máy tính. Đặc điểm hiệu suất trên thiết bị di động so với máy tính có thể khá khác nhau, cả về nội dung được phân phối và khả năng của thiết bị xem nội dung đó.

Dữ liệu RUM sẽ cho phép phân đoạn lưu lượng truy cập theo cách tương tự, nhưng thường hiển thị dữ liệu tổng hợp theo mặc định. RUM có thể chỉ cho phép phân đoạn theo loại thiết bị (ví dụ: thiết bị di động) hoặc trình duyệt (ví dụ: Chrome), nhưng không cho phép cả hai để chỉ xem lưu lượng truy cập trên Chrome dành cho thiết bị di động. Khi so sánh với dữ liệu CrUX, hãy đảm bảo bạn đang so sánh các dữ liệu tương đồng bằng cách lọc theo loại thiết bị và trình duyệt Chrome.

Lấy mẫu

Các giải pháp RUM thường cho phép điều chỉnh tốc độ lấy mẫu của những khách truy cập đã chọn tham gia thu thập dữ liệu. Bạn có thể dùng cách này để giảm lượng dữ liệu cần phân tích và giảm chi phí cho các dịch vụ RUM thương mại. Nếu quy mô mẫu quá nhỏ và không đại diện cho nhóm đối tượng rộng hơn, thì các chỉ số thu được cũng sẽ bị sai lệch tương tự. Thảo luận với nhà cung cấp RUM về kích thước lấy mẫu phù hợp cho trang web của bạn.

Tổng hợp dữ liệu

Dữ liệu thực tế sẽ bao gồm rất nhiều điểm dữ liệu của cùng một chỉ số so với dữ liệu trong phòng thí nghiệm, vốn chỉ cung cấp một giá trị duy nhất. Nếu dữ liệu này được tổng hợp theo cách khác để báo cáo, thì đây có thể là một lý do khác dẫn đến sự khác biệt giữa CrUX và RUM.

Khoảng thời gian

Dữ liệu CrUX dựa trên khoảng thời gian 28 ngày của lưu lượng truy cập và bạn không thể thay đổi khung thời gian này. Tuy nhiên, dữ liệu CrUX BigQuery được lưu trữ cho mỗi tháng, cho phép bạn xem các tháng trước và CrUX History API cũng cung cấp dữ liệu trong quá khứ theo khoảng thời gian hằng tuần. Cả hai vẫn cung cấp dữ liệu dựa trên khoảng thời gian 28 ngày.

Dữ liệu RUM thường cho phép mức độ chi tiết cao hơn nhiều để giúp bạn thấy tác động của các thay đổi sớm hơn nhiều. Tuy nhiên, khi chọn khoảng thời gian ngắn hơn, dữ liệu RUM có thể chịu ảnh hưởng không đáng có do sự biến động về lưu lượng truy cập và khách truy cập trang web. Khi so sánh dữ liệu RUM với dữ liệu CrUX, hãy luôn đảm bảo rằng bạn đang xem xét hiệu suất trong 28 ngày. Khi đã hài lòng với dữ liệu tương tự, bạn có thể xem các khung thời gian khác để tìm hiểu sâu hơn về dữ liệu RUM.

Tổng hợp số liệu thống kê

Các chỉ số CrUX được đo lường ở phân vị thứ 75, tức là xem xét giá trị mà 75% lượt xem trang đạt được. Sẽ có những giá trị cực đoan trong dữ liệu thực tế và việc loại bỏ 25% trải nghiệm tệ nhất nhằm mục đích đưa ra một giá trị mà phần lớn khách truy cập có thể đạt được một cách hợp lý.

Các sản phẩm RUM thường cung cấp nhiều lựa chọn hơn về cách tổng hợp các chỉ số, bao gồm phân vị thứ 75, trung vị và các phân vị khác. Nếu so sánh giá trị RUM với dữ liệu CrUX, bạn cần đảm bảo rằng bạn đang xem dữ liệu ở phân vị thứ 75 để so sánh tương đương.

Dữ liệu trong biểu đồ của CrUX bao gồm tất cả dữ liệu hiện có (không chỉ nhóm 75 phần trăm) và cho biết số lượt xem trang trong mỗi mức xếp hạng, nhưng điểm tổng hợp sẽ dựa trên nhóm 75 phần trăm. Dữ liệu CrUX này được hiển thị trong các công cụ như PageSpeed Insights:

Ảnh chụp màn hình PageSpeed Insights cho thấy biểu đồ tần suất của các lượt tải trang xếp hạng LCP
PageSpeed Insights cho thấy dữ liệu biểu đồ tần suất và nhóm 75 phần trăm của CrUX

Sự khác biệt về chỉ số

Có nhiều chỉ số được dùng để đo lường hiệu suất web, vì vậy, khi so sánh hai nhóm dữ liệu khác nhau, bạn cần hiểu rõ những chỉ số nào đang được đo lường và cách sử dụng các chỉ số đó.

Chỉ số được đo lường

Dữ liệu CrUX là tập dữ liệu của Google về sáng kiến Core Web Vitals và chủ yếu đo lường các chỉ số này (LCP, CLS và INP), cùng với một vài chỉ số bổ sung để bổ trợ cho các chỉ số này.

Các công cụ RUM thường bao gồm các chỉ số Core Web Vitals này, nhưng cũng thường bao gồm nhiều chỉ số khác. Một số nhà cung cấp RUM cũng đo lường trải nghiệm người dùng bằng cách kết hợp tất cả các chỉ số này, có thể là để đưa ra "chỉ số hài lòng" hoặc chỉ số tương tự. Khi so sánh dữ liệu RUM với CrUX, hãy đảm bảo rằng bạn đang so sánh các dữ liệu tương tự nhau.

Các công cụ đánh giá trạng thái đạt hoặc không đạt của Core Web Vitals nên coi một trang là đạt nếu trang đó đáp ứng các mục tiêu đề xuất ở phân vị thứ 75 cho tất cả Core Web Vitals. Nếu INP không xuất hiện trên các trang không có lượt tương tác, thì chỉ cần LCP và CLS đạt yêu cầu.

Sự khác biệt về chỉ số giữa các trình duyệt

CrUX chỉ đo lường trong trình duyệt Chrome và bạn có thể tham khảo Nhật ký thay đổi của Web Vitals để xem những thay đổi này theo từng phiên bản Chrome.

Tuy nhiên, các giải pháp RUM sẽ đo lường trên nhiều trình duyệt hơn. Các trình duyệt dựa trên Chromium (Edge, Opera, v.v.) có thể sẽ tương tự như Chrome, trừ phi Chrome đang triển khai các thay đổi mới như đã nêu trong Nhật ký thay đổi.

Đối với các trình duyệt không phải Chromium, sự khác biệt có thể rõ ràng hơn. Ví dụ: các chỉ số dựa trên lượt hiển thị như LCP, INP và FCP có trong Safari và Firefox, nhưng được đo lường theo cách khác. Điều này có thể dẫn đến sự khác biệt đáng kể về thời gian được báo cáo. Như đã nêu trước đó, nếu muốn so sánh RUM với CrUX, tốt nhất bạn nên lọc chỉ người dùng Chrome để cho phép so sánh tương tự.

Thời gian đo lường chỉ số

Các chỉ số Core Web Vitals được cung cấp bởi các API trình duyệt web, nhưng điều đó không có nghĩa là không có khả năng xảy ra sự khác biệt về giá trị được báo cáo khi sử dụng các chỉ số này. Thời điểm chính xác mà chỉ số được đo lường (tại thời điểm tải trang hoặc trong suốt vòng đời của trang) có thể dẫn đến sự khác biệt. Các công cụ RUM không phải lúc nào cũng đo lường các chỉ số theo cùng một cách (ngay cả khi sử dụng cùng tên) và cùng một API trình duyệt để lấy dữ liệu, điều này có thể gây nhầm lẫn.

Nội dung lớn nhất hiển thị (LCP) là một chỉ số về thời gian tải trang. Web API có thể báo cáo một số phần tử LCP nếu các phần tử lớn hơn được tải sau lần hiển thị ban đầu. Phần tử LCP cuối cùng là khi trang tải xong hoặc người dùng tương tác với trang. Do đó, sự khác biệt có thể phát sinh nếu phần tử LCP được báo cáo sớm hơn hai sự kiện đó.

Ngoài ra, trong dữ liệu thực tế, phần tử LCP có thể khác nhau tuỳ thuộc vào cách tải trang. Đối với một lượt tải trang mặc định cho thấy phần đầu của nội dung trang, phần tử LCP sẽ phụ thuộc chủ yếu vào kích thước màn hình. Tuy nhiên, nếu trang được mở bằng một đường dẫn liên kết neo ở phía dưới tài liệu hoặc được mở tương tự bằng một liên kết sâu vào ứng dụng trang đơn (SPA) (sẽ nói thêm về vấn đề này sau), thì phần tử LCP có thể khác.

Đừng cho rằng thời gian LCP được cung cấp trong CrUX hoặc RUM đều dựa trên cùng một phần tử như các công cụ trong phòng thí nghiệm. Mặc dù CrUX sẽ cung cấp cho bạn giá trị LCP tổng thể trên mỗi trang hoặc nguồn gốc, nhưng RUM có thể phân đoạn thêm giá trị này để xác định từng phiên có vấn đề về LCP.

Mức thay đổi bố cục tích luỹ (CLS) được đo lường trong suốt thời gian hoạt động của trang, vì vậy, CLS khi tải trang ban đầu có thể không đại diện cho những trang gây ra mức thay đổi lớn hơn sau khi trang đã tải và người dùng đã tương tác với trang. Do đó, việc chỉ lấy giá trị CLS sau khi tải trang (như nhiều sản phẩm RUM thực hiện) sẽ cho ra kết quả khác với việc lấy giá trị CLS sau khi người dùng hoàn tất thao tác trên trang.

Chỉ số về khả năng phản hồi Lượt tương tác đến nội dung hiển thị tiếp theo (INP) yêu cầu phải đo lường một hoạt động đầu vào và quan sát tất cả lượt nhấp, lượt nhấn và lượt tương tác bằng bàn phím trong suốt thời gian hoạt động của trang, tương tự như CLS. Do đó, giá trị được báo cáo của INP có thể rất khác nếu được đo lường sau khi người dùng đã thực hiện một số lượt tương tác trên trang.

CrUX sẽ tuân theo tài liệu về Core Web Vitals và đo lường các chỉ số này trong toàn bộ thời gian hoạt động của trang. Nhiều nhà cung cấp RUM chọn đo lường các chỉ số này sau khi tải trang hoặc vào một thời điểm khác (ví dụ: khi người dùng nhấp vào một lời kêu gọi hành động chính) vì nhiều lý do.

Khi thấy có sự khác biệt không rõ nguyên nhân giữa hai nguồn dữ liệu, bạn cần tìm hiểu xem nhà cung cấp RUM đo lường Core Web Vitals vào thời điểm nào.

Ứng dụng một trang

Ứng dụng trang đơn (SPA) hoạt động bằng cách cập nhật nội dung trên trang hiện tại, thay vì thực hiện thao tác điều hướng trang thực tế ở cấp trình duyệt. Điều này có nghĩa là trình duyệt không xem những thao tác này là thao tác điều hướng trang, mặc dù người dùng trải nghiệm chúng như vậy. Các API Core Web Vitals do trình duyệt cung cấp sẽ không xem xét những thao tác này, do đó CrUX không hỗ trợ những thao tác điều hướng trang này. Chúng tôi đang nỗ lực giải quyết vấn đề này. Hãy xem bài đăng Đo lường thao tác điều hướng mềm để biết thêm thông tin.

Một số nhà cung cấp RUM cố gắng phát hiện "thao tác điều hướng mềm" trong SPA, nhưng nếu họ cũng phân bổ các chỉ số Core Web Vitals cho những "thao tác điều hướng mềm" đó, thì điều này sẽ dẫn đến sự khác biệt với CrUX vì các API cơ bản không hỗ trợ việc này cho nhiều chỉ số.

Sự khác biệt giữa CrUX và Web API

Ngoài sự khác biệt về lượt xem trang nào được đo lường và điều gì được đo lường, còn có một số trường hợp khác phức tạp hơn cần lưu ý có thể dẫn đến sự khác biệt về dữ liệu CrUX và RUM. Một số trường hợp là do các hạn chế của API web dùng để đo lường chỉ số, và một số trường hợp là khi kết quả do API trả về cần được xử lý theo cách khác trong một số trường hợp nhất định. Tài liệu về Core Web Vitals liệt kê những điểm khác biệt này cho LCP và CLS, nhưng những điểm khác biệt chính cũng được nêu trong các phần sau.

Bộ nhớ đệm cho thao tác tiến/lùi

CrUX coi việc khôi phục Bộ nhớ đệm cho thao tác tiến/lùi (hoặc bfcache) là thao tác điều hướng trang, ngay cả khi việc này không dẫn đến lượt tải trang thông thường. Vì API web không coi những trang này là một lượt tải trang, nên các giải pháp RUM cần thực hiện thêm các bước để tính những trang này nếu muốn khớp với CrUX. Đây là những lượt tải trang nhanh hơn đáng kể, có thể giúp trang web đạt được hiệu suất tổng thể cao hơn. Do đó, nếu không tính đến những lượt tải trang này, thì các chỉ số hiệu suất tổng thể của trang có thể sẽ thấp hơn. Hãy tham khảo giải pháp RUM của bạn để biết liệu giải pháp đó có xử lý các trang được khôi phục từ bfcache hay không.

Iframe

Vì lý do bảo mật và quyền riêng tư, các trang cấp cao nhất không có quyền truy cập vào nội dung trong iframe (ngay cả iframe cùng nguồn gốc). Điều này có nghĩa là chỉ số hiệu suất cho nội dung trong các iframe đó chỉ có thể được đo lường bằng chính iframe đó chứ không phải thông qua API web trên trang đóng khung. Nếu nội dung iframe bao gồm phần tử LCP hoặc nội dung ảnh hưởng đến CLS hoặc INP mà người dùng gặp phải, thì các giải pháp RUM (bao gồm cả thư viện JavaScript web-vitals của Google) sẽ không thể truy cập được nội dung này.

Tuy nhiên, CrUX được đo lường bằng chính trình duyệt Chrome chứ không phải JavaScript trên trang, nên không có những hạn chế này và do đó, CrUX đo lường các chỉ số trong iframe khi báo cáo Core Web Vitals. Điều này phản ánh chính xác hơn trải nghiệm của người dùng, nhưng có thể là một lý do khác dẫn đến sự khác biệt đối với các trang web sử dụng iframe.

Một ví dụ cụ thể về việc điều này có thể dẫn đến sự khác biệt giữa dữ liệu LCP trong CrUX và RUM là <video> được nhúng. Khung hình được vẽ đầu tiên của phần tử <video> tự động phát cùng dòng có thể được tính là một đề xuất LCP, nhưng các nội dung nhúng cho các dịch vụ xem trực tuyến video phổ biến có thể đặt các phần tử này trong một <iframe>. CrUX có thể tính đến điều này vì có thể truy cập vào nội dung <iframe>, nhưng các giải pháp RUM thì không.

Tài nguyên khác nguồn gốc

Nội dung nghe nhìn LCP được phân phát từ các miền khác có thể không cung cấp thời gian kết xuất trong PerformanceObserver API (trừ phi có tiêu đề Timing-Allow-Origin (TAO)) do các quy định hạn chế về bảo mật của trình duyệt nhằm giảm thiểu các cuộc tấn công theo thời gian. Chỉ số này quay lại thời gian tải tài nguyên nhưng có thể khác biệt khá nhiều so với thời điểm nội dung thực sự được hiển thị.

Điều này có thể dẫn đến tình huống dường như không thể xảy ra khi LCP được các API web báo cáo là sớm hơn FCP. Đây không phải là trường hợp thực tế mà chỉ là do quy định hạn chế về bảo mật này.

Vấn đề này đã được giải quyết vào cuối năm 2024 và thời gian kết xuất thô hơn một chút sẽ có trong Chrome 133 ngay cả khi không cung cấp Timing-Allow-Origin.

Xin nhắc lại, CrUX báo cáo dữ liệu về thời gian kết xuất cho Core Web Vitals. Các trang web nên hạn chế nội dung trên nhiều nguồn gốc ảnh hưởng đến các chỉ số Core Web Vitals và bật TAO nếu có thể để đo lường chính xác hơn. Các tài nguyên khác nguồn gốc khác có thể phải tuân theo các quy định hạn chế tương tự.

Thẻ nền

Khi một trang không được mở trong thẻ nền, trang đó vẫn sẽ phát ra các chỉ số bằng API web. Tuy nhiên, CrUX không báo cáo những lượt truy cập này vì chúng cung cấp thời gian không nhất quán với trải nghiệm người dùng. Các giải pháp RUM cũng nên cân nhắc việc bỏ qua những lượt xem này hoặc ít nhất là giải thích cách xử lý những lượt xem trang này.

Vậy chúng ta có thể làm gì?

Chúng tôi đã trình bày lý do có thể có sự khác biệt giữa dữ liệu CrUX và RUM, do sự khác biệt về phương pháp mà mỗi dữ liệu sử dụng hoặc do người dùng và lượt xem trang nào được đưa vào hoặc loại trừ. Lý tưởng nhất là cả hai nhóm dữ liệu vẫn đại diện cho hiệu suất của trang web để có thể hữu ích, nhưng những lý do được đưa ra sẽ giải thích tại sao rất khó để có được những con số giống hệt nhau trong mỗi nhóm.

Khi có sự khác biệt nhỏ (ví dụ: báo cáo LCP là 2 giây so với 2,2 giây), cả hai tập dữ liệu đều hữu ích và thường có thể được coi là gần như đồng bộ.

Khi sự khác biệt rõ rệt khiến bạn nghi ngờ về độ chính xác của dữ liệu, bạn nên tìm hiểu những điểm khác biệt đó. Có thể lọc dữ liệu RUM để phù hợp hơn với CrUX (chỉ xem xét người dùng Chrome, cho máy tính hoặc thiết bị di động, với giá trị phân vị thứ 75 trong 28 ngày) để giảm những khác biệt này không?

Nếu đúng như vậy và bạn có thể làm cho dữ liệu khớp nhau hơn, thì bạn vẫn nên tìm hiểu lý do khiến bạn thấy những điểm khác biệt này trong dữ liệu tổng thể và ý nghĩa của việc này. Người dùng không sử dụng Chrome có đang làm sai lệch các chỉ số của bạn theo hướng tích cực hay tiêu cực không? Thông tin này có giúp bạn hiểu rõ hơn về những vấn đề về hiệu suất mà bạn có thể ưu tiên không?

Nếu người dùng không sử dụng Chrome nhận được kết quả khác, thì bạn có thể sử dụng thông tin chi tiết có giá trị mà RUM cung cấp để tối ưu hoá theo cách khác. Ví dụ: một số API không hoạt động trên một số trình duyệt, nhưng bạn có thể cân nhắc các giải pháp thay thế cho trình duyệt không được hỗ trợ để cải thiện trải nghiệm của người dùng. Hoặc bạn có thể cung cấp một trải nghiệm khác nhưng hiệu quả hơn cho người dùng trên các thiết bị hoặc mạng bị hạn chế. CrUX chỉ cung cấp dữ liệu về Chrome, nhưng bạn nên xem xét trải nghiệm của tất cả khách truy cập trang web để ưu tiên những điểm cần cải thiện. Dữ liệu RUM có thể lấp đầy khoảng trống đó.

Sau khi hiểu được lý do dẫn đến sự khác biệt, bạn có thể sử dụng cả hai công cụ này để hiểu rõ trải nghiệm người dùng trên trang web của mình và cải thiện trải nghiệm đó, ngay cả khi các con số không giống nhau. Sử dụng dữ liệu RUM để bổ sung cho dữ liệu CrUX và cho phép bạn tìm hiểu sâu hơn về những thông tin mà CrUX cung cấp ở cấp cao bằng cách phân đoạn lưu lượng truy cập để giúp bạn xác định xem có khu vực cụ thể nào trên trang web hoặc cơ sở người dùng cần chú ý hay không.

Việc xem xét các xu hướng để biết liệu những điểm cải thiện của bạn có mang lại tác động tích cực như mong đợi hay không thường quan trọng hơn việc đảm bảo từng con số khớp chính xác giữa hai nguồn dữ liệu. Như đã đề cập trước đó, RUM cho phép bạn xem xét các khung thời gian khác nhau để xem trước điểm CrUX trong 28 ngày. Tuy nhiên, việc xem xét khung thời gian quá ngắn có thể dẫn đến dữ liệu nhiễu, đó là lý do CrUX sử dụng 28 ngày.

Thường thì không có câu trả lời "đúng" hay "sai" trong các chỉ số khác nhau này – chúng chỉ là một lăng kính khác về người dùng và cách họ trải nghiệm trang web của bạn. Điều quan trọng hơn là bạn hiểu được lý do dẫn đến những điểm khác biệt này và cách những điểm khác biệt này có thể giúp bạn đưa ra quyết định để phục vụ khách truy cập trang web tốt hơn.