Cookie pihak ketiga memiliki banyak kegunaan, tetapi juga merupakan pengaktif utama pelacakan lintas situs.
Chrome mengusulkan pengalaman baru untuk pilihan pengguna dengan cookie pihak ketiga. Anda perlu menyiapkan situs untuk pengguna yang memilih menjelajah tanpa cookie pihak ketiga.
Di halaman ini, Anda akan menemukan informasi tentang solusi yang menjaga privasi untuk skenario tersemat yang secara tradisional mengandalkan cookie pihak ketiga, dan strategi untuk membantu Anda memilih solusi yang paling sesuai dengan kebutuhan Anda.
Layanan tersemat, atau sematan, mencakup konten pihak ketiga (seperti video, peta), komponen interaktif (seperti chat, sistem komentar, atau layanan pembayaran), layanan login, dan lainnya.
Sebagian besar pekerjaan untuk bertransisi dari cookie pihak ketiga harus dilakukan oleh developer sematan, bukan situs yang menghosting sematan. Panduan ini terutama akan membahas solusi untuk developer yang membuat layanan tersemat.
Jika situs Anda mengandalkan penyematan yang menggunakan cookie pihak ketiga, pastikan untuk mengaudit dan menguji perjalanan terkait penyematan dan menghubungi penyedia penyematan jika Anda menemukan kerusakan.
Mengaudit dan menguji perjalanan pengguna terkait penyematan
Cara terbaik untuk menentukan apakah penyematan Anda terpengaruh oleh cookie pihak ketiga adalah dengan menguji alur penggunaan penyematan pihak ketiga dengan tanda pengujian cookie pihak ketiga diaktifkan.
Setelah Anda membatasi cookie pihak ketiga, uji skenario penyematan umum berikut:
- Widget chat: Dapatkah Anda memulai sesi chat? Dapatkah Anda memuat ulang halaman tanpa kehilangan sesi? Dapatkah Anda membuka halaman lain dan mempertahankan sesi Anda?
- Semetan konten: Dapatkah Anda melihat konten video atau konten tersemat lainnya? Apakah preferensi pengguna, seperti bahasa atau subtitel, dipertahankan? Apakah Anda melihat iklan sesuai harapan, misalnya tidak melihatnya sebagai pelanggan premium?
- Login: Apakah login—termasuk login Single Sign On (SSO)—berfungsi untuk penyematan yang mendukungnya? Apakah data tersebut dipertahankan melalui pemuatan ulang halaman dan navigasi ke halaman yang menggunakan penyematan yang sama?
- Widget komentar: Dapatkah Anda memberikan, menyukai, dan memberikan suara positif pada komentar?
- Solusi pembayaran tersemat: Dapatkah Anda berhasil menyelesaikan pembayaran?
Di bagian berikutnya, Anda akan menemukan informasi yang lebih spesifik tentang pengaruh alur tersebut.
Kasus penggunaan umum
Ada sejumlah API yang dapat digunakan untuk penyematan yang biasanya mengandalkan cookie pihak ketiga. Tabel berikut mencantumkan beberapa alur kerja umum dan API yang direkomendasikan untuk digunakan sebagai ringkasan tingkat tinggi. Bagian berikut akan menjelaskan alasan rekomendasi ini.
Kasus penggunaan | API yang direkomendasikan untuk penggunaan cookie pihak ketiga |
---|---|
Widget chat | CHIPS |
Penyematan peta | CHIPS |
Domain sandbox untuk konten pengguna yang tidak tepercaya (seperti googleusercontent.com dan githubusercontent.com) yang memerlukan cakupan status per penayang |
CHIPS |
Iklan sematan yang memerlukan cakupan status per penayang | CHIPS |
Login melalui penyedia identitas | FedCM |
Penyematan yang dihosting di origin yang berbeda, tetapi terkait. | Storage Access API dengan Set Situs Terkait |
Penyematan konten dengan preferensi berbasis login (seperti konten video tanpa iklan, atau preferensi bahasa/subtitel) |
Storage Access API |
Widget komentar media sosial yang memerlukan login | Storage Access API |
Memilih API yang akan digunakan untuk kasus penggunaan pihak ketiga tersemat
Bagian ini menjelaskan cara memilih API alternatif yang sesuai dan menjelaskan API yang direkomendasikan.
Diagram alir berikut membantu memilih dari opsi yang tersedia:
Diagram alur ini mengajukan tiga pertanyaan utama dan kita akan melihatnya secara lebih mendetail serta alasan API tertentu direkomendasikan dalam setiap kasus.
1. Apakah cookie khusus untuk situs penyematan?
Banyak penyematan pihak ketiga yang digunakan secara independen di situs yang sama sekali tidak terkait. Misalnya, widget chat untuk dukungan pelanggan sering kali memerlukan cookie agar berfungsi, tetapi tidak perlu membagikan cookie ini di antara dua organisasi yang sama sekali berbeda yang kebetulan menggunakan solusi widget chat yang sama. Bahkan, preferensi yang disarankan adalah tidak mengizinkan pembagian cookie dalam banyak kasus ini.
Jika Anda menyediakan layanan penyematan pihak ketiga ke situs lain dan layanan tersebut mengandalkan cookie, pertimbangkan apakah cookie tersebut khusus untuk layanan di situs tempatnya disematkan. Apakah konten tersebut pernah dibagikan oleh instance sematan Anda di situs lain?
Jika cookie tidak perlu dibagikan, mempartisi cookie menggunakan CHIPS adalah opsi yang paling mudah. API ini mengaitkan cookie pihak ketiga ke situs tingkat atas, bukan mengizinkannya dibagikan oleh semua situs yang menggunakan penyematan pihak ketiga yang sama. CHIPS mudah diterapkan karena hanya memerlukan penambahan atribut Partitioned
tambahan ke cookie yang ada. Hal ini memungkinkan layanan tersemat tetap menyimpan status, tetapi menghapus penyimpanan lintas situs bersama yang akan memungkinkan pelacakan lintas situs.
Situs juga harus memeriksa apakah cookie digunakan untuk alasan yang tepat. Cookie hanya boleh digunakan saat ditetapkan atau perlu dikirim dengan permintaan HTTP. Jika tidak demikian, dan cookie hanya digunakan sebagai opsi penyimpanan yang praktis, berbagai API penyimpanan harus dipertimbangkan. Tindakan ini akan menyimpan data secara lokal jika tidak perlu dikirim. API penyimpanan sudah dipartisi di semua browser utama, dengan cara yang mirip dengan CHIPS yang mempartisi cookie.
2. Apakah cookie tersebut untuk penyedia identitas pihak ketiga?
Salah satu penggunaan umum cookie pihak ketiga dalam penyematan adalah untuk menyediakan kemampuan login yang dikelola oleh penyedia login pihak ketiga, seperti Login dengan Google. Cookie yang dipartisi bukan merupakan opsi dalam hal ini.
Federated Credential Management (FedCM) adalah API khusus untuk kasus penggunaan ini dan berfungsi tanpa cookie pihak ketiga. Jika FedCM didukung oleh penyedia identitas, cookie pihak ketiga mungkin tidak diperlukan.
Anda dapat membaca selengkapnya tentang cara mengatasi efek cookie pihak ketiga pada alur kerja login di panduan identitas.
3. Apakah cookie digunakan di sejumlah kecil situs terkait?
Jika tidak ada opsi sebelumnya yang cocok sebagai pengganti cookie, Anda perlu mempertimbangkan untuk mengaktifkan kembali akses cookie pihak ketiga untuk penyematan. Hal ini dapat diaktifkan dalam kasus penggunaan tertentu yang dikontrol dengan Storage Access API. API ini mengaktifkan kembali akses cookie pihak ketiga penuh (tunduk pada kontrol), sehingga merupakan opsi yang paling andal. Itulah sebabnya rekomendasinya adalah menghindarinya jika alternatif yang lebih ketat sudah cukup.
Ada beberapa persyaratan untuk menggunakan Storage Access API:
- Pengguna harus telah mengunjungi situs penyematan di tingkat teratas sebelumnya. Misalnya, jika menyematkan sistem komentar, pengguna juga harus mengunjungi situs sistem komentar tersebut.
- Pengguna harus berinteraksi dengan penyematan sebelum cookie dapat dibagikan. Artinya, konten sematan lengkap mungkin tidak dapat dimuat sebelum interaksi pengguna.
- Pengguna mungkin perlu menyetujui pembagian cookie dengan pop-up browser, terutama pada instance pertama dan secara berkala setelahnya.
- Situs penyematan mungkin juga perlu menetapkan atribut sandbox tambahan.
Pembatasan ini memastikan tindakan yang kuat untuk mengaktifkan kembali cookie pihak ketiga hanya dilakukan jika pengguna dan situs mengharapkannya. Namun, dalam skenario tertentu, tindakan pengguna dapat dilewati. Misalnya, jika pengguna baru-baru ini menyetujui akses, Anda mungkin tidak perlu meminta izin lagi selama jangka waktu tertentu (sebagaimana ditentukan oleh browser).
Satu skenario lain yang mungkin diharapkan oleh pengguna adalah untuk situs terkait. Misalnya, beberapa organisasi menggunakan sejumlah asal yang berbeda, yang dianggap sebagai lintas situs oleh browser—sehingga penggunaan cookie di seluruh situs tersebut diperlakukan sebagai pihak ketiga. Contohnya mencakup merek dengan situs khusus negara (seperti example.com dan example.co.uk) atau situs khusus merek (seperti example.car dan example.house).
Dalam hal ini, jika ada sejumlah kecil situs terkait, Anda dapat menggunakan Set Situs Terkait. Situs dikirim ke Chrome, sehingga Chrome mengetahui bahwa situs tersebut terkait. Hal ini memungkinkan akses ke Storage Access API dengan cara yang lebih mudah digunakan, dengan lebih sedikit permintaan pengguna.
Untuk situs tidak terkait yang sebenarnya merupakan pihak ketiga, dan jika akses cookie pihak ketiga penuh diperlukan karena API alternatif tidak memadai, penggunaan Storage Access API akan tunduk pada persyaratan dan perintah lengkap.
Perbandingan berbagai API
Setiap solusi memiliki karakteristik dan batasan yang sedikit berbeda sehingga menjadikannya pilihan yang lebih baik untuk kasus penggunaan tertentu. Tabel berikut merangkum perbedaan utamanya:
CHIPS | Penyimpanan yang Dipartisi | FedCM | Storage Access API dengan Set Situs Terkait | Storage Access API | |
---|---|---|---|---|---|
Pengguna tidak perlu mengakses pihak tersemat sebelumnya sebagai situs tingkat teratas | |||||
Tidak memerlukan permintaan pengguna untuk menyetujui akses | |||||
Tidak mengharuskan pengguna berinteraksi dengan sematan | (Juga dapat berlaku untuk situs tersemat dengan akses tingkat teratas.) |
||||
Upaya penerapan | Sangat rendah | Rendah | Tinggi | Sedang | Sedang |
Dapat digunakan untuk membagikan cookie di beberapa situs/asal tingkat atas | (Proposal sedang dibahas.) |
||||
Tersedia di browser non-Chromium | (Kembali ke Storage Access API.) |
Mendukung kasus penggunaan di seluruh browser
Kompatibilitas browser adalah salah satu faktor utama saat memutuskan solusi, seperti yang dibahas di baris terakhir tabel. Beberapa API (CHIPS, FedCM, Related WebSite Sets) hanya tersedia di browser Chromium. Saat ini, hanya ada dua solusi lintas browser, yaitu API penyimpanan yang dipartisi (jika cookie tidak diperlukan), atau Storage Access API (jika cookie diperlukan).
Namun, seperti yang telah disebutkan sebelumnya, Storage Access API memiliki sejumlah batasan yang dapat memengaruhi pengalaman pengguna di situs Anda. Tim Chrome telah berupaya menambahkan API lainnya, yang dirancang untuk memenuhi kasus penggunaan tertentu dan memberikan pengalaman yang mirip dengan yang telah dimungkinkan dengan cookie pihak ketiga. Oleh karena itu, sebaiknya pertimbangkan opsi terbaik dan perlakukan opsi ini sebagai peningkatan progresif, dengan penggantian ke Storage Access API untuk browser yang tidak mendukung.
Karena cookie dapat diblokir karena sejumlah alasan (misalnya, setelan browser, ekstensi), deteksi fitur dukungan API mungkin tidak memadai. Sebagai gantinya, sebaiknya uji apakah cookie yang diharapkan ada, dan jika tidak, kembali ke alur kerja Storage Access API untuk meminta akses ke cookie pihak ketiga.
Ambil tindakan sekarang.
Jika penyematan pihak ketiga Anda tidak lagi berfungsi tanpa penggunaan cookie pihak ketiga, ada beberapa solusi yang tersedia untuk mengatasi kemungkinan dampaknya seperti yang dijelaskan dalam presentasi ini. Saatnya untuk mengaudit layanan Anda untuk cookie pihak ketiga sekarang.
Bagi pengguna yang mengalami kerusakan pada penyematan saat ini karena Chrome sedang menguji penghapusan cookie pihak ketiga, ada sejumlah opsi jangka pendek untuk membantu saat bermigrasi ke alternatif yang dijelaskan dalam postingan ini. Lihat dokumentasi mempertahankan pengalaman pengguna yang penting untuk mengetahui informasi selengkapnya.
Jika ada pertanyaan terkait kasus penggunaan penyematan pihak ketiga yang tidak tercakup dalam panduan ini, Anda dapat mengajukan masalah baru menggunakan tag "penghentian penggunaan cookie pihak ketiga" di repositori dukungan developer kami.