Como a Ray-Ban dobrou a taxa de conversão e reduziu a taxa de saída em 13% com a pré-renderização usando a API Speculation Rules

Daniele Merola
Daniele Merola
Giorgio Pellegrino
Giorgio Pellegrino
Hadyan Andika
Hadyan Andika

Publicado em 28 de janeiro de 2025

Este estudo de caso descreve como a Ray-Ban melhorou as métricas de LCP usando a API Speculation Rules para acelerar as navegações futuras dos usuários usando a pré-renderização e como isso melhorou a performance comercial da plataforma de e-commerce da Ray-Ban. O sucesso desse processo incentivou a Ray-Ban a considerar outras opções para melhorar a performance, como tornar as páginas qualificadas para bfcache.

A Ray-Ban é uma marca de óculos icônica, conhecida por seus estilos atemporais, como o Aviator e o Wayfarer, que combinam designs clássicos com tendências modernas. Como uma das líderes renomadas em óculos, o canal de e-commerce da Ray-Ban desempenha um papel fundamental na garantia da competitividade da empresa, atraindo mais de 80 milhões de visitantes únicos por ano.

Como canal de negócios principal, a Ray-Ban continua melhorando a experiência do usuário na plataforma de e-commerce e reconhece a importância das Core Web Vitals e do impacto direto delas na experiência do usuário na plataforma.

A abordagem contínua da Ray-Ban para melhorar a jornada ideal do usuário

Devido à natureza da arquitetura de aplicativo multipágina (AMP) usada na plataforma de e-commerce da Ray-Ban, sempre que um usuário interage com um link ou botão que exige uma nova página, o navegador envia uma solicitação de navegação para o servidor, que responde com uma nova página HTML. Isso representa um desafio para a Ray-Ban manter uma experiência de navegação tranquila para os usuários, especialmente na página de detalhes do produto (PDP), que foi identificada como um dos pontos de entrada mais usados e é uma parte essencial do funil de conversão.

Graças a um redesign concluído recentemente, a Ray-Ban notou uma melhoria nas métricas das Core Web Vitals. No entanto, ainda há espaço para melhorias, especialmente nos casos em que o uso extensivo de bibliotecas externas é necessário para oferecer uma experiência interativa ao usuário, o que aumenta a métrica Largest Contentful Page (LCP) em comparação com outras páginas.

Por esse motivo, a Ray-Ban optou por implementar o carregamento especulativo para melhorar a jornada ideal do usuário no site. O uso de regras de especulação pode ser uma das soluções mais eficazes para reduzir a velocidade de carregamento percebida da página para navegações futuras, já que ele carrega e renderiza previamente o conteúdo das páginas que o usuário vai visitar em seguida.

Estratégia de pré-renderização específica para dispositivos da Ray-Ban

A Ray-Ban adotou duas estratégias de pré-renderização separadas para considerar as diferenças de comportamento e recursos entre dispositivos móveis e computadores. Essas estratégias foram criadas para maximizar a performance sem comprometer os recursos existentes do site ou a experiência do usuário.

No computador, a pré-renderização é executada passando o cursor sobre os blocos de produtos na página de listagem de produtos (PLP, na sigla em inglês), usando a configuração de prontidão "moderate" e transmitindo como um seletor uma classe de identificação dos mesmos blocos.

let scriptPrerender = document.createElement('script');
scriptPrerender.setAttribute('type', 'speculationrules');

scriptPrerender.innerHTML = `{
  "prerender": [
    {
      "source": "document",
      "where": {
        "and": [
          {
            "selector_matches": "a.rb-plp-product-tile__container"
          }
        ]
      },
      "eagerness": "moderate"
    }
  ]
}`;

document.head.appendChild(scriptPrerender);

Como o evento hover não está disponível em dispositivos móveis, a pré-renderização é executada usando uma configuração de immediate nos quatro primeiros blocos, que foram os mais clicados.

let scriptPrerender = document.createElement('script');
scriptPrerender.setAttribute('type', 'speculationrules');

scriptPrerender.innerHTML = `{
  "prerender": [
    {
      "source": "document",
      "where": {
        "and": [
          {
            "selector_matches": "a.rb-plp-product-tile__container:nth-child(-n+5)"
          }
        ]
      },
      "eagerness": "immediate"
    }
  ]
}`;

document.head.appendChild(scriptPrerender);

Pré-renderizar resultados

As duas estratégias de pré-renderização tiveram um impacto significativo nas métricas das Core Web Vitals das páginas de PDP da Ray-Ban e nas tendências dos KPIs de negócios.

Dispositivo LCP Mudança na taxa de conversão Mudança na taxa de saída Taxa de pré-renderização
Antes Depois Mudança
Dispositivo móvel 4,69s 2,66 s 43,28% +101,47% -13,25% 29%
Computador 3,03s 1,74s 42,57% +156,16% -13,18% 50%
Origem: dados no nível do URL do CrUX para páginas de PDP do Aviator.

