Tray es un proveedor de sistemas de administración de contenido (CMS) de comercio electrónico con más de 20 años de experiencia en el mercado minorista brasileño. Los comercios administran tiendas en línea en la infraestructura de Tray's, que también proporciona servicios y integraciones para administrar la logística, los pagos, las promociones y los informes de la empresa.
Tray es miembro del grupo LWSA y es una fuerza impulsora en el sector del comercio electrónico. Más de 180,000 clientes confían en Tray, que, en conjunto, generaron más de USD 3,000 millones en GMV en el primer trimestre de 2024.

Dependencia de cookies de terceros
La arquitectura técnica de Tray's usa cookies de terceros (3PC) para proporcionar funcionalidades de terceros a los sitios de comercios, en particular para el panel de administración de la administración de la tienda que usa el comercio. Estas cookies son indispensables para renderizar el contenido que se entrega desde aplicaciones de terceros alojadas en dominios distintos del dominio del comercio. La investigación de Tray's reveló que los cambios planificados en la forma en que los navegadores controlan las 3PC podrían interrumpir esta función. Debido a que Tray funciona como infraestructura fundamental para muchos minoristas en línea, es fundamental que las empresas puedan continuar con su actividad de forma habitual, incluso mientras se realizan cambios importantes en la forma en que Chrome y otros navegadores controlan las 3PC.
En este caso de éxito, se explica el descubrimiento de posibles interrupciones por parte de Tray's, su evaluación de posibles soluciones y la solución exitosa que se implementó para asegurarse de que sus sitios estén listos para los cambios en los 3PC.
Arquitectura técnica
Microservicios
Tray aloja todas las aplicaciones de la tienda y del backend en su dominio, tray.com.br, y los comercios pueden usar un CNAME para publicar estas aplicaciones desde su propio dominio personalizado. Con esta configuración, los compradores solo verán el dominio de la tienda, como merchant.example. Tray aprovecha una arquitectura de microservicios para ofrecer funciones y capacidades. Este enfoque usa aplicaciones independientes y autocontenidas que se enfocan en una función específica. Luego, estos microservicios se agrupan en alcances según sus capacidades funcionales:
- Tienda: Incluye las aplicaciones responsables de las funciones de la tienda, como la visualización de productos, la búsqueda y la administración de temas.
- Flujo de compra: Administra el carrito de compras, el proceso de confirmación de la compra y las interacciones de los clientes durante el recorrido de compra.
- Administración de tiendas: Proporciona aplicaciones de oficina para tareas como la administración, la generación de informes y la importación de datos.
- Integraciones: Facilitan las conexiones con plataformas externas para habilitar fichas en varios mercados, administrar la logística y mucho más.
Aplicación de administración
Backoffice es una aplicación principal de la administración de tiendas que funciona como el panel de administración central de la tienda virtual de un vendedor en Tray. Con este panel, los vendedores pueden hacer lo siguiente:
- Registra productos
- Configura las formas de envío y pago
- Crea promociones
- Cómo administrar las transmisiones en vivo
- Supervisa el flujo de pedidos
- Supervisa los informes de ventas
Debido a que Backoffice reúne muchos microservicios, algunos operados por Tray y otros por terceros, en una sola interfaz, es particularmente susceptible a interrupciones como resultado de cambios en la forma en que se manejan las cookies de terceros.
CNAME para la personalización de comercios
Tray usa registros CNAME para integrar las tiendas sin problemas.
Cuando configuran una tienda nueva, los comercios pueden configurar CNAME para dirigir las solicitudes a las aplicaciones alojadas en el dominio Tray's, tray.com.br. Esto significa que, cuando un cliente visita el sitio web de un comercio (como example.com
), un registro CNAME lo redirecciona al dominio Tray's y, al mismo tiempo, mantiene la URL del comercio en la barra de direcciones. Esto crea una experiencia del usuario fluida en la que el contenido parece publicarse directamente desde el sitio web del comercio.
Información sobre los CNAME
Los registros CNAME funcionan de manera similar al desvío de llamadas en un teléfono. Imagina que llamas a un amigo al 555-0199, pero no responde. Es posible que la llamada se desvíe al buzón de voz a un número diferente, como 555-0100. Sin embargo, tú, el llamador, permaneces completamente ajeno a esta redirección. El teléfono te conecta sin problemas y el saludo de la voz en espera sigue mostrando el número original de tu amigo (555-0199).
Los CNAME funcionan de la misma manera para los sitios web. Cuando un usuario visita el sitio web de un comercio (como example.com
), un registro CNAME puede redireccionar su solicitud en segundo plano a un servidor diferente, como assets.example.com
. Sin embargo, desde la perspectiva del
usuario y del navegador, todo sucede en example.com
. La barra de direcciones muestra la URL del comercio y el usuario interactúa con el sitio web como si el contenido se originara directamente desde ese dominio.
Cómo evaluar las posibles interrupciones
El análisis de Tray's de los cambios planificados en el manejo de 3PC reveló interrupciones en la aplicación de Backoffice. Cuando se bloqueaban los 3PC, surgían problemas al cargar páginas de diferentes dominios dentro de iframes incorporados en páginas de backend. Esto se aplicaba a los dominios internos, que pertenecían a los servicios de la empresa, así como a los socios externos que desarrollan aplicaciones que se integran con Tray a través de su API.
Por ejemplo, imagina una página en backoffice.merchant.example
que incorpora contenido alojado por tray.com.br y otros terceros.
Los navegadores tratarían este contenido incorporado como de terceros debido a la diferencia de dominios, lo que podría restringirlo en función de las limitaciones de los terceros.
Esta configuración podría generar varios problemas:
- Sesiones interrumpidas: Los 3PC bloqueados pueden hacer que las sesiones afectadas se interrumpan, lo que fragmenta la experiencia del usuario, ya que los usuarios deben acceder varias veces, o bien interrumpir o causar inconsistencias en las páginas del backend debido a iframes que funcionan mal.
- Desafíos de integración: Las aplicaciones de socios y los servicios internos que se integran con el backend de Tray's a través de su API podrían enfrentar dificultades similares debido a las restricciones de 3PC.
En la siguiente figura, se ilustra esta situación:
- Un usuario accede a la aplicación de administración alojada en
merchant.example
. - Las aplicaciones incorporadas residen en diferentes dominios, algunos en
tray.com.br
, que es propiedad de Tray, y otros en dominios de proveedores externos (third-party.example
). - Esta diferencia de dominio activa las restricciones de 3PC, lo que puede causar problemas con las aplicaciones incorporadas.

