Mercado Libre adalah platform e-commerce terkemuka di Amerika Latin, yang beroperasi di 18 negara. Mereka memiliki infrastruktur digital yang kompleks dengan lebih dari 100 juta pengguna aktif dan berbagai layanan termasuk marketplace, pembayaran (Mercado Pago), dan logistik.
Mercado Libre memiliki lebih dari 40 domain, yang sebagian besar secara historis mengandalkan cookie pihak ketiga untuk mengaktifkan fitur seperti autentikasi pengguna lintas situs dan deteksi penipuan.
Mercado Libre melakukan pekerjaan yang ekstensif dalam mengidentifikasi pengalaman dan fungsi pengguna penting yang mungkin mengandalkan cookie pihak ketiga. Riset dan penerapan alternatif untuk cookie pihak ketiga, termasuk Privacy Sandbox API, membantu memastikan properti mereka berfungsi seperti yang diharapkan dan terus memberikan pengalaman positif kepada pengguna, terlepas dari apakah cookie pihak ketiga tersedia atau tidak.
Baca terus untuk mempelajari perjalanan Mercado Libre dalam mengurangi ketergantungan mereka pada cookie pihak ketiga dan melindungi privasi pelanggan mereka.
Audit cookie dan evaluasi dampak
Mercado Libre mempertimbangkan tiga aspek penggunaan cookie pihak ketiga:
- Apakah Mercado Libre mengandalkan pembagian cookie lintas situs di antara domainnya?
- Apakah layanan yang mereka berikan sebagai pihak ketiga bergantung pada cookie pihak ketiga?
- Apakah layanan pihak ketiga yang mereka andalkan akan terpengaruh jika cookie pihak ketiga tidak tersedia?
Mengevaluasi dampak penggunaan cookie pihak ketiga untuk properti digital dengan skala ini memerlukan pendekatan yang terkoordinasi, karena ada banyak unit bisnis yang terlibat.
Tim platform frontend Mercado Libre memimpin audit dampak dan memberikan komunikasi dan dukungan terpusat kepada tim lain. Hal ini mencakup referensi dan pelatihan untuk memastikan pemahaman di seluruh perusahaan tentang perubahan yang diperlukan sehingga semua tim dapat mengadopsi praktik baru.
Kasus penggunaan berbagi cookie lintas situs
Setiap unit bisnis Mercado Libre beroperasi di domain terpisah, seperti mercadolibre.com, mercadopago.com, dan mercadoshops.com.
Dengan melakukan audit mendetail, mereka menemukan bahwa berbagi cookie lintas situs sangat penting untuk pengalaman pengguna dalam ekosistem mereka:
- Autentikasi pengguna: Potensi gangguan untuk sebagian dari 75 juta pembeli aktif bulanan di 18 negara.
- Analisis internal: Lebih dari 4.000 analis bisnis mengandalkan data lintas situs untuk pengambilan keputusan. Potensi dampak terhadap pelacakan perjalanan pengguna.
- Pencegahan penipuan: Penting untuk alur pembayaran yang aman saat cookie pihak ketiga tidak tersedia (lebih dari 50 pembelian per detik untuk Mercado Libre, 244 transaksi per detik untuk Mercado Pago).
Analisis komprehensif ini mencakup informasi seperti tim, pemilik, dampak bisnis, deskripsi kasus penggunaan, perilaku saat ini, potensi kerusakan, dan solusi Privacy Sandbox yang diusulkan.
Cookie yang dipartisi di Mercado Libre
Cookie yang dipartisi, juga dikenal sebagai CHIPS, memungkinkan developer memilih cookie ke dalam penyimpanan yang dipartisi, dengan jar cookie terpisah per situs tingkat teratas.
Menggunakan CHIPS untuk mengizinkan deteksi penipuan tanpa cookie pihak ketiga
Tantangan
Mercado Libre menggunakan cookie pihak ketiga untuk memberikan pengalaman yang lancar bagi pengguna yang mengakses platform pembayaran mereka, baik untuk pembayaran yang terjadi langsung di platform maupun untuk integrasi transparan yang menggunakan Mercado Pago sebagai pemroses pembayaran. Misalnya, mereka menggunakan cookie pihak ketiga dalam mekanisme untuk membantu mengidentifikasi kapan kartu kredit digunakan dari perangkat yang diketahui pengguna, sehingga mencegah penipuan kartu kredit.
Informasi perangkat adalah salah satu sinyal data utama yang digunakan oleh model machine learning Mercado Libre untuk memutuskan apakah akan menyetujui pembayaran atau tidak. Jadi, tidak memiliki informasi ini untuk sejumlah besar pengguna dapat menyebabkan penurunan yang signifikan dalam rasio persetujuan pembayaran mereka.
Solusi
Untuk mengatasi keterbatasan cookie pihak ketiga, Mercado Libre menguji CHIPS, solusi yang menetapkan cookie unik untuk setiap situs yang terintegrasi dengan platform pembayarannya. Tujuannya adalah untuk memungkinkan Mercado Libre mengelola beberapa informasi untuk setiap toko.
Dalam hal ini, CHIPS membantu Mercado Libre mendukung pengalaman yang lancar dan efisien bagi pelanggan yang kembali meskipun cookie pihak ketiga diblokir.
Pembahasan mendalam teknis
Metode integrasi yang paling umum untuk menggunakan Mercado Pago sebagai pemroses pembayaran melibatkan penggunaan JavaScript yang menggabungkan modul tokenisasi data kartu dan modul pencegahan penipuan. Modul pencegahan penipuan menggunakan cookie pihak ketiga untuk menautkan pembayaran ke perangkat pengguna.
Sebelumnya, dengan menggunakan cookie pihak ketiga, Mercado Pago dapat mengidentifikasi dan melacak perangkat pengguna di seluruh toko, seperti yang diilustrasikan dalam diagram berikut.
Saat ini, cookie yang dipartisi memungkinkan Mercado Libre mempertahankan identifikasi perangkat dengan menetapkan cookie terpisah untuk setiap situs tingkat teratas. Seperti yang ditunjukkan pada gambar berikut, pendekatan ini menjaga privasi, karena membatasi pembagian informasi di seluruh toko. Cookie yang dipartisi digunakan saat cookie pihak ketiga tidak tersedia. Hal ini membatasi pembagian informasi di seluruh toko, sehingga meningkatkan privasi pengguna.
Pengembangan awal
Pertama, Mercado Libre menonaktifkan cookie pihak ketiga di Chrome dan memverifikasi bahwa cookie mereka tidak berhasil ditetapkan di situs tempat Mercado Libre ditayangkan sebagai penyedia pihak ketiga. Mercado Libre kemudian memperbarui cookie ini untuk dipartisi. Dengan perubahan ini, mereka dapat mengonfirmasi bahwa cookie yang dipartisi dapat ditetapkan di Chrome, meskipun pengguna telah menonaktifkan cookie pihak ketiga. Kemudian, Mercado Libre menambahkan header Set-Cookie
dan tidak mengalami error, dengan mengikuti petunjuk desain keamanan CHIPS.
Efisiensi bisnis
Mercado Libre telah mulai menggunakan CHIPS untuk integrasi Mercado Pago dan Mercado Shops dengan domain kustom. Mercado Libre kini menyimpan cookie partisi tambahan, bersama dengan cookie standar yang tidak dipartisi, di perangkat penggunanya.
Penerapan CHIPS untuk Mercado Libre sangat mudah.
Menguji keefektifan CHIPS pada model penipuan machine learning
Mercado Libre berencana untuk berhenti mengirim sinyal cookie standar yang tidak dipartisi untuk grup kontrol, guna menyimulasikan skenario saat cookie pihak ketiga diblokir, dan sebagai gantinya menggunakan cookie yang dipartisi (CHIPS). Awalnya, grup kontrol ini akan menyertakan bagian dari populasi situs dan Mercado Libre bermaksud untuk secara bertahap meningkatkan bagian dan jumlah situs saat menguji keefektifan.
Efektivitas akan diukur sesuai dengan persetujuan pembayaran grup kontrol dibandingkan dengan periode yang sebanding sebelumnya.
Eksperimen sebelumnya
Mercado Libre melakukan eksperimen serupa pada grup kontrol untuk memeriksa apakah mereka dapat mengidentifikasi perangkat yang sama menggunakan CHIPS, bukan cookie yang tidak dipartisi, dan mengukur usia perangkat (cookie).
Grup kontrol terdiri dari penjual yang ditargetkan untuk Argentina dan Brasil; kedua grup tersebut berperilaku sama.
Sebagai kesimpulan, Mercado Libre dapat mengonfirmasi identitas sekitar 70% perangkat yang menggunakan CHIPS, yang berarti bahwa 30% sisanya adalah pengguna baru atau kasus dengan perilaku yang tidak terduga.
Kesimpulan penerapan CHIPS
Mercado Libre berkomitmen untuk melindungi privasi pengguna, meskipun hal ini merupakan konsekuensi antara privasi dan hambatan pengguna yang minimal. Penerapan CHIPS sangat mudah dan membantu meminimalkan dampak kompromi ini dalam situs yang sama. Mercado Libre masih mempelajari solusi Privacy Sandbox lainnya, seperti Token Status Pribadi, yang berpotensi menutup kesenjangan pengalaman sepenuhnya, sehingga memiliki yang terbaik dari kedua dunia: privasi dan utilitas.
Set Situs Terkait di Mercado Libre
Set Situs Terkait (RWS) adalah cara bagi perusahaan untuk mendeklarasikan hubungan antarsitus, sehingga browser mengizinkan akses cookie pihak ketiga yang terbatas untuk tujuan tertentu.
Menggunakan Set Situs Terkait untuk mempertahankan kemampuan analisis
Tantangan
Saat perangkat baru memasuki salah satu domain milik dan dioperasikan (O&O) Mercado Libre, Meli menggunakan cookie untuk memahami aktivitas perangkat di berbagai domain, seperti mercadolibre.com dan mercadopago.com.
Solusi
Untuk mengatasi situasi saat cookie pihak ketiga tidak tersedia, Mercado Libre menerapkan RWS untuk semua domain yang ditampilkan kepada klien tempat cookie pihak ketiga digunakan, dengan mematuhi batasan domain primer dan lima domain terkait lainnya dalam satu set.
Pembahasan mendalam teknis: menemukan domain yang tepat untuk disertakan
Selama penyelidikan domain mana yang akan disertakan dalam set, Mercado Libre menemukan bahwa banyak domain mereka memiliki cookie usang yang tidak lagi digunakan. Domain ini dikecualikan dari set.
Tim platform frontend web bertanggung jawab atas pembuatan dan pengelolaan kumpulan situs terkait Mercado Libre. (Anda dapat menemukan kumpulan lengkap di repo GitHub Set Situs Terkait.)
{
"contact": "infraestructura@mercadolibre.com",
"primary": "https://mercadolibre.com",
"associatedSites": [
"https://mercadolivre.com",
...
],
"rationaleBySite": {
"https://mercadolivre.com": "Mercado Libre in Brazil",
...
},
"ccTLDs": {
"https://mercadolibre.com": [
"https://mercadolibre.com.ar",
...
],
"https://mercadolivre.com": [
"https://mercadolivre.com.br"
],
...
}
},
Hanya perlu waktu dua minggu agar set tersebut ditayangkan dalam produksi setelah persetujuan pengiriman.
Replikasi cookie pihak ketiga di seluruh domain O&O dengan Storage Access API
Persyaratan
Agar server dapat menetapkan cookie, server harus mendukung CORS, dan permintaan harus lintas-asal serta menyertakan kredensial:
res.setHeader('Access-Control-Allow-Credentials', 'true');
res.setHeader('Access-Control-Allow-Origin', `${req.headers.origin}`);
Cookie harus dikonfigurasi dengan:
Secure
SameSite=None
Jika cookie pihak ketiga tidak tersedia secara default, klien harus memeriksa apakah klien memiliki izin untuk mengakses cookie yang tidak dipartisi menggunakan navigator.permissions.query()
, lalu meminta izin akses penyimpanan untuk setiap domain tersemat menggunakan requestStorageAccessFor()
. Selain itu, interaksi pengguna dengan layar (seperti klik, atau tindakan keyboard) diperlukan agar agen pengguna berhasil meminta izin untuk pertama kalinya.
Mengatasi tantangan RWS
Proses penyebaran cookie yang ada seperti piksel gambar, dan penggunaan Storage Access API, menghadapi batasan karena persyaratan interaksi pengguna. Hal ini terjadi pada login persisten pengguna Mercado Libre di seluruh domain, yang terganggu saat pengguna memilih untuk tidak menggunakan cookie pihak ketiga.
Set Situs Terkait dan teknologi Privacy Sandbox tidak dirancang untuk menawarkan penggantian satu per satu untuk cookie pihak ketiga, dan mungkin tidak mendukung beberapa kasus penggunaan:
Piksel gambar
- Mercado Libre dapat menambahkan atribut
crossorigin="use-credentials"
. Namun, ketergantungan pada interaksi pengguna (pengguna mengklik link) berarti Mercado Libre tidak dapat memastikan bahwa cookie akan ditetapkan. Piksel juga dibatalkan jika ada navigasi di antara layar: saat mendeteksi navigasi, Chrome akan membatalkan semua permintaan resource dari halaman saat ini untuk mulai memuat halaman baru.
- Mercado Libre dapat menambahkan atribut
sendBeacon()
crossorigin
tidak dapat dikonfigurasi, sehingga permintaan gagal dan cookie tidak dikirim.
Pengalihan dengan
sendBeacon()
atau piksel gambar- Karena bergantung pada interaksi pengguna, Anda tidak dapat menetapkan cookie melalui pengalihan ke layar perantara di antara berbagai domain yang menjalankan JavaScript.
Batasan WebView
Permissions API tidak tersedia di WebView. Hal ini memaksa Mercado Libre menerapkan logika, sehingga Storage Access API hanya diluncurkan jika Permissions API tersedia (di mana saja kecuali WebView). Selain itu, requestStorageAccessFor()
saat ini tidak didukung oleh Safari atau Firefox.
Mercado Libre terus menggunakan deteksi fitur sesuai kebutuhan, terlepas dari platform yang digunakan.
Solusi yang cocok untuk semua
Mercado Libre perlu menggunakan fetch()
dan {keepalive: true, credentials: 'include'}
. Dengan demikian, mereka dapat mengonfigurasi CORS, menyertakan kredensial, dan memastikan bahwa permintaan akan dibuat di latar belakang tanpa dibatalkan oleh browser.
fetch(domain, {
keepalive: true,
credentials: 'include',
});
// or
fetch(domain, {
method: 'POST'
body: data,
keepalive: true,
credentials: 'include',
});
Contoh lengkap:
const TP_DOMAINS = ['https://mercadolibre.com',
'https://www.mercadoshops.com.ar',
'https://www.mercadopago.com',
'https://www.mercadopago.com.ar'];
if ('requestStorageAccessFor' in document) {
// Check the permission to see if storage access is already available.
let storageAccessPermission = await navigator.permissions.query({
name: 'top-level-storage-access',
requestedOrigin: TP_DOMAINS[0]
})
// If the permission has already been granted, request storage access.
if (storageAccessPermission.state === 'granted') {
requestStorageAccessForDomains();
}
// If the state "prompt" is returned, a storage access request must be triggered by user gesture.
else if (storageAccessPermission.state === 'prompt') {
document.addEventListener('click', requestStorageAccessForDomains, { capture: true });
document.addEventListener('keydown', requestStorageAccessForDomains, { capture: true });
}
} else {
console.log('requestStorageAccessFor is not supported');
}
function requestStorageAccessForDomains() {
// Request storage access for each domain.
TP_DOMAINS.forEach(rSAFor)
// Clean up listeners so they are not called again.
document.removeEventListener('click', requestStorageAccessForDomains);
document.removeEventListener('keydown', requestStorageAccessForDomains);
}
function rSAFor(domain) {
document.requestStorageAccessFor(domain).then(
success => { setCookie(domain); },
err => { console.log('requestStorageAccessFor error: ' + err); }
);
}
function setCookie(domain) {
const url = new URL(domain);
const hostname = url.hostname.split('.').slice(1).join('.');
fetch(domain + '/pixel.gif?name=_d2id&value=DONE&max_age=94608000&domain=.' + hostname, {
keepalive: true,
credentials: 'include',
});
}
Pengujian di Chrome
Kumpulan situs terkait dapat diuji secara lokal dengan menetapkan tanda Chrome. Misalnya, untuk demo di related-website-sets.glitch.me:
--use-related-website-set="{\"primary\": \"https://related-website-sets.glitch.me\", \"associatedSites\": [\"https://rws-member-1.glitch.me\"]}"
https://related-website-sets.glitch.me/
Kesimpulan penerapan RWS
Implementasi RWS untuk situs berskala besar tidak mudah. Mercado Libre hanya memerlukan resource satu developer, tetapi dari awal hingga akhir, proses peluncuran ke 18 negara memerlukan waktu sekitar tiga bulan.
Rekomendasi bagi mereka yang ingin menerapkan RWS: mulai lebih awal. Jangan menunggu untuk menerapkan RWS. Mercado Libre harus mengubah cookie di sisi server dan klien, menambahkan header baru, membuat perubahan backend, dan mengupdate JavaScript.
Komentar akhir dan langkah berikutnya
Keberhasilan Mercado Libre dalam menerapkan Privacy Sandbox API menunjukkan komitmen mereka untuk beradaptasi dengan lanskap privasi yang terus berubah. Dengan menguji dan mengatasi penggunaan cookie pihak ketiga secara proaktif, Mercado Libre mempertahankan fungsi bisnis penting, seperti analisis dan pencegahan penipuan, sekaligus meningkatkan privasi pengguna dan memastikan kepatuhan terhadap peraturan yang terus berubah. Studi kasus ini memberikan insight berharga bagi organisasi yang ingin melakukan transisi ke masa depan saat ketersediaan cookie pihak ketiga tidak dapat dijamin.