Mercado Libre là nền tảng thương mại điện tử hàng đầu ở Mỹ Latinh, hoạt động ở 18 quốc gia. Họ có một cơ sở hạ tầng kỹ thuật số phức tạp với hơn 100 triệu người dùng đang hoạt động và cung cấp nhiều dịch vụ, bao gồm cả trang web thương mại, dịch vụ thanh toán (Mercado Pago) và dịch vụ hậu cần.
Mercado Libre sở hữu hơn 40 miền, trong đó nhiều miền trước đây đã dựa vào cookie của bên thứ ba để bật các tính năng như xác thực người dùng trên nhiều trang web và phát hiện hành vi gian lận.
Mercado Libre đã tiến hành nghiên cứu chuyên sâu để xác định những trải nghiệm và chức năng quan trọng của người dùng có thể dựa vào cookie của bên thứ ba. Việc nghiên cứu và triển khai các giải pháp thay thế cho cookie của bên thứ ba, bao gồm cả API Hộp cát về quyền riêng tư, giúp đảm bảo các tài sản của họ hoạt động như mong đợi và tiếp tục mang lại trải nghiệm tích cực cho người dùng, cho dù có cookie của bên thứ ba hay không.
Hãy đọc tiếp để tìm hiểu về hành trình của Mercado Libre nhằm giảm sự phụ thuộc vào cookie của bên thứ ba và bảo vệ quyền riêng tư của khách hàng.
Kiểm tra cookie và đánh giá tác động
Mercado Libre đã xem xét 3 khía cạnh của việc sử dụng cookie của bên thứ ba:
- Mercado Libre có dựa vào việc chia sẻ cookie trên nhiều trang web giữa các miền của họ không?
- Các dịch vụ mà họ cung cấp với tư cách là bên thứ ba có phụ thuộc vào cookie của bên thứ ba không?
- Liệu có dịch vụ nào của bên thứ ba mà họ dựa vào bị ảnh hưởng nếu không có cookie của bên thứ ba không?
Để đánh giá tác động của việc sử dụng cookie của bên thứ ba đối với các tài sản kỹ thuật số ở quy mô này, chúng tôi cần có một phương pháp phối hợp vì có nhiều đơn vị kinh doanh liên quan.
Nhóm nền tảng giao diện người dùng của Mercado Libre đã tiến hành kiểm tra tác động, đồng thời cung cấp thông tin liên lạc và hỗ trợ tập trung cho các nhóm khác. Trong đó có các tài nguyên và chương trình đào tạo để đảm bảo toàn công ty hiểu rõ những thay đổi cần thiết để tất cả các nhóm có thể áp dụng các phương pháp mới.
Các trường hợp sử dụng tính năng chia sẻ cookie trên nhiều trang web
Mỗi đơn vị kinh doanh của Mercado Libre hoạt động trên các miền riêng biệt, chẳng hạn như mercadolibre.com, mercadopago.com và mercadoshops.com.
Bằng cách tiến hành kiểm tra chi tiết, họ đã phát hiện ra những trường hợp chia sẻ cookie trên nhiều trang web đóng vai trò quan trọng đối với trải nghiệm người dùng trong hệ sinh thái của họ:
- Xác thực người dùng: Có thể gây gián đoạn cho một phần trong số 75 triệu người mua đang hoạt động hằng tháng ở 18 quốc gia.
- Dữ liệu phân tích nội bộ: Hơn 4.000 nhà phân tích kinh doanh dựa vào dữ liệu trên nhiều trang web để đưa ra quyết định. Hành trình của người dùng có thể bị ảnh hưởng.
- Ngăn chặn hành vi gian lận: Rất quan trọng đối với quy trình thanh toán an toàn khi không có cookie của bên thứ ba (hơn 50 giao dịch mua mỗi giây đối với Mercado Libre, 244 giao dịch mỗi giây đối với Mercado Pago).
Bản phân tích toàn diện này bao gồm thông tin như nhóm, chủ sở hữu, tác động đến doanh nghiệp, nội dung mô tả trường hợp sử dụng, hành vi hiện tại, lỗi có thể xảy ra và giải pháp Hộp cát về quyền riêng tư được đề xuất.
Cookie được phân vùng tại Mercado Libre
Cookie được phân vùng (còn gọi là CHIPS) cho phép nhà phát triển chọn một cookie vào bộ nhớ được phân vùng, với các hộp cookie riêng biệt cho mỗi trang web cấp cao nhất.
Sử dụng CHIPS để cho phép phát hiện hành vi gian lận mà không cần cookie của bên thứ ba
Thách thức
Mercado Libre sử dụng cookie của bên thứ ba để mang đến trải nghiệm liền mạch cho người dùng truy cập vào nền tảng thanh toán của họ, cả đối với các khoản thanh toán diễn ra trực tiếp trên nền tảng và đối với các hoạt động tích hợp minh bạch sử dụng Mercado Pago làm trình xử lý thanh toán. Ví dụ: họ sử dụng cookie của bên thứ ba trong các cơ chế để giúp xác định thời điểm thẻ tín dụng đang được sử dụng từ một thiết bị mà người dùng biết, từ đó ngăn chặn hành vi gian lận thẻ tín dụng.
Thông tin thiết bị là một trong những tín hiệu dữ liệu chính mà các mô hình học máy của Mercado Libre sử dụng để quyết định có phê duyệt giao dịch thanh toán hay không. Vì vậy, việc không có thông tin này cho một số lượng đáng kể người dùng có thể làm giảm đáng kể tỷ lệ phê duyệt thanh toán của họ.
Giải pháp
Để giải quyết những hạn chế của cookie của bên thứ ba, Mercado Libre đã thử nghiệm CHIPS, một giải pháp đặt cookie duy nhất cho mỗi trang web được tích hợp với nền tảng thanh toán của họ. Mục tiêu là cho phép Mercado Libre duy trì một số thông tin cho từng cửa hàng riêng lẻ.
Trong trường hợp này, CHIPS đã giúp Mercado Libre mang đến trải nghiệm liền mạch và hiệu quả cho khách hàng cũ ngay cả khi cookie của bên thứ ba bị chặn.
Tìm hiểu chuyên sâu về kỹ thuật
Phương thức tích hợp phổ biến nhất để sử dụng Mercado Pago làm trình xử lý thanh toán là sử dụng JavaScript kết hợp cả mô-đun mã hoá dữ liệu thẻ và mô-đun ngăn chặn gian lận. Mô-đun ngăn chặn gian lận sử dụng cookie của bên thứ ba để liên kết các khoản thanh toán với thiết bị của người dùng.
Trước đây, bằng cách sử dụng cookie của bên thứ ba, Mercado Pago có thể xác định và theo dõi thiết bị của người dùng trên các cửa hàng, như minh hoạ trong sơ đồ sau.
Hiện tại, cookie được phân vùng cho phép Mercado Libre duy trì thông tin nhận dạng thiết bị bằng cách đặt một cookie riêng biệt cho mỗi trang web cấp cao nhất. Như minh hoạ trong hình sau, phương pháp này bảo vệ quyền riêng tư vì hạn chế việc chia sẻ thông tin trên các cửa hàng. Cookie phân vùng được dùng khi không có cookie của bên thứ ba. Điều này hạn chế việc chia sẻ thông tin giữa các cửa hàng, giúp nâng cao quyền riêng tư của người dùng.
Phát triển ban đầu
Trước tiên, Mercado Libre đã tắt cookie của bên thứ ba trên Chrome và xác minh rằng cookie của họ không được đặt thành công trên các trang web mà Mercado Libre đóng vai trò là nhà cung cấp bên thứ ba. Sau đó, Mercado Libre đã cập nhật các cookie này để phân vùng. Với thay đổi này, họ có thể xác nhận rằng có thể đặt cookie được phân vùng trong Chrome, ngay cả khi người dùng đã tắt cookie của bên thứ ba. Sau đó, Mercado Libre đã thêm tiêu đề Set-Cookie
và không gặp lỗi nào, theo hướng dẫn thiết kế bảo mật CHIPS.
Hiệu quả kinh doanh
Mercado Libre đã bắt đầu sử dụng CHIPS cho các hoạt động tích hợp của Mercado Pago và Mercado Shops có miền tuỳ chỉnh. Mercado Libre hiện lưu trữ một cookie phân vùng bổ sung cùng với một cookie không phân vùng tiêu chuẩn trên thiết bị của người dùng.
Việc triển khai CHIPS cho Mercado Libre rất đơn giản.
Kiểm thử hiệu quả của CHIPS trên các mô hình gian lận sử dụng công nghệ học máy
Mercado Libre dự định ngừng gửi tín hiệu cookie không phân vùng tiêu chuẩn cho một nhóm đối chứng để mô phỏng trường hợp cookie của bên thứ ba bị chặn và thay vào đó sử dụng cookie được phân vùng (CHIPS). Ban đầu, nhóm đối chứng này sẽ bao gồm một phần dân số của một trang web và Mercado Libre dự định tăng dần tỷ lệ phần trăm và số lượng trang web khi thử nghiệm hiệu quả.
Hiệu quả sẽ được đo lường theo số lượng giao dịch thanh toán được phê duyệt của nhóm đối chứng so với một khoảng thời gian tương đương trước đó.
Các thử nghiệm trước
Mercado Libre đã tiến hành một thử nghiệm tương tự trên một nhóm đối chứng để kiểm tra xem họ có thể xác định cùng một thiết bị bằng cách sử dụng CHIPS thay vì cookie chưa phân vùng và đo lường tuổi của thiết bị (cookie) hay không.
Nhóm đối chứng bao gồm những người bán được nhắm đến ở Argentina và Brazil; cả hai nhóm đều hoạt động theo cách tương tự.
Tóm lại, Mercado Libre có thể xác nhận danh tính của khoảng 70% thiết bị sử dụng CHIPS, tức là 30% còn lại là người dùng mới hoặc các trường hợp có hành vi không mong muốn.
Kết luận về việc triển khai CHIPS
Mercado Libre cam kết bảo vệ quyền riêng tư của người dùng, ngay cả khi phải đánh đổi giữa quyền riêng tư và sự phiền hà tối thiểu cho người dùng. Việc triển khai CHIPS rất đơn giản và giúp giảm thiểu tác động của sự đánh đổi này trong cùng một trang web. Mercado Libre vẫn đang khám phá các giải pháp Hộp cát về quyền riêng tư khác, chẳng hạn như Mã thông báo trạng thái riêng tư. Giải pháp này có thể giúp giải quyết hoàn toàn khoảng cách trải nghiệm, nhờ đó mang lại những lợi ích tốt nhất của cả hai thế giới: quyền riêng tư và tiện ích.
Bộ trang web có liên quan trên Mercado Libre
Nhóm trang web có liên quan (RWS) là một cách để công ty khai báo mối quan hệ giữa các trang web, nhờ đó, trình duyệt cho phép cookie của bên thứ ba truy cập một cách hạn chế cho những mục đích cụ thể.
Sử dụng Nhóm trang web có liên quan để duy trì các tính năng phân tích
Thách thức
Khi một thiết bị mới truy cập vào một trong các miền do Mercado Libre sở hữu và vận hành (O&O), Meli sẽ sử dụng cookie để tìm hiểu hoạt động của thiết bị trên nhiều miền, chẳng hạn như mercadolibre.com và mercadopago.com.
Giải pháp
Để giải quyết các trường hợp không có cookie của bên thứ ba, Mercado Libre đã triển khai RWS cho tất cả các miền dành cho khách hàng của họ nơi sử dụng cookie của bên thứ ba, tuân thủ quy định hạn chế về một miền chính và 5 miền liên kết khác trên một nhóm.
Tìm hiểu chuyên sâu về kỹ thuật: tìm miền phù hợp để đưa vào
Trong quá trình điều tra xem nên đưa miền nào vào tập hợp, Mercado Libre nhận thấy nhiều miền của họ có cookie đã lỗi thời và không còn được sử dụng. Các miền này đã bị loại trừ khỏi tập hợp.
Nhóm nền tảng giao diện người dùng web chịu trách nhiệm tạo và quản lý các nhóm trang web liên quan của Mercado Libre. (Bạn có thể tìm thấy bộ dữ liệu hoàn chỉnh trên kho lưu trữ GitHub của Nhóm trang web liên quan.)
{
"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"
],
...
}
},
Chỉ mất 2 tuần để bộ sách này được phát hành sau khi được phê duyệt.
Sao chép cookie của bên thứ ba trên các miền O&O bằng API Truy cập bộ nhớ
Yêu cầu
Để máy chủ đặt cookie, máy chủ phải hỗ trợ CORS và các yêu cầu phải là nhiều nguồn gốc và bao gồm thông tin xác thực:
res.setHeader('Access-Control-Allow-Credentials', 'true');
res.setHeader('Access-Control-Allow-Origin', `${req.headers.origin}`);
Bạn phải định cấu hình cookie bằng:
Secure
SameSite=None
Khi không có cookie của bên thứ ba theo mặc định, ứng dụng khách phải kiểm tra xem ứng dụng đó có quyền truy cập vào cookie chưa phân vùng bằng navigator.permissions.query()
hay không, sau đó yêu cầu quyền truy cập vào bộ nhớ cho từng miền được nhúng bằng requestStorageAccessFor()
. Ngoài ra, người dùng cần tương tác với màn hình (chẳng hạn như nhấp hoặc thao tác trên bàn phím) để tác nhân người dùng yêu cầu quyền thành công trong lần đầu tiên.
Vượt qua các thách thức của RWS
Các quy trình truyền cookie hiện có như pixel hình ảnh và việc sử dụng API truy cập bộ nhớ gặp phải những hạn chế do yêu cầu tương tác của người dùng. Đây là trường hợp với tính năng đăng nhập liên tục của người dùng trên các miền của Mercado Libre. Tính năng này bị gián đoạn khi người dùng chọn không sử dụng cookie của bên thứ ba.
Nhóm trang web có liên quan và các công nghệ Hộp cát về quyền riêng tư không được thiết kế để thay thế một cách tương ứng cho cookie của bên thứ ba và có thể không hỗ trợ một số trường hợp sử dụng:
Điểm ảnh hình ảnh
- Mercado Libre có thể thêm thuộc tính
crossorigin="use-credentials"
. Tuy nhiên, việc phụ thuộc vào hoạt động tương tác của người dùng (người dùng nhấp vào một đường liên kết) có nghĩa là Mercado Libre không thể đảm bảo rằng cookie sẽ được đặt. Pixel cũng bị huỷ nếu có thao tác điều hướng giữa các màn hình: khi phát hiện thao tác điều hướng, Chrome sẽ huỷ tất cả các yêu cầu tài nguyên từ trang hiện tại để bắt đầu tải trang mới.
- Mercado Libre có thể thêm thuộc tính
sendBeacon()
- Không thể định cấu hình
crossorigin
, vì vậy, các yêu cầu sẽ không thành công và cookie sẽ không được gửi.
- Không thể định cấu hình
Lượt chuyển hướng bằng
sendBeacon()
hoặc pixel hình ảnh- Vì các cookie này phụ thuộc vào hoạt động tương tác của người dùng, nên bạn không thể đặt cookie thông qua lệnh chuyển hướng đến các màn hình trung gian giữa các miền thực thi JavaScript.
Giới hạn của WebView
API Quyền không có trong WebView. Điều này buộc Mercado Libre phải triển khai logic, theo đó, API Truy cập bộ nhớ chỉ khởi chạy khi có API Quyền (ở mọi nơi ngoại trừ WebView). Ngoài ra, Safari hoặc Firefox hiện không hỗ trợ requestStorageAccessFor()
.
Mercado Libre tiếp tục sử dụng tính năng phát hiện tính năng khi cần, bất kể nền tảng.
Giải pháp phù hợp với mọi trường hợp
Mercado Libre cần sử dụng fetch()
và {keepalive: true, credentials: 'include'}
. Bằng cách này, họ có thể định cấu hình CORS, đưa vào thông tin xác thực và đảm bảo rằng yêu cầu sẽ được thực hiện ở chế độ nền mà không bị trình duyệt huỷ.
fetch(domain, {
keepalive: true,
credentials: 'include',
});
// or
fetch(domain, {
method: 'POST'
body: data,
keepalive: true,
credentials: 'include',
});
Ví dụ đầy đủ:
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',
});
}
Kiểm thử trong Chrome
Bạn có thể kiểm thử một nhóm trang web có liên quan trên máy bằng cách đặt cờ Chrome. Ví dụ: đối với bản minh hoạ tại 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/
Kết luận về việc triển khai RWS
Việc triển khai RWS cho các trang web quy mô lớn không hề đơn giản. Mercado Libre chỉ cần tài nguyên của một nhà phát triển, nhưng từ đầu đến cuối, quá trình triển khai cho 18 quốc gia mất khoảng ba tháng.
Đề xuất dành cho những người muốn triển khai RWS: hãy bắt đầu sớm! Đừng chần chừ triển khai RWS. Mercado Libre đã phải thay đổi cookie ở phía máy chủ và phía ứng dụng, thêm tiêu đề mới, thực hiện các thay đổi về phần phụ trợ và cập nhật JavaScript.
Lời kết và các bước tiếp theo
Việc triển khai thành công API Hộp cát về quyền riêng tư của Mercado Libre đã thể hiện cam kết của họ trong việc thích ứng với bối cảnh quyền riêng tư đang thay đổi. Bằng cách chủ động kiểm thử và giải quyết việc sử dụng cookie của bên thứ ba, Mercado Libre đã duy trì các chức năng kinh doanh quan trọng, chẳng hạn như phân tích và ngăn chặn hành vi gian lận, đồng thời tăng cường quyền riêng tư của người dùng và đảm bảo tuân thủ các quy định đang thay đổi. Nghiên cứu điển hình này cung cấp thông tin chi tiết có giá trị cho những tổ chức muốn chuyển đổi sang một tương lai không nhất thiết phải có cookie của bên thứ ba.