Alur kerja sematan dan cookie pihak ketiga

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 untuk 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?
  • 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 cookie 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 bagaimana alur tersebut dapat terpengaruh.

Kasus penggunaan umum

Ada sejumlah API yang dapat digunakan untuk penyematan yang secara tradisional telah 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
API alternatif yang direkomendasikan untuk kasus penggunaan umum

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 alir opsi untuk menentukan alternatif cookie pihak ketiga berdasarkan tiga pertanyaan.
Menentukan API yang akan digunakan untuk penyematan cookie pihak ketiga

Diagram alur mengajukan tiga pertanyaan utama dan kita akan melihatnya secara lebih detail 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. Faktanya, preferensinya adalah tidak mengizinkan berbagi 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 tempat di-embed. 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 hal ini tidak terjadi, 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 opsi dalam hal ini.

Federated Credential Management (FedCM) adalah API khusus 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.

Jika tidak ada opsi sebelumnya yang cocok sebagai pengganti cookie, Anda harus 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 rekomendasi kami adalah menghindarinya jika alternatif yang lebih ketat sudah memadai.

Ada beberapa persyaratan untuk menggunakan Storage Access API:

  • Pengguna harus telah mengunjungi situs sematan 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, Anda mungkin tidak dapat memuat konten sematan lengkap sebelum interaksi pengguna.
  • Pengguna mungkin perlu menyetujui pembagian cookie dengan pop-up browser, terutama pada kasus pertama dan secara berkala setelahnya.
  • Situs penyematan mungkin juga perlu menetapkan atribut sandbox tambahan.

Pembatasan ini memastikan tindakan yang efektif 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 (seperti yang ditentukan oleh browser).

Skenario lain yang mungkin diharapkan oleh pengguna adalah untuk situs terkait. Misalnya, beberapa organisasi menggunakan sejumlah origin 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 perintah 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 penuh.

Perbandingan berbagai API

Setiap solusi memiliki karakteristik dan batasan yang sedikit berbeda yang 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.)
Perilaku, tingkat upaya yang diperlukan, dan ketersediaan API utama untuk kasus penggunaan tersemat

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 lain, 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 dampak 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 kritis 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 cookie pihak ketiga" di repositori dukungan developer kami.