Mercado Libre è la principale piattaforma di e-commerce in America Latina, con attività in 18 paesi. Ha un'infrastruttura digitale complessa con oltre 100 milioni di utenti attivi e una vasta gamma di servizi, tra cui marketplace, pagamenti (Mercado Pago) e logistica.
Mercado Libre possiede oltre 40 domini, molti dei quali hanno storicamente fatto affidamento su cookie di terze parti per attivare funzionalità come l'autenticazione utente cross-site e il rilevamento delle attività fraudolente.
Mercado Libre ha svolto un'ampia attività di identificazione di funzionalità ed esperienze utente critiche che potrebbero fare affidamento su cookie di terze parti. La ricerca e l'implementazione di alternative ai cookie di terze parti, incluse le API Privacy Sandbox, contribuiscono a garantire il funzionamento delle loro proprietà come previsto e a continuare a offrire agli utenti un'esperienza positiva, indipendentemente dalla disponibilità o meno dei cookie di terze parti.
Continua a leggere per scoprire il percorso di Mercado Libre per ridurre la dipendenza dai cookie di terze parti e proteggere la privacy dei propri clienti.
Audit dei cookie e valutazione dell'impatto
Mercado Libre ha preso in considerazione tre aspetti dell'utilizzo dei cookie di terze parti:
- Mercado Libre si basa sulla condivisione di cookie cross-site tra i propri domini?
- I servizi forniti come terze parti dipendono dai cookie di terze parti?
- I servizi di terze parti su cui si basano saranno interessati se i cookie di terze parti non saranno disponibili?
La valutazione dell'impatto dell'utilizzo dei cookie di terze parti per proprietà digitali di questa portata ha richiesto un approccio coordinato, in quanto sono coinvolti molti reparti aziendali.
Il team della piattaforma frontend di Mercado Libre ha condotto un audit sull'impatto e fornito comunicazione e assistenza centralizzata agli altri team. Sono state incluse risorse e formazione per garantire la comprensione a livello aziendale delle modifiche necessarie, in modo che tutti i team potessero adottare le nuove pratiche.
Casi d'uso della condivisione di cookie cross-site
Le unità di business di Mercado Libre operano ciascuna su domini separati, come mercadolibre.com, mercadopago.com e mercadoshops.com.
Conducendo un audit dettagliato, ha scoperto dove la condivisione dei cookie cross-site era fondamentale per le esperienze utente all'interno del suo ecosistema:
- Autenticazione utente: potenziale interruzione per una parte dei 75 milioni di acquirenti attivi mensili in 18 paesi.
- Analytics interne: oltre 4000 analisti aziendali si basano sui dati cross-site per prendere decisioni. Potenziale impatto sul monitoraggio del percorso dell'utente.
- Prevenzione delle frodi: fondamentale per i flussi di pagamento sicuri quando i cookie di terze parti non sono disponibili (più di 50 acquisti al secondo per Mercado Libre, 244 transazioni al secondo per Mercado Pago).
Questa analisi completa includeva informazioni quali il team, il proprietario, l'impatto sull'attività, la descrizione del caso d'uso, il comportamento attuale, i potenziali problemi e la soluzione Privacy Sandbox proposta.
Cookie partizionati su Mercado Libre
I cookie con stato partizionato, noti anche come CHIPS, consentono agli sviluppatori di attivare un cookie nello spazio di archiviazione partizionato, con cookie jar separati per ogni sito di primo livello.
Utilizzo di CHIPS per consentire il rilevamento delle attività fraudolente senza cookie di terze parti
La sfida
Mercado Libre utilizza cookie di terze parti per offrire un'esperienza fluida agli utenti che accedono alla sua piattaforma di pagamento, sia per i pagamenti effettuati direttamente sulla piattaforma sia per le integrazioni trasparenti che utilizzano Mercado Pago come elaboratore dei pagamenti. Ad esempio, utilizzano cookie di terze parti in meccanismi che aiutano a identificare quando una carta di credito viene utilizzata da un dispositivo noto all'utente e, di conseguenza, a prevenire attività fraudolente con carte di credito.
Le informazioni sul dispositivo sono uno dei principali indicatori di dati utilizzati dai modelli di machine learning di Mercado Libre per decidere se approvare o meno un pagamento. Pertanto, non disporre di queste informazioni per un numero significativo di utenti potrebbe rappresentare una perdita significativa del rapporto di approvazione dei pagamenti.
Soluzione
Per risolvere i limiti dei cookie di terze parti, Mercado Libre ha testato CHIPS, una soluzione che imposta un cookie univoco per ogni sito web integrato con la sua piattaforma di pagamento. L'obiettivo è consentire a Mercado Libre di gestire diverse informazioni per ogni singolo negozio.
In questo caso, CHIPS ha aiutato Mercado Libre a offrire un'esperienza fluida ed efficiente ai clienti di ritorno anche quando i cookie di terze parti sono bloccati.
Approfondimento tecnico
Il metodo di integrazione più comune per utilizzare Mercado Pago come elaboratore dei pagamenti prevede l'utilizzo di JavaScript che incorpora sia un modulo di tokenizzazione dei dati della carta sia un modulo di prevenzione delle frodi. Il modulo di prevenzione delle frodi utilizza cookie di terze parti per collegare i pagamenti ai dispositivi degli utenti.
In passato, utilizzando i cookie di terze parti, Mercado Pago poteva identificare e monitorare i dispositivi degli utenti nei vari negozi, come illustrato nel seguente diagramma.
Attualmente, i cookie suddivisi consentono a Mercado Libre di mantenere l'identificazione del dispositivo impostando un cookie separato per ogni sito di primo livello. Come mostrato nell'immagine seguente, questo approccio tutela la privacy, in quanto limita la condivisione delle informazioni tra i negozi. I cookie suddivisi vengono utilizzati quando i cookie di terze parti non sono disponibili. In questo modo, la condivisione delle informazioni tra i negozi è limitata, migliorando la privacy degli utenti.
Sviluppo iniziale
Innanzitutto, Mercado Libre ha disattivato i cookie di terze parti su Chrome e ha verificato che i propri cookie non fossero stati impostati correttamente sui siti in cui Mercado Libre operava come fornitore di terze parti. Mercado Libre ha quindi aggiornato questi cookie in modo che vengano suddivisi. Con questa modifica, è stato possibile confermare che i cookie partizionati potevano essere impostati in Chrome, anche se un utente aveva disattivato i cookie di terze parti. Mercado Libre ha quindi aggiunto l'intestazione Set-Cookie
senza riscontrare errori, seguendo le istruzioni per la progettazione della sicurezza CHIPS.
Efficienza aziendale
Mercado Libre ha già iniziato a utilizzare CHIPS per le integrazioni di Mercado Pago e Mercado Shops con domini personalizzati. Mercado Libre ora memorizza un cookie partizionato aggiuntivo, insieme a un cookie non partizionato standard, sui dispositivi dei propri utenti.
L'implementazione di CHIPS per Mercado Libre è stata semplice.
Testare l'efficacia di CHIPS sui modelli di frode basati sul machine learning
Mercado Libre prevede di interrompere l'invio dell'indicatore dei cookie non partizionati standard per un gruppo di controllo, per simulare uno scenario in cui i cookie di terze parti sono bloccati, e utilizzare invece i cookie partizionati (CHIPS). Inizialmente, questo gruppo di controllo includerà una parte della popolazione di un sito e Mercado Libre intende aumentare progressivamente la quota e il numero di siti man mano che testa l'efficacia.
L'efficacia verrà misurata in base all'approvazione dei pagamenti del gruppo di controllo rispetto a un periodo precedente paragonabile.
Esperimenti precedenti
Mercado Libre ha condotto un esperimento simile su un gruppo di controllo per verificare se era possibile identificare gli stessi dispositivi utilizzando i CHIP anziché i cookie non partizionati e misurare l'età del dispositivo (cookie).
Il gruppo di controllo era composto da commercianti scelti come target per l'Argentina e il Brasile; entrambi i gruppi si sono comportati allo stesso modo.
In conclusione, Mercado Libre ha potuto confermare l'identità di circa il 70% dei dispositivi che utilizzano CHIPS, il che significa che il 30% rimanente era costituito da nuovi utenti o da casi con comportamento inaspettato.
Conclusione sull'implementazione di CHIPS
Mercado Libre si impegna a proteggere la privacy degli utenti, anche se questo comporta un compromesso tra privacy e un'esperienza utente minimamente difficoltosa. L'implementazione di CHIPS è stata semplice e ha contribuito a ridurre al minimo l'impatto di questo compromesso all'interno dello stesso sito. Mercado Libre sta ancora esplorando altre soluzioni di Privacy Sandbox, come i token stato privato, che potrebbero potenzialmente colmare del tutto il divario di esperienza, offrendo così il meglio di entrambi i mondi: privacy e utilità.
Insiemi di siti web correlati su Mercado Libre
I set di siti web correlati (RWS) consentono a un'azienda di dichiarare le relazioni tra i siti, in modo che i browser consentano l'accesso limitato ai cookie di terze parti per scopi specifici.
Utilizzare gli insiemi di siti web correlati per mantenere le funzionalità di analisi
La sfida
Quando un nuovo dispositivo accede a uno dei domini di proprietà e gestiti da Mercado Libre, Meli utilizza un cookie per comprendere l'attività di un dispositivo su vari domini, come mercadolibre.com e mercadopago.com.
Soluzione
Per risolvere le situazioni in cui i cookie di terze parti non sono disponibili, Mercado Libre ha implementato la RWS per tutti i suoi domini rivolti ai clienti in cui venivano utilizzati cookie di terze parti, rispettando la limitazione di un dominio principale e di altri cinque domini associati in un unico insieme.
Approfondimento tecnico: trovare i domini giusti da includere
Durante l'indagine su quali domini includere nell'insieme, Mercado Libre ha scoperto che molti dei suoi domini avevano cookie obsoleti non più in uso. Questi domini sono stati esclusi dal set.
Il team della piattaforma frontend web era responsabile della creazione e della gestione dei set di siti web correlati di Mercado Libre. Puoi trovare il set completo nel repository GitHub del set di siti web correlati.
{
"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"
],
...
}
},
Dopo l'approvazione dell'invio, sono state necessarie solo due settimane per rendere disponibile il set in produzione.
Replica dei cookie di terze parti nei domini di proprietà e di operazione con l'API Storage Access
Requisiti
Affinché il server possa impostare i cookie, deve supportare CORS e le richieste devono essere cross-origin e includere le credenziali:
res.setHeader('Access-Control-Allow-Credentials', 'true');
res.setHeader('Access-Control-Allow-Origin', `${req.headers.origin}`);
I cookie devono essere configurati con:
Secure
SameSite=None
Quando i cookie di terze parti non sono disponibili per impostazione predefinita, il client deve verificare di disporre dell'autorizzazione per accedere ai cookie non partizionati utilizzando navigator.permissions.query()
e poi richiedere le autorizzazioni di accesso allo spazio di archiviazione per ogni dominio incorporato utilizzando requestStorageAccessFor()
. Inoltre, è necessaria l'interazione dell'utente con lo schermo (ad esempio un clic o un'azione da tastiera) affinché l'agente utente richieda correttamente l'autorizzazione la prima volta.
Superare le sfide della RWS
Le procedure di propagazione dei cookie esistenti, come i pixel delle immagini e l'utilizzo dell'API Storage Access, presentavano limitazioni a causa del requisito di interazione dell'utente. È stato il caso dell'accesso persistente dell'utente di Mercado Libre nei vari domini, che viene interrotto quando gli utenti disattivano i cookie di terze parti.
I set di siti web correlati e le tecnologie Privacy Sandbox non sono progettate per offrire sostituzioni uno a uno per i cookie di terze parti e potrebbero non supportare alcuni casi d'uso:
Pixel delle immagini
- Mercado Libre potrebbe aggiungere l'attributo
crossorigin="use-credentials"
. Tuttavia, la dipendenza dall'interazione dell'utente (gli utenti fanno clic su un link) significa che Mercado Libre non può garantire che il cookie venga impostato. I pixel vengono annullati anche se si passa da una schermata all'altra: quando Chrome rileva una navigazione, annulla tutte le richieste di risorse dalla pagina corrente per iniziare a caricare la nuova.
- Mercado Libre potrebbe aggiungere l'attributo
sendBeacon()
crossorigin
non può essere configurato, pertanto le richieste non vanno a buon fine e i cookie non vengono inviati.
Reindirizzamenti con
sendBeacon()
o pixel immagine- Poiché dipendono dall'interazione dell'utente, non è possibile impostare i cookie tramite reindirizzamenti a schermate intermedie tra domini diversi che eseguono JavaScript.
Limitazione di WebView
L'API Permissions non è disponibile in WebView. Questo ha costretto Mercado Libre a implementare una logica in base alla quale l'API Storage Access viene lanciata solo dove è disponibile l'API Permissions (ovunque tranne in WebView). Inoltre, requestStorageAccessFor()
non è attualmente supportato da Safari o Firefox.
Mercado Libre continua a utilizzare il rilevamento delle funzionalità in base alle necessità, indipendentemente dalla piattaforma.
Soluzione adatta a tutti
Mercado Libre doveva utilizzare fetch()
e {keepalive: true, credentials: 'include'}
. In questo modo, potevano configurare CORS, includere le credenziali e assicurarsi che una richiesta venisse effettuata in background senza essere annullata dal browser.
fetch(domain, {
keepalive: true,
credentials: 'include',
});
// or
fetch(domain, {
method: 'POST'
body: data,
keepalive: true,
credentials: 'include',
});
Esempio completo:
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',
});
}
Test in Chrome
Un insieme di siti web correlati può essere testato localmente impostando un flag di Chrome. Ad esempio, per la demo all'indirizzo 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/
Conclusione dell'implementazione dell'insieme di siti web correlati
L'implementazione di RWS per siti di grandi dimensioni non è banale. Mercado Libre aveva bisogno solo delle risorse di un singolo sviluppatore, ma la procedura di implementazione in 18 paesi ha richiesto circa tre mesi.
Il consiglio per chi vuole implementare la RWS: inizia in anticipo. Non aspettare per implementare la RWS. Mercado Libre ha dovuto modificare i cookie lato server e lato client, aggiungere nuove intestazioni, apportare modifiche al backend e aggiornare JavaScript.
Considerazioni finali e passaggi successivi
L'implementazione riuscita delle API Privacy Sandbox da parte di Mercado Libre ha dimostrato il suo impegno ad adattarsi al panorama in evoluzione della privacy. Testando e affrontando in modo proattivo l'utilizzo dei cookie di terze parti, Mercado Libre ha mantenuto le funzionalità aziendali fondamentali, come l'analisi e la prevenzione delle frodi, migliorando al contempo la privacy degli utenti e garantendo la conformità alle normative in evoluzione. Questo caso studio fornisce informazioni preziose per le organizzazioni che cercano di gestire la transizione a un futuro in cui la disponibilità dei cookie di terze parti non è scontata.