Sự đồng ý cookie cho Ứng dụng Web Tiến bộ (PWA): Hướng dẫn cho nhà xuất bản
Tại sao PWA là trường hợp biên của sự đồng ý
Một Ứng dụng Web Tiến bộ hoạt động giống như một ứng dụng gốc — nó cài đặt vào màn hình chính, chạy ngoại tuyến và lưu vào bộ nhớ đệm một cách mạnh mẽ — nhưng nó vẫn được phục vụ từ trình duyệt, vì vậy các quy tắc về cookie và lưu trữ web được áp dụng. Chính bản chất lai này khiến các nhà xuất bản vấp ngã: cùng những nghĩa vụ về sự đồng ý GDPR như bất kỳ trang web nào, chồng lên trên service workers và bộ nhớ đệm liên tục có thể âm thầm giữ lại dữ liệu và tập lệnh sau khi người dùng đã nói không.
Nơi PWA lưu trữ mọi thứ
Trước khi bạn có thể kiểm soát việc lưu trữ dựa trên sự đồng ý, bạn cần biết mọi nơi mà PWA có thể lưu trữ dữ liệu:
- Cookie — bề mặt cổ điển, được quản lý bởi sự đồng ý như mọi khi.
- LocalStorage / IndexedDB — thường được dùng cho trạng thái ứng dụng, nhưng cũng cho phân tích và mã định danh quảng cáo.
- Cache Storage — service worker có thể lưu vào bộ nhớ đệm các tập lệnh của bên thứ ba (phân tích, SDK quảng cáo) để chúng chạy ngay cả khi ngoại tuyến.
- Bản thân service worker — tồn tại qua các phiên và có thể đăng ký lại việc theo dõi trong lần khởi chạy tiếp theo.
Sự đồng ý phải quản lý tất cả những điều này, không chỉ document.cookie.
Mô hình service worker ưu tiên sự đồng ý
Nguyên tắc cốt lõi: service worker phải đọc trạng thái đồng ý trước khi lưu vào bộ nhớ đệm hoặc thực thi bất kỳ tài nguyên bên thứ ba không thiết yếu nào. Một mô hình gọn gàng trông như thế này:
- Lưu trữ tín hiệu đồng ý ở nơi mà service worker có thể đọc — IndexedDB hoặc một mục bộ nhớ đệm mà CMP cập nhật ở mỗi lựa chọn.
- Trong trình xử lý
fetchcủa service worker, từ chối lưu vào bộ nhớ đệm các điểm cuối phân tích/quảng cáo trừ khi có sự đồng ý cho mục đích đó. - Khi người dùng rút lại sự đồng ý, gửi một thông điệp đến service worker để xóa sạch các tập lệnh theo dõi được lưu trong bộ nhớ đệm và xóa các kho IndexedDB liên quan.
Bỏ qua bước cuối cùng đó là lỗ hổng tuân thủ phổ biến nhất của PWA: biểu ngữ nói “đã từ chối,” nhưng một tập lệnh phân tích được lưu trong bộ nhớ đệm vẫn tiếp tục kích hoạt từ service worker trong lần khởi chạy ngoại tuyến tiếp theo.
Trải nghiệm người dùng đồng ý ngoại tuyến
PWA có thể khởi chạy mà không có mạng. Biểu ngữ đồng ý của bạn và lựa chọn đã lưu của người dùng đều phải hoạt động ngoại tuyến — lưu vào bộ nhớ đệm chính giao diện CMP, và đừng bao giờ mặc định “đã cấp” chỉ vì máy chủ đồng ý không thể truy cập được. Nếu bạn không thể xác nhận một lựa chọn trước đó, hãy coi người dùng như chưa đồng ý và chỉ phục vụ chức năng thiết yếu cho đến khi bạn có thể.
Tác động đến doanh thu quảng cáo
Đối với PWA được hỗ trợ bằng quảng cáo, trạng thái đồng ý phải đến được SDK quảng cáo của bạn tại thời điểm yêu cầu, trực tuyến hay ngoại tuyến. Một PWA được kết nối đúng cách truyền chuỗi IAB TCF và tín hiệu Consent Mode v2 cho các đối tác cầu giống như một trang bình thường; một PWA cấu hình sai lưu vào bộ nhớ đệm trạng thái “không đồng ý” cũ và làm sụp đổ eCPM của bạn xuống mức không cá nhân hóa vô thời hạn. Hãy coi độ tươi mới của sự đồng ý như một chỉ số doanh thu.
FlexyConsent giúp như thế nào
FlexyConsent lưu trữ bản ghi đồng ý trong một kho mà service worker có thể đọc được, phát ra tín hiệu TCF và Consent Mode v2 tồn tại qua các lần khởi chạy ngoại tuyến, và cung cấp một hook rút lại mà bạn có thể kết nối với việc xóa bộ nhớ đệm — để PWA của bạn vẫn tuân thủ và ngăn xếp quảng cáo của bạn giữ tín hiệu đồng ý tươi mới nhất có thể trên mọi bề mặt.
Những điểm chính
- PWA đối mặt với toàn bộ nghĩa vụ đồng ý GDPR cộng với các phức tạp của service worker và bộ nhớ đệm.
- Kiểm soát cookie, LocalStorage, IndexedDB và Cache Storage dựa trên sự đồng ý — không chỉ cookie.
- Khi rút lại, xóa sạch các tập lệnh theo dõi trong bộ nhớ đệm và xóa các mã định danh đã lưu.
- Giữ trạng thái đồng ý tươi mới và an toàn ngoại tuyến để doanh thu quảng cáo không bị mắc kẹt ở mức không cá nhân hóa.