Cómo analizar las dependencias y soluciones de cookies de terceros
Prueba los recorridos críticos del usuario
Las pruebas y el análisis de Tray's tenían como objetivo mejorar el rendimiento del sitio web y la experiencia del usuario, con un enfoque en las integraciones de terceros y la preparación para un futuro en el que muchos usuarios navegan sin 3PC.
Tray usó la Privacy Sandbox Analysis Tool (PSAT) y las Herramientas para desarrolladores de Chrome para analizar los flujos de usuarios clave de los clientes y los comercios. Esto implicó probar la carga de páginas dentro de iframes, verificar si las sesiones de los usuarios seguían siendo válidas y asegurarse de que las aplicaciones de terceros siguieran funcionando como se esperaba. Las pruebas abarcaron varios roles de usuario, dispositivos y navegadores (incluidos Chrome, Firefox y Safari) para identificar posibles problemas de compatibilidad entre navegadores. Tray usó PSAT y las Herramientas para desarrolladores de Chrome para categorizar las cookies y evaluar su impacto en la experiencia del usuario.
Este análisis fue un paso vital para garantizar una experiencia del usuario fluida y coherente, y adaptarse a un futuro en el que las cookies de terceros pueden estar limitadas o no disponibles.
Cómo analizar las soluciones de Privacy Sandbox
API de Storage Access
Si bien la API de Storage Access (SAA) podría abordar las interrupciones de Tray's y es compatible con todos los navegadores principales, no era la mejor opción para la empresa por dos motivos principales:
- El contenido incorporado solo necesitaba acceder a las cookies del origen en el que se incorporó, no a las mismas cookies en varios sitios.
- Las indicaciones del navegador asociadas con la SAA no eran ideales, en especial, porque las cookies no se usaban para hacer un seguimiento de los usuarios en varios sitios.
CHIPS
CHIPS ofreció una solución sólida con una excelente experiencia del usuario para las incorporaciones entre sitios. El atributo Partitioned
fue fácil de implementar y no tuvo un impacto discernible en la interacción del usuario en Chrome. CHIPS no era compatible con otros navegadores clave cuando Tray realizaba cambios en su servicio, por lo que decidió trasladar sus incorporaciones propias y operadas al mismo sitio que la aplicación de nivel superior para proporcionar una experiencia coherente en todos los navegadores. El contenido incorporado de terceros depende de CHIPS en Chrome y abre una ventana nueva (contexto propio) en otros navegadores. Sin embargo, desde la implementación inicial de Tray's, Firefox confirmó sus planes para enviar CHIPS pronto, y Safari comenzó a agregar compatibilidad con el atributo particionado, a partir de su Versión preliminar de tecnología.
Consideramos que CHIPS era una solución elegante y nos complace ver que se está adoptando en varios navegadores. Decidimos mantener la solución CHIPS, además de trasladar elementos a los sitios propios para que podamos admitir todos los navegadores, incluso antes de que adopten CHIPS.
— Takashi Tanaka, director de Tecnología de Tray
Compatibilidad del navegador, W3C y estándares
Chrome desempeña un papel fundamental en la comunidad de estándares. La participación activa en los equipos de trabajo y los grupos comunitarios del W3C, como el PrivacyCG, es fundamental para influir en el ecosistema de navegadores más amplio y que adopte nuevas tecnologías web.
Privacy Sandbox funciona con el ecosistema web para evolucionar continuamente las APIs como CHIPS en función de los comentarios y la participación de la industria. Este enfoque transparente y basado en estándares fue fundamental para impulsar la adopción de CHIPS en otros navegadores principales.
Solución duradera para las dependencias de cookies de terceros
Tray admite a los comercios y a sus clientes en todo tipo de dispositivos y navegadores. Se habría preferido un enfoque basado únicamente en CHIPS, pero también se realizaron cambios adicionales para admitir otros navegadores que no admitían CHIPS en ese momento.
El enfoque de Tray's para abordar las interrupciones que se producen cuando los 3PC no están disponibles involucró dos estrategias principales.
1. Aplicaciones internas
Se actualizaron los microservicios Tray completamente operativos, incluidos Live Shop, Dropshipping y Invoice Issuer, para que la fuente del contenido incorporado herede el CNAME que configuró el comercio. En pocas palabras, el contenido incorporado se actualizó para que sea de origen propio con la página que lo incorpora, lo que garantiza que no haya interrupciones debido a los cambios en las cookies de terceros.
2. Aplicaciones de terceros
En el caso de las aplicaciones de terceros a las que se accede a través del backend, Tray implementó un enfoque más dinámico. Funciona de la siguiente manera:
- Implementación de atributos particionados: Se mantuvo la implementación del atributo de cookie
Partitioned
para los proveedores de confianza, lo que permite que las aplicaciones de terceros establezcan cookies de manera eficaz en navegadores que admiten CHIPS. - Cuando se bloquean las cookies de terceros: Si el navegador del usuario bloquea las cookies de terceros, la aplicación de terceros se abre en una ventana nueva (propia). Esto evita problemas de apertura y garantiza el funcionamiento continuo, incluso con restricciones de 3PC.
- Cuando se permiten las cookies de terceros: Si el navegador del usuario permite las cookies de terceros, la aplicación se sigue abriendo dentro de iframes como antes.
Visualiza la solución
En la siguiente figura, se ilustra la solución. Cuando se hereda el dominio principal de la tienda (merchant.example
), todas las aplicaciones incorporadas parecen provenir de la misma fuente. Esto hace que todos los widgets sean propios entre sí, lo que significa que las restricciones de terceros no son un factor. Debido a que todos estos marcos se convierten en propios entre sí, los principios de privacidad adoptan los de otras cookies propias: solo se puede acceder a ellos en el contexto propio y limitan el potencial de seguimiento entre sitios.
Cualquier servicio de terceros que no sea propiedad de Tray usa el atributo Partitioned
para configurar cookies de CHIPS, lo que significa que solo se puede acceder a ellos en el contexto en el que se configuraron y limitan el potencial de seguimiento entre sitios.

Conclusión
- No existe una solución única para la privacidad en la Web. Existen muchas formas de lograr experiencias del usuario sin fricciones y, al mismo tiempo, preservar la privacidad.
- La consolidación de recursos en el mismo dominio de nivel superior permite que las cookies funcionen incluso con restricciones de cookies de terceros.
- CHIPS puede ser una solución más fácil que migrar todos los recursos al mismo sitio de nivel superior.
- La solución Tray's es duradera y funciona en todos los navegadores. A medida que más navegadores implementen la compatibilidad con CHIPS, se puede considerar una solución confiable para varios navegadores en situaciones como Tray's.