O Mercado Livre é a principal plataforma de e-commerce na América Latina, com operações em 18 países. A empresa tem uma infraestrutura digital complexa com mais de 100 milhões de usuários ativos e uma variedade de serviços, incluindo marketplace, pagamentos (Mercado Pago) e logística.
O Mercado Livre tem mais de 40 domínios, muitos dos quais sempre usaram cookies de terceiros para ativar recursos como autenticação de usuários entre sites e detecção de fraudes.
O Mercado Livre fez um trabalho extenso para identificar experiências e funcionalidades importantes do usuário que podem depender de cookies de terceiros. A pesquisa e a implementação de alternativas aos cookies de terceiros, incluindo as APIs do Sandbox de privacidade, ajudam a garantir que as propriedades funcionem conforme o esperado e continuem oferecendo uma experiência positiva aos usuários, independentemente de os cookies de terceiros estarem disponíveis ou não.
Continue lendo para saber como o Mercado Livre reduziu a dependência de cookies de terceiros e protegeu a privacidade dos clientes.
Auditoria de cookies e avaliação de impacto
O Mercado Livre considerou três aspectos do uso de cookies de terceiros:
- O Mercado Livre depende do compartilhamento de cookies entre sites entre os domínios?
- Os serviços que eles fornecem como terceiros dependem de cookies de terceiros?
- Será que algum dos serviços de terceiros em que ela depende será afetado se os cookies de terceiros não estiverem disponíveis?
Avaliar o impacto do uso de cookies de terceiros em propriedades digitais dessa escala exigiu uma abordagem coordenada, já que há muitas unidades de negócios envolvidas.
A equipe da plataforma de front-end do Mercado Livre liderou uma auditoria de impacto e forneceu comunicação e suporte centralizados a outras equipes. Isso incluiu recursos e treinamentos para garantir que toda a empresa entendesse as mudanças necessárias, para que todas as equipes pudessem adotar as novas práticas.
Casos de uso de compartilhamento de cookies entre sites
As unidades de negócios do Mercado Livre operam em domínios separados, como mercadolibre.com, mercadopago.com e mercadoshops.com.
Ao realizar uma auditoria detalhada, eles descobriram onde o compartilhamento de cookies entre sites era essencial para as experiências dos usuários no ecossistema:
- Autenticação do usuário: possível interrupção para parte dos 75 milhões de compradores ativos mensais em 18 países.
- Análises internas: mais de 4.000 analistas de negócios usam dados de vários sites para tomar decisões. Possível impacto no acompanhamento da jornada do usuário.
- Prevenção de fraudes: essencial para fluxos de pagamento seguros quando cookies de terceiros não estão disponíveis (mais de 50 compras por segundo no Mercado Livre, 244 transações por segundo no Mercado Pago).
Essa análise abrangente incluiu informações como equipe, proprietário, impacto nos negócios, descrição do caso de uso, comportamento atual, possíveis falhas e solução proposta do Sandbox de privacidade.
Cookies particionados no Mercado Livre
Os cookies particionados, também conhecidos como CHIPS, permitem que os desenvolvedores ativem um cookie no armazenamento de particionamento, com armazenamentos separados por site de nível superior.
Como usar o CHIPS para permitir a detecção de fraudes sem cookies de terceiros
Desafio
O Mercado Libre usa cookies de terceiros para oferecer uma experiência integrada aos usuários que acessam a plataforma de pagamentos, tanto para pagamentos que ocorrem diretamente na plataforma quanto para integrações transparentes que usam o Mercado Pago como processador de pagamentos. Por exemplo, eles usam cookies de terceiros em mecanismos para ajudar a identificar quando um cartão de crédito está sendo usado em um dispositivo conhecido pelo usuário, evitando assim fraudes.
As informações do dispositivo são um dos principais indicadores de dados usados pelos modelos de machine learning do Mercado Livre para decidir se um pagamento será aprovado ou não. Portanto, não ter essas informações para um número significativo de usuários pode representar uma perda significativa na taxa de aprovação de pagamentos.
Solução
Para resolver as limitações dos cookies de terceiros, o Mercado Livre testou o CHIPS, uma solução que define um cookie exclusivo para cada site integrado à plataforma de pagamento. O objetivo é permitir que o Mercado Livre mantenha várias informações para cada loja.
Nesse caso, o CHIPS ajudou o Mercado Livre a oferecer uma experiência simples e eficiente para clientes recorrentes, mesmo quando os cookies de terceiros são bloqueados.
Aprofundamento técnico
O método de integração mais comum para usar o Mercado Pago como processador de pagamentos envolve o uso de JavaScript que incorpora um módulo de tokenização de dados do cartão e um módulo de prevenção de fraudes. O módulo de prevenção de fraudes usa cookies de terceiros para vincular pagamentos aos dispositivos dos usuários.
No passado, ao usar cookies de terceiros, o Mercado Pago podia identificar e rastrear os dispositivos dos usuários em todas as lojas, conforme ilustrado no diagrama a seguir.

