Cookie của bên thứ ba và quy trình nhúng

Cookie của bên thứ ba có nhiều mục đích sử dụng, nhưng chúng cũng là yếu tố chính giúp hoạt động theo dõi trên nhiều trang web diễn ra.

Cookie của bên thứ ba có thể bị chặn do các hạn chế của trình duyệt, chế độ cài đặt của người dùng, cờ của nhà phát triển hoặc chính sách của doanh nghiệp.

Bạn cần trang web hoặc dịch vụ của mình mang đến trải nghiệm tuyệt vời cho tất cả người dùng, dù có hay không có cookie của bên thứ ba.

Trên trang này, bạn sẽ tìm thấy thông tin về các giải pháp bảo đảm quyền riêng tư cho các trường hợp được nhúng thường dựa vào cookie của bên thứ ba và các chiến lược giúp bạn chọn giải pháp phù hợp nhất với nhu cầu của mình.

Dịch vụ được nhúng hoặc nội dung được nhúng bao gồm nội dung của bên thứ ba (chẳng hạn như video, bản đồ), các thành phần tương tác (chẳng hạn như dịch vụ trò chuyện, hệ thống bình luận hoặc dịch vụ thanh toán), dịch vụ đăng nhập, v.v.

Hầu hết công việc chuyển đổi từ cookie của bên thứ ba đều do nhà phát triển nội dung nhúng thực hiện, chứ không phải các trang web lưu trữ nội dung nhúng. Hướng dẫn này chủ yếu sẽ thảo luận về các giải pháp dành cho những nhà phát triển tạo dịch vụ nhúng.

Nếu trang web của bạn đang dựa vào một thành phần nhúng sử dụng cookie của bên thứ ba, hãy nhớ kiểm tra và thử nghiệm các hành trình liên quan đến thành phần nhúng, đồng thời liên hệ với nhà cung cấp thành phần nhúng nếu bạn phát hiện thấy bất kỳ sự cố nào.

Kiểm tra và thử nghiệm hành trình của người dùng liên quan đến tính năng nhúng

Cách tốt nhất để xác định xem các thành phần nhúng của bạn có bị ảnh hưởng bởi cookie của bên thứ ba hay không là kiểm thử luồng người dùng thành phần nhúng của bên thứ ba khi bật cờ kiểm thử cookie của bên thứ ba.

Sau khi bạn hạn chế cookie của bên thứ ba, hãy kiểm thử các trường hợp nhúng phổ biến sau:

  • Tiện ích trò chuyện: Bạn có thể bắt đầu một phiên trò chuyện không? Bạn có thể làm mới trang mà không bị mất phiên không? Bạn có thể chuyển đến các trang khác và duy trì phiên của mình không?
  • Nội dung được nhúng: Bạn có xem được nội dung video hoặc nội dung được nhúng khác không? Các lựa chọn ưu tiên của người dùng, chẳng hạn như ngôn ngữ hoặc phụ đề, có được duy trì không? Bạn có thấy quảng cáo khi mong đợi không, ví dụ: bạn không thấy quảng cáo khi là người đăng ký gói cao cấp?
  • Đăng nhập: Các lượt đăng nhập (bao gồm cả mọi lượt đăng nhập bằng tính năng Đăng nhập một lần (SSO)) có hoạt động đối với những nội dung được nhúng có hỗ trợ tính năng này không? Chúng có được duy trì khi tải lại trang và chuyển đến những trang sử dụng cùng một thành phần nhúng không?
  • Tiện ích bình luận: Bạn có thể để lại, thích và bình chọn bình luận không?
  • Giải pháp thanh toán được nhúng: Bạn có hoàn tất được các khoản thanh toán không?

Trong các phần tiếp theo, bạn sẽ tìm thấy thông tin cụ thể hơn về mức độ ảnh hưởng của những quy trình đó.

Các trường hợp sử dụng phổ biến

Có một số API có thể dùng cho các thành phần nhúng thường dựa vào cookie của bên thứ ba. Bảng sau đây liệt kê một số quy trình phổ biến và các API nên dùng dưới dạng bản tóm tắt cấp cao. Các phần sau đây sẽ giải thích lý do đưa ra những đề xuất này.

