Cookie của bên thứ ba có nhiều mục đích sử dụng, nhưng cũng là yếu tố chính hỗ trợ hoạt động theo dõi trên nhiều trang web.
Chrome đang đề xuất một trải nghiệm mới cho người dùng lựa chọn với cookie của bên thứ ba. Bạn cần chuẩn bị trang web cho những người dùng chọn duyệt web mà không dùng 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 vệ quyền riêng tư cho các trường hợp nhúng vốn dựa vào cookie của bên thứ ba, cũng như 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ụ nhúng (hay nội dung nhúng) bao gồm nội dung của bên thứ ba (chẳng hạn như video, bản đồ), thành phần tương tác (chẳng hạn như hệ thống trò chuyện, 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 cần do nhà phát triển nội dung nhúng thực hiện, thay vì 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à 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 nội dung 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 nội dung nhúng, đồng thời liên hệ với nhà cung cấp nội dung 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 nội dung 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 nhúng của bên thứ ba khi bật cờ thử nghiệm 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 phiên trò chuyện không? Bạn có thể làm mới trang mà không làm mất phiên hoạt động 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ó thể xem nội dung video hoặc nội dung được nhúng khác không? 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 như dự kiến không, ví dụ như không thấy quảng cáo khi là người đăng ký gói cao cấp?
- Đăng nhập: Liệu tính năng đăng nhập (bao gồm cả mọi lượt đăng nhập Đăng nhập một lần (SSO)) có hoạt động đối với các tính năng nhúng hỗ trợ tính năng này không? Các cookie này có được duy trì khi tải lại trang và điều hướng đến các trang sử dụng cùng một nội dung nhúng không?
- Tiện ích bình luận: Bạn có thể để lại, thích và bình luận không?
- Giải pháp thanh toán được nhúng: Bạn có thể hoàn tất thanh toán thành công 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 luồng đó.
Các trường hợp sử dụng phổ biến
Có một số API có thể dùng cho các nội dung nhúng vốn dựa vào cookie của bên thứ ba. Bảng sau đây liệt kê một số quy trình công việc phổ biến và các API được đề xuất để sử 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 cho các đề xuất này.
Trường hợp sử dụng | API được đề xuất để sử dụng cookie của bên thứ ba |
---|---|
Tiện ích Chat | CHIPS |
Nhúng bản đồ | CHIPS |
Miền hộp cát cho nội dung không đáng tin cậy của người dùng (chẳng hạn như googleusercontent.com và githubusercontent.com) cần có phạm vi trạng thái theo nhà xuất bản |
CHIPS |
Quảng cáo được nhúng cần có phạm vi trạng thái theo nhà xuất bản | CHIPS |
Đăng nhập thông qua nhà cung cấp danh tính | FedCM |
Nội dung 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 Nhóm trang web có liên quan |
Nội dung được nhúng với 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 |
Chọn API để sử dụng 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ế thích hợp và giải thích các API được đề xuất.
Sơ đồ quy trình sau đây giúp bạn chọn trong số các tuỳ chọn có sẵn:
Biểu đồ quy trình này đặt ra 3 câu hỏi chính và chúng ta sẽ xem xét các câu hỏi đó một cách chi tiết hơn cũng như lý do nên sử dụng một API nhất định trong từng trường hợp.
1. Cookie có dành riêng cho trang web nhúng không?
Nhiều nội dung 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ụ: 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 hai tổ chức hoàn toàn khác nhau, cả hai đều sử dụng cùng một giải pháp tiện ích trò chuyện. Trên thực tế, bạn thậm chí không nê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ụ đó dựa vào cookie, hãy cân nhắc xem liệu các cookie đó có dành riêng cho dịch vụ trên trang web được nhúng hay không. Các tệp đó có được chia sẻ qua các thực thể nhúng của bạn trên các trang web khác không?
Nếu không cần chia sẻ cookie, thì cách dễ nhất là phân vùng cookie bằng CHIPS. 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 phần nhúng của bên thứ ba chia sẻ cookie. CHIPS rất dễ triển khai vì chỉ yêu cầu thêm một thuộc tính Partitioned
vào các 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 cho phép theo dõi trên nhiều trang web.
Các trang web cũng nên kiểm tra xem liệu 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 cookie đượ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 phương thức lưu trữ thuận tiện, thì bạn nên cân nhắc sử dụng nhiều API bộ nhớ. Điều này giúp lưu giữ dữ liệu cục bộ khi không cần gửi. Các API bộ nhớ đã được phân vùng trong tất cả các trình duyệt chính, tương tự như cách CHIPS phân vùng cookie.
2. Cookie có phải là của nhà cung cấp danh tính bên thứ ba không?
Một cách sử dụng phổ biến của cookie bên thứ ba trong các phần nhúng là cung cấp các tính năng đăng nhập do nhà cung cấp dịch vụ đăng nhập bên thứ ba quản lý, chẳng hạn như tính năng Đăng nhập bằng Google. Cookie được phân vùng không phải là lựa chọn trong trường hợp này.
Trình quản lý thông tin xác thực liên kết (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 danh tính hỗ trợ FedCM, thì bạn có thể không cần sử dụng cookie của bên thứ ba nữa.
Bạn có thể đọc thêm về cách giải quyết ảnh hưởng của cookie của bên thứ ba đối với quy trình đăng nhập trong hướng dẫn về danh tính.
3. Cookie có được dùng trên một số ít trang web có liên quan không?
Nếu không có lựa chọn nào 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 nội dung 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 API Truy cập bộ nhớ. API này sẽ bật lại quyền truy cập đầy đủ vào cookie của bên thứ ba (tuân theo các chế độ kiểm soát), vì vậy, đây là tuỳ chọn mạnh mẽ nhất. Đó là lý do bạn nên tránh sử dụng phương thức này nếu có một phương thức thay thế hạn chế hơn là đủ.
Để sử dụng API truy cập bộ nhớ, bạn cần đáp ứng một số yêu cầu sau:
- Người dùng phải từng truy cập vào trang web của nội dung nhúng ở cấp cao nhất. Ví dụ: nếu bạn 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 nhúng trước khi có thể chia sẻ cookie. Đ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 thông qua 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 hộp cát bổ sung.
Những quy định 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, các hành động của người dùng có thể bị bỏ qua. Ví dụ: nếu người dùng gần đây đã phê duyệt quyền truy cập, thì có thể bạn không cần nhắc lại 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, được trình duyệt coi là trên nhiều trang web. Do đó, việc sử dụng cookie trên các nguồn gốc đó được coi là của bên thứ ba. Ví dụ: các thương hiệu có trang web theo quốc gia (chẳng hạn như example.com và example.co.uk) hoặc trang web theo thương hiệu (chẳng hạn như example.car và example.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 các trang web đó có liên quan với nhau. Điều này cho phép truy cập vào API Truy cập bộ nhớ theo cách thân thiện hơn với người dùng, với ít lời nhắc hơn cho người dùng.
Đối với các trang web không liên quan thực sự 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ế là không đủ, việc sử dụng API Truy cập bộ nhớ sẽ tuân theo các yêu cầu và lời nhắc đầy đủ.
So sánh các API
Mỗi giải pháp có các đặc điểm và hạn chế khác nhau, giúp bạn lựa chọn giải pháp 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ớ được phân vùng | FedCM | Storage Access API với các nhóm trang web có liên quan | Storage Access API | |
---|---|---|---|---|---|
Người dùng không cần phải truy cập vào bên được nhúng dưới dạng trang web cấp cao nhất trước đó | |||||
Không yêu cầu người dùng 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 nhúng | (Cũng có thể đúng với các trang web được nhúng có quyền truy cập cấp cao nhất.) |
||||
Mức độ nỗ lực 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 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ỗ 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 giải pháp, như đã đề cập trong dòng cuối cùng của bảng. Một số API (CHIPS, FedCM, Nhóm trang web có liên quan) chỉ có trên trình duyệt Chromium. Hiện tại, chỉ có hai 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) hoặc API Truy cập bộ nhớ (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 thêm các API khác đượ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ể làm đượ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à các tính năng nâng cao dần dần, với phương án 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ì một số 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 hỗ trợ API có thể chưa đủ. Thay vào đó, tốt nhất bạn nên kiểm tra xem cookie dự kiến có tồn tại hay không. Nếu không, hãy quay lại quy trình làm việc của API Truy cập bộ nhớ để 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 nội dung nhúng của bên thứ ba không còn hoạt động nếu không sử dụng cookie của bên thứ ba, thì bạn có thể sử dụng nhiều giải pháp để giải quyết tác động có thể xảy ra như được trình bày chi tiết trong cuộc trò chuyện này. Bây giờ là thời điểm để kiểm tra dịch vụ của bạn để tìm cookie của bên thứ ba!
Đối với những người đang gặp sự cố với nội dung nhúng vì 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 để giúp bạn 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ề cách 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ó câu hỏi 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 đề cập trong hướng dẫn này, bạn có thể gửi vấn đề mới bằng cách sử dụng thẻ "ngừng sử dụng cookie của bên thứ ba" trong kho lưu trữ hỗ trợ nhà phát triển của chúng tôi.