As métricas comerciais dos usuários que navegam na página de detalhes do produto gerada pelo servidor foram comparadas com as que navegam na página de detalhes do produto pré-renderizada. Depois de coletar dados do espaço de trabalho de rastreamento da Adobe para usuários com navegadores compatíveis com a API (como o Chrome), a Ray-Ban revelou melhorias significativas que demonstram que os usuários podem navegar pelo site com mais facilidade. Para os outros navegadores, em que o pré-renderização não é compatível, a Ray-Ban decidiu pré-carregar os recursos no momento do evento hover no computador e para os quatro primeiros blocos do PLP em dispositivos móveis.

A implementação da API Speculation Rules para pré-renderização mudou o jogo para a plataforma de e-commerce da Ray-Ban. Com essas estratégias inovadoras, a Ray-Ban conseguiu uma melhoria de 43% no LCP em computadores e dispositivos móveis, melhorando significativamente a experiência do usuário.

Essa otimização não apenas forneceu carregamentos de página quase instantâneos, mas também permitiu muitos dos benefícios da arquitetura do tipo SPA, mantendo a arquitetura atual de MPA, especialmente em páginas importantes, como a PDP.

Do ponto de vista comercial, as melhorias foram transformadoras, como confirmado pelos testes A/B:

  • Aumento nas taxas de conversão:
    • As taxas de conversão em dispositivos móveis em PDPs aumentaram substancialmente em 101,47%.
    • As taxas de conversão em computadores tiveram um aumento ainda mais impressionante de 156,16%.
  • Engajamento do usuário aprimorado:
    • O número médio de páginas visualizadas por sessão aumentou 51,95% em dispositivos móveis e 65,30% em computadores, indicando uma navegação mais suave e um interesse mais duradouro dos usuários. Observação: não consideramos como "visualizadas" as páginas pré-renderizadas que não foram ativadas.
  • Taxas de saída reduzidas:
    • As taxas de saída (% de usuários que saem de uma página em relação às visualizações dela) caíram 13,25% em dispositivos móveis e 13,18% em computadores, mostrando uma maior retenção durante momentos de compra importantes.

Ampliação para oferecer mais navegações instantâneas do usuário

Com os excelentes resultados da pré-renderização de PDPs, a Ray-Ban decidiu maximizar ainda mais o potencial da API Speculation Rules com a pré-renderização de links de PLPs no menu. Essa abordagem permite melhorar significativamente a velocidade de carregamento e, consequentemente, a LCP dos tipos de página de catálogo e de produto.

Embora a pré-renderização ajude em navegações futuras, a Ray-Ban também observa uma parte significativa de navegação de ida e volta entre PLP e PDP. Como os resultados do experimento de pré-renderização mostram que a navegação otimizada do usuário está diretamente relacionada a boas métricas de negócios, a Ray-Ban também analisou o cache de avanço e retorno (bfcache).

O bfcache é uma otimização de navegador que oferece navegações instantâneas para frente e para trás, mantendo um snapshot das páginas qualificadas no histórico do navegador na memória e restaurando-as sem passar pela rede. Para garantir que a PDP e a PLP da Ray-Ban estejam qualificadas para o bfcache, várias atualizações rápidas foram feitas:

  • Desativa o evento unload e restringe o acesso às APIs Bluetooth e acelerômetro do dispositivo usando um valor de cabeçalho Permissions-Policy de unload=(), bluetooth=(), andaccelerometer=().
  • Feche as conexões RTC e IndexedDB no evento pagehide.
  • Evite o uso desnecessário do cabeçalho de resposta Cache-Control: no-store.

A ativação do suporte ao bfcache em PLPs em que a navegação de ida e volta representava até 40% do tráfego, enquanto a taxa de acerto do bfcache era 0, resultou em quase 30% de melhoria no LCP e 83% de melhoria no CLS.

Métricas 2024-10-13 > 2024-11-9 2024-11-24 > 2024-12-21 Delta
LCP 3725ms 2674ms -28,21%
INP 521ms 395ms -24,18%
CLS 0.46 0,08 -82,61%
Taxa de ocorrências em cache de avanço e retorno 0,02% 72,90% +72,87pp
Origem: dados no nível do URL do CrUX para a página de óculos de sol para mulheres.

Conclusão

Esses resultados ilustram o potencial da pré-renderização para melhorar significativamente a performance de um site de e-commerce. Ao pré-renderizar páginas com base no comportamento do usuário para navegações futuras, a Ray-Ban não só melhorou as principais métricas da Web, como também aumentou o engajamento do usuário e as vendas. Esse benefício fortaleceu o compromisso da Ray-Ban de oferecer uma navegação suave não apenas para navegações futuras, mas também para navegações de avanço e retorno fornecidas pelo bfcache.

Este estudo de caso destaca como o uso de técnicas modernas de performance da Web pode preencher a lacuna entre as métricas técnicas e os KPIs de negócios, definindo um novo parâmetro para a experiência do usuário e o sucesso do e-commerce.

Agradecemos especialmente a Lorenzo Bartomioli, Gilberto Cocchi, Alejandro Baeza Redondo, Barry Pollard e Jeremy Wagner pela contribuição a este trabalho.