Trường hợp sử dụng API được đề xuất cho việc sử dụng cookie của bên thứ ba
Tiện ích trò chuyện CHIPS
Nhúng bản đồ CHIPS
Miền hộp cát cho nội dung người dùng không đáng tin cậy
(chẳng hạn như googleusercontent.com và githubusercontent.com) cần có trạng thái được giới hạn theo từng nhà xuất bản
CHIPS
Quảng cáo được nhúng cần có phạm vi trạng thái cho mỗi nhà xuất bản CHIPS
Đăng nhập thông qua một nhà cung cấp danh tính FedCM
Nhúng được lưu trữ trên các nguồn gốc khác nhau nhưng có liên quan. Storage Access API với Bộ trang web có liên quan
Nội dung được nhúng có các lựa chọn ưu tiên dựa trên thông tin đăng nhập
(chẳng hạn như nội dung video không có quảng cáo hoặc lựa chọn ưu tiên về ngôn ngữ/phụ đề)
Storage Access API
Tiện ích bình luận trên mạng xã hội yêu cầu đăng nhập Storage Access API
Các API thay thế được đề xuất cho các trường hợp sử dụng phổ biến

Chọn API phù hợp cho các trường hợp sử dụng được nhúng của bên thứ ba

Phần này hướng dẫn cách chọn một API thay thế phù hợp và giải thích các API được đề xuất.

Lưu đồ sau đây giúp bạn chọn trong số các lựa chọn hiện có:

Sơ đồ quy trình gồm các lựa chọn để quyết định lựa chọn thay thế cho cookie của bên thứ ba dựa trên 3 câu hỏi.
Quyết định dùng API nào cho các cookie của bên thứ ba được nhúng

Biểu đồ quy trình đặt ra 3 câu hỏi chính và chúng ta sẽ xem xét những câu hỏi đó một cách chi tiết hơn cũng như lý do tại sao một API nhất định được đề xuất trong từng trường hợp.

1. Cookie có dành riêng cho trang web nhúng không?

Nhiều thành phần nhúng của bên thứ ba được sử dụng độc lập trên các trang web hoàn toàn không liên quan. Ví dụ: các tiện ích trò chuyện để hỗ trợ khách hàng thường yêu cầu cookie hoạt động, nhưng không cần chia sẻ các cookie này giữa 2 tổ chức hoàn toàn khác nhau nhưng cùng sử dụng một giải pháp tiện ích trò chuyện. Trên thực tế, người dùng thậm chí không muốn cho phép chia sẻ cookie trong nhiều trường hợp như vậy.

Nếu bạn cung cấp dịch vụ nhúng của bên thứ ba cho các trang web khác và dịch vụ đó phụ thuộc vào cookie, hãy cân nhắc xem những cookie đó có dành riêng cho dịch vụ trên trang web mà dịch vụ đó được nhúng hay không. Các thông số này có được chia sẻ bởi các phiên bản nhúng của bạn trên các trang web khác hay không?

Nếu không cần chia sẻ cookie, thì phân vùng cookie bằng cách sử dụng CHIPS là lựa chọn dễ nhất. API này liên kết cookie của bên thứ ba với trang web cấp cao nhất, thay vì cho phép tất cả các trang web sử dụng cùng một thành phần nhúng của bên thứ ba chia sẻ cookie. Bạn có thể dễ dàng triển khai CHIPS vì bạn chỉ cần thêm một thuộc tính Partitioned vào cookie hiện có. Điều này cho phép các dịch vụ được nhúng vẫn lưu trạng thái, nhưng xoá bộ nhớ dùng chung trên nhiều trang web có thể cho phép hoạt động theo dõi trên nhiều trang web.

Các trang web cũng nên kiểm tra xem cookie có đang được sử dụng vì lý do chính đáng hay không. Bạn chỉ nên sử dụng cookie khi chúng được đặt hoặc cần được gửi bằng các yêu cầu HTTP. Nếu không phải như vậy và cookie chỉ được dùng làm một lựa chọn lưu trữ thuận tiện, thì bạn nên cân nhắc sử dụng các API lưu trữ. Điều này giúp dữ liệu ở trên thiết bị khi không cần gửi. Các API lưu trữ đã được phân vùng trong tất cả các trình duyệt chính, theo cách tương tự như CHIPS phân vùng cookie.