Atualmente, os cookies particionados permitem que o Mercado Livre mantenha a identificação do dispositivo definindo um cookie separado para cada site de nível superior. Como mostra a imagem abaixo, essa abordagem preserva a privacidade, porque restringe o compartilhamento de informações entre as lojas. Os cookies particionados são usados quando os cookies de terceiros não estão disponíveis. Isso restringe o compartilhamento de informações entre as lojas, melhorando a privacidade do usuário.

Desenvolvimento inicial
Primeiro, o Mercado Livre desativou os cookies de terceiros no Chrome e verificou se eles não estavam definidos nos sites em que o Mercado Livre atuava como provedor de terceiros. O Mercado Livre atualizou esses cookies para serem particionados. Com essa mudança, eles puderam confirmar que os cookies particionados podem ser definidos no Chrome, mesmo que um usuário tenha desativado os cookies de terceiros. Em seguida, o Mercado Libre adicionou o cabeçalho Set-Cookie
e não encontrou erros, seguindo as instruções de design de segurança do CHIPS.
Eficiência comercial
O Mercado Livre já começou a usar o CHIPS para integrações do Mercado Pago e Mercado Shops com domínios personalizados. O Mercado Livre agora armazena um cookie particionado extra, junto com um cookie padrão não particionado, nos dispositivos dos usuários.
A implementação do CHIPS para Mercado Livre foi simples.
Como testar a eficácia do CHIPS em modelos de fraude de machine learning
O Mercado Livre planeja parar de enviar o indicador de cookie padrão não particionado para um grupo de controle, para simular um cenário em que os cookies de terceiros são bloqueados e, em vez disso, usar cookies particionados (CHIPS). Inicialmente, esse grupo de controle vai incluir uma parte da população de um site, e o Mercado Livre pretende aumentar progressivamente a participação e o número de sites à medida que testa a eficácia.
A eficácia será medida de acordo com a aprovação de pagamentos do grupo de controle em comparação com um período anterior semelhante.
Experimentos anteriores
O Mercado Libre realizou um experimento semelhante em um grupo de controle para verificar se era possível identificar os mesmos dispositivos usando CHIPS em vez de cookies não particionados e medir a idade do dispositivo (cookie).
O grupo de controle consistia em comerciantes segmentados da Argentina e do Brasil. Ambos os grupos se comportaram da mesma maneira.
Em conclusão, o Mercado Livre conseguiu confirmar a identidade de aproximadamente 70% dos dispositivos usando o CHIPS, o que significa que os 30% restantes eram novos usuários ou casos com comportamento inesperado.
Conclusão da implementação do CHIPS
O Mercado Livre tem o compromisso de proteger a privacidade do usuário, mesmo que isso signifique um trade-off entre privacidade e mínima fricção do usuário. A implementação do CHIPS foi simples e ajudou a minimizar o impacto dessa troca no mesmo site. O Mercado Livre ainda está testando outras soluções do Sandbox de privacidade, como os tokens de estado privado, que podem eliminar totalmente a lacuna de experiência, oferecendo o melhor dos dois mundos: privacidade e utilidade.
Conjuntos de sites relacionados no Mercado Livre
Os conjuntos de sites relacionados (RWS, na sigla em inglês) são uma maneira que empresas têm para declarar relações entre sites para que os navegadores permitam o acesso limitado de cookies de terceiros para fins específicos.
Como usar conjuntos de sites relacionados para manter os recursos de análise
Desafio
Quando um novo dispositivo entra em um dos domínios de propriedade e operação (O&O) do Mercado Livre, a Meli usa um cookie para entender a atividade de um dispositivo em vários domínios, como mercadolibre.com e mercadopago.com.
Solução
Para lidar com situações em que os cookies de terceiros não estão disponíveis, o Mercado Livre implementou a RWS em todos os domínios voltados ao cliente em que os cookies de terceiros foram usados, respeitando a restrição de um domínio principal e outros cinco domínios associados em um único conjunto.
Aprofundamento técnico: como encontrar os domínios certos para incluir
Durante a investigação de quais domínios incluir no conjunto, o Mercado Livre descobriu que muitos deles tinham cookies desatualizados que não estavam mais em uso. Esses domínios foram excluídos do conjunto.
A equipe da plataforma de front-end da Web foi responsável pela criação e gerenciamento dos conjuntos de sites relacionados do Mercado Livre. Você pode encontrar o conjunto completo no repositório do GitHub do conjunto de sites relacionados.
{
"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"
],
...
}
},
Depois da aprovação do envio, foram necessárias apenas duas semanas para que o set fosse colocado em produção.
Replicação de cookies de terceiros em domínios O&O com a API Storage Access
Requisitos
Para que o servidor defina cookies, ele precisa oferecer suporte ao CORS, e as solicitações precisam ser de origem cruzada e incluir credenciais:
res.setHeader('Access-Control-Allow-Credentials', 'true');
res.setHeader('Access-Control-Allow-Origin', `${req.headers.origin}`);
Os cookies precisam ser configurados com:
Secure
SameSite=None
Quando os cookies de terceiros não estão disponíveis por padrão, o cliente precisa verificar se tem permissão para acessar cookies não particionados usando navigator.permissions.query()
e, em seguida, solicitar permissões de acesso ao armazenamento para cada domínio incorporado usando requestStorageAccessFor()
. Além disso, a interação do usuário com a tela (como um clique ou uma ação no teclado) é necessária para que o agente do usuário solicite a permissão pela primeira vez.
Como superar os desafios da RWS
Os processos de propagação de cookies existentes, como pixels de imagem, e o uso da API Storage Access enfrentaram limitações devido à necessidade de interação do usuário. Esse foi o caso do login persistente do usuário do Mercado Libre em vários domínios, que é interrompido quando os usuários desativam os cookies de terceiros.
Os conjuntos de sites relacionados e as tecnologias do Sandbox de privacidade não foram criadas para oferecer substituições diretas para cookies de terceiros e podem não oferecer suporte a alguns casos de uso:
Pixels da imagem
- O Mercado Livre pode adicionar o atributo
crossorigin="use-credentials"
. No entanto, a dependência da interação do usuário (os usuários clicam em um link) significa que o Mercado Livre não pode garantir que o cookie será definido. Os pixels também são cancelados se houver navegação entre telas: quando o Chrome detecta uma navegação, ele cancela todas as solicitações de recursos da página atual para começar a carregar a nova.
- O Mercado Livre pode adicionar o atributo
sendBeacon()
crossorigin
não pode ser configurado, então as solicitações falham e os cookies não são enviados.
Redirecionamentos com
sendBeacon()
ou pixels de imagem- Como eles dependem da interação do usuário, não é possível definir cookies por redirecionamentos para telas intermediárias entre diferentes domínios que executam JavaScript.
Limitação da WebView
A API Permissions não está disponível na WebView. Isso forçou o Mercado Livre a implementar uma lógica em que a API Storage Access é iniciada apenas quando a API Permissions está disponível (em todos os lugares, exceto na WebView). Além disso, o requestStorageAccessFor()
não é compatível com o Safari ou o Firefox.
O Mercado Livre continua usando a detecção de recursos conforme necessário, independentemente da plataforma.
Solução universal
O Mercado Livre precisava usar fetch()
e {keepalive: true, credentials: 'include'}
. Dessa forma, eles poderiam configurar o CORS, incluir credenciais e garantir que uma solicitação fosse feita em segundo plano sem ser cancelada pelo navegador.
fetch(domain, {
keepalive: true,
credentials: 'include',
});
// or
fetch(domain, {
method: 'POST'
body: data,
keepalive: true,
credentials: 'include',
});
Exemplo 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',
});
}
Testes no Chrome
É possível testar localmente um conjunto de sites relacionados definindo uma flag do Chrome. Por exemplo, para a demonstração em 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/
Conclusão da implementação do RWS
A implementação de RWS para sites de grande escala não é simples. O Mercado Livre só precisava dos recursos de um único desenvolvedor, mas do início ao fim, o processo de lançamento em 18 países levou cerca de três meses.
A recomendação para quem quer implementar o RWS: começar cedo! Não espere para implementar o RWS. O Mercado Libre teve que mudar os cookies no lado do servidor e do cliente, adicionar novos cabeçalhos, fazer mudanças no back-end e atualizar o JavaScript.
Observações finais e próximas etapas
A implementação bem-sucedida das APIs do Sandbox de privacidade pelo Mercado Livre mostrou o compromisso da empresa em se adaptar ao cenário dinâmico da privacidade. Ao testar e resolver proativamente o uso de cookies de terceiros, o Mercado Libre manteve funcionalidades comerciais essenciais, como análises e prevenção de fraudes, melhorando a privacidade do usuário e garantindo a conformidade com as regulamentações em evolução. Este estudo de caso oferece insights valiosos para organizações que buscam navegar pela transição para um futuro em que a disponibilidade de cookies de terceiros não é garantida.