2. Các cookie này có phải là của một nhà cung cấp danh tính bên thứ ba không?

Một trường hợp sử dụng phổ biến cookie của bên thứ ba trong nội dung được nhúng là cung cấp khả năng đăng nhập do một nhà cung cấp dịch vụ đăng nhập bên thứ ba quản lý, chẳng hạn như Đăng nhập bằng Google. Cookie được phân vùng không phải là một lựa chọn trong trường hợp này.

Federated Credential Management (FedCM) là một API chuyên dụng dành riêng cho trường hợp sử dụng này và hoạt động mà không cần cookie của bên thứ ba. Nếu nhà cung cấp dịch vụ danh tính hỗ trợ FedCM, thì điều này có thể giúp bạn không cần dùng cookie của bên thứ ba.

Bạn có thể đọc thêm về cách giải quyết những ảnh hưởng của cookie bên thứ ba đối với quy trình đăng nhập trong hướng dẫn về danh tính.

Nếu không có lựa chọn nào trong số các lựa chọn trước đó phù hợp để thay thế cookie, thì bạn cần xem xét việc bật lại quyền truy cập vào cookie của bên thứ ba cho thành phần nhúng. Bạn có thể bật tính năng này trong các trường hợp sử dụng cụ thể, có kiểm soát bằng Storage Access API. API này cho phép truy cập hoàn toàn vào cookie của bên thứ ba (tuỳ thuộc vào các chế độ kiểm soát) nên đây là lựa chọn mạnh mẽ nhất. Đó là lý do bạn nên tránh sử dụng nếu có một lựa chọn thay thế hạn chế hơn là đủ.

Bạn phải đáp ứng một số yêu cầu để sử dụng Storage Access API:

  • Người dùng phải từng truy cập vào trang web của thành phần nhúng ở cấp cao nhất. Ví dụ: nếu nhúng một hệ thống bình luận, thì người dùng cũng phải truy cập vào trang web của hệ thống bình luận đó.
  • Người dùng cần tương tác với nội dung được nhúng thì cookie mới có thể được chia sẻ. Điều này có nghĩa là bạn có thể không tải được toàn bộ nội dung được nhúng trước khi người dùng tương tác.
  • Người dùng có thể cần phê duyệt việc chia sẻ cookie bằng một cửa sổ bật lên của trình duyệt, đặc biệt là trong lần đầu tiên và định kỳ sau đó.
  • Trang web nhúng cũng có thể cần đặt các thuộc tính bổ sung của hộp cát.

Những hạn chế này đảm bảo rằng hành động mạnh mẽ là bật lại cookie của bên thứ ba chỉ được thực hiện khi người dùng và trang web mong muốn điều này. Tuy nhiên, trong một số trường hợp nhất định, các thao tác của người dùng có thể bị bỏ qua. Ví dụ: nếu người dùng đã phê duyệt quyền truy cập gần đây, thì bạn có thể không cần nhắc lại họ trong một khoảng thời gian (do trình duyệt xác định).

Một trường hợp khác mà người dùng có thể mong đợi điều này là đối với các trang web có liên quan. Ví dụ: một số tổ chức sử dụng nhiều nguồn gốc khác nhau. Trình duyệt coi đây là các nguồn gốc trên nhiều trang web, do đó, việc sử dụng cookie trên các nguồn gốc này được coi là của bên thứ ba. Ví dụ: những thương hiệu có trang web theo quốc gia (chẳng hạn như example.comexample.co.uk) hoặc trang web dành riêng cho thương hiệu (chẳng hạn như example.carexample.house).

Trong trường hợp này, khi có một số ít trang web có liên quan, bạn có thể sử dụng Bộ trang web có liên quan. Các trang web được gửi đến Chrome để Chrome biết rằng chúng có liên quan đến nhau. Điều này cho phép truy cập vào Storage Access API theo cách thân thiện với người dùng hơn, với ít lời nhắc người dùng hơn.

Đối với những trang web không liên quan nhưng thực tế là bên thứ ba và cần có quyền truy cập đầy đủ vào cookie của bên thứ ba vì các API thay thế không đủ, việc sử dụng Storage Access API sẽ phải tuân thủ đầy đủ các yêu cầu và lời nhắc.

So sánh các API

Mỗi giải pháp đều có những đặc điểm và hạn chế riêng, khiến chúng trở thành lựa chọn phù hợp hơn cho một số trường hợp sử dụng nhất định. Bảng sau đây tóm tắt những điểm khác biệt chính:

CHIPS Bộ nhớ phân vùng FedCM Storage Access API với Bộ trang web có liên quan Storage Access API
Người dùng không cần phải từng truy cập vào bên thứ ba được nhúng dưới dạng một trang web cấp cao nhất
Không yêu cầu người dùng nhắc phê duyệt quyền truy cập
Không yêu cầu người dùng tương tác với nội dung được nhúng
(Cũng có thể đúng đối với các trang web được nhúng có quyền truy cập cấp cao nhất.)
Độ khó để triển khai Rất thấp Thấp Cao Phương tiện Phương tiện
Có thể dùng để chia sẻ cookie trên nhiều trang web/nguồn gốc cấp cao nhất
(Đề xuất đang được thảo luận.)
Có trên các trình duyệt không phải Chromium
(Quay lại Storage Access API.)
Hành vi, mức độ nỗ lực cần thiết và khả năng sử dụng các API chính cho các trường hợp sử dụng được nhúng

Hỗ trợ các trường hợp sử dụng trên nhiều trình duyệt

Khả năng tương thích với trình duyệt là một trong những yếu tố chính khi quyết định chọn giải pháp, như đã đề cập ở dòng cuối cùng của bảng. Một số API (CHIPS, FedCM, Bộ trang web có liên quan) chỉ có trên trình duyệt Chromium. Hiện tại, chỉ có 2 giải pháp trên nhiều trình duyệt là API bộ nhớ được phân vùng (khi không cần cookie) và Storage Access API (khi cần cookie).

Tuy nhiên, như đã lưu ý trước đó, Storage Access API có một số hạn chế có thể ảnh hưởng đến trải nghiệm người dùng trên trang web của bạn. Nhóm Chrome đã nỗ lực bổ sung các API khác. Những API này được thiết kế để đáp ứng các trường hợp sử dụng cụ thể và mang lại trải nghiệm tương tự như những gì có thể thực hiện được với cookie của bên thứ ba. Do đó, bạn nên cân nhắc những lựa chọn tốt nhất và coi đây là những điểm cải tiến tăng dần, với một giải pháp dự phòng là Storage Access API cho các trình duyệt không hỗ trợ.

Vì cookie có thể bị chặn vì nhiều lý do (ví dụ: chế độ cài đặt trình duyệt, tiện ích), nên tính năng phát hiện khả năng hỗ trợ API có thể không đủ. Thay vào đó, tốt nhất là bạn nên kiểm tra xem các cookie dự kiến có tồn tại hay không. Nếu không, hãy quay lại quy trình Storage Access API để yêu cầu quyền truy cập vào cookie của bên thứ ba.

Hãy hành động ngay!

Nếu thành phần nhúng của bên thứ ba không còn hoạt động nếu không có cookie của bên thứ ba, thì có nhiều giải pháp có thể giải quyết tác động có thể xảy ra như được trình bày chi tiết trong bài nói này. Bây giờ là thời điểm thích hợp để kiểm tra dịch vụ của bạn về cookie của bên thứ ba!

Đối với những người hiện đang gặp sự cố với các thành phần nhúng của mình do Chrome đang thử nghiệm việc xoá cookie của bên thứ ba, thì có một số lựa chọn ngắn hạn để được trợ giúp trong khi di chuyển sang các giải pháp thay thế được mô tả trong bài đăng này. Hãy xem tài liệu về duy trì trải nghiệm quan trọng của người dùng để biết thêm thông tin.

Nếu có thắc mắc về các trường hợp sử dụng tính năng nhúng của bên thứ ba không có trong hướng dẫn này, bạn có thể báo cáo một vấn đề mới bằng cách sử dụng thẻ "cookie của bên thứ ba ngừng hoạt động" trong kho lưu trữ hỗ trợ nhà phát triển của chúng tôi.