Campo "Número" apaga o que é digitado
Com e sem frete calculado no carrinho. A pessoa precisa perceber e digitar de novo.
Testes 1, 2 e 3 · R1
Assessment técnico e de UX · Rodada 1 + validação manual
Na primeira aba, só o que foi confirmado à mão no navegador. Na segunda, o que foi checado por ferramenta e ainda precisa de double check nas plataformas de dados.
Aba "Validado 100%". Tudo aqui foi refeito à mão em 27/10, em janela anônima, sem login, no desktop e no celular, parando sempre antes do pagamento.
01 Resultado da validação manual
Dos 25 pontos visíveis no navegador, 13 se confirmaram como o relatório descreveu. 11 deles estão no carrinho. E o defeito do campo "Número" apareceu mesmo sem calcular o frete.
Dos 25 testes, 3 tiveram resultado diferente do esperado (estão nos novos achados) e 2 não podem ser feitos à mão: o recálculo do Giftback (exige login) e o tempo em 4G. Esses dois estão na aba "Precisa de double check".
Na etapa Entrega, o número digitado some. No laboratório, isso só acontecia depois de calcular o frete no carrinho. À mão, aconteceu também sem calcular: o defeito pode atingir qualquer pessoa que chega à Entrega. Ao digitar de novo, o número foi aceito.
Validado 100% · 27/10 No laboratório, sem o número a etapa não avançava e nenhuma mensagem aparecia. Detalhes em Entrega.
Com e sem frete calculado no carrinho. A pessoa precisa perceber e digitar de novo.
Testes 1, 2 e 3 · R1
O 1º ícone da barra Social Selling apaga o carrinho sem pedir confirmação, no desktop e no celular.
Teste 4 · R3
Abaixo da dobra em 1366×768, no limite em 1440×900 e a ~1,7 tela no celular, sem barra fixa. O Giftback, ainda no ar em 27/10, empurra o botão.
Testes 7, 8 e 9 · R2, R4
O frete só aparece em "Calcular", e o frete grátis também, mesmo quando o valor já foi atingido. O carrinho não diz quanto falta.
Testes 15 e 16 · R7
O teste de controle, sem calcular o frete, também apagou o número. No laboratório, esse caminho funcionava (2 de 2).
Teste 2
Depois de apagado, o número foi aceito na segunda digitação. É o paliativo que o R1 pedia para testar: orientar a pessoa com uma mensagem até a correção.
Teste 3
Mesmo com o valor de frete grátis atingido, o carrinho só mostra o benefício depois do clique em "Calcular".
Teste 15
O campo deixa digitar letras e só avisa depois que o CEP é inválido.
Testes 1 e 22
Os dois campos deixam digitar letras e só avisam depois que o valor é inválido.
Testes 1 e 21
02 Carrinho
Em ordem de gravidade. Todos foram refeitos à mão em 27/10 e se comportaram como o relatório descreveu.
Crítico O 1º ícone da barra Social Selling esvazia o carrinho sem confirmação
Ícone verde com desenho de carrinho. Desktop: coluna fixa à esquerda. Celular: faixa fixa no rodapé.
Teste 4 · R3
Crítico "Fechar pedido" fora da primeira tela
1366×768: abaixo da dobra. 1440×900: no limite. Celular: a ~1,7 tela de rolagem, sem barra fixa.
Testes 7 e 8 · R4
Alto Giftback segue no carrinho e empurra o "Fechar pedido"
Remoção já decidida, mas o bloco seguia no ar em 27/10. No laboratório, o deslocamento foi de 202 px.
Teste 9 · R2
Alto Celular: a barra Social Selling cobre o botão "Calcular" do frete
Quando o botão está na parte de baixo da tela, a faixa fixa fica por cima dele.
Teste 6 · R3
Médio Frete e frete grátis só aparecem depois de "Calcular"
Mesmo com o valor de frete grátis atingido. O carrinho não diz quanto falta para os R$ 300 anunciados na vitrine.
Testes 15 e 16 · R7
Médio Barra Social Selling visível para quem não está logado
8 ícones voltados à venda assistida, expostos ao cliente final.
Teste 5 · R3
Médio Preço riscado "R$ 97,90" quase invisível
Cinza muito claro sobre branco (contraste 1,23:1): o desconto quase não se vê.
Teste 12 · R8
Baixo "×" de remover o item pequeno para tocar
20×20 px, abaixo do mínimo de 24×24 da WCAG 2.2.
Teste 25 · R8
Baixo Bandeiras e selos de segurança só no rodapé
Abaixo da dobra em todos os tamanhos. No topo, só "Ambiente 100% Seguro".
Teste 11
Capturas do laboratório (23/10, 16:09, 1 item, sem login). Os pontos com selo verde foram confirmados à mão em 27/10. A linha tracejada marca onde termina a primeira tela. Toque ou passe o mouse nos números.

evidencias/screenshots/20261023-160906_inicio_carrinho_desk1440_inteira.pngRecurso nativo VTEX, visível para deslogado. O 1º ícone ("Novo carrinho") esvazia o carrinho com um clique, sem confirmação. Ícones sem foco por teclado e sem nome acessível. ~50 KB, mediana de 824 ms de main thread.
Entra ~0,5 s depois e empurra o CTA de y=639 para 841 (202 px). Deslogado, pede "Fazer Login". Ocupa 17% da coluna direita. Remoção já decidida, mas o bloco seguia no ar em 27/10.
Campo aberto acima do subtotal. O texto "O vale compras é adicionado na página de pagamento" ocupa a área de decisão. Hipótese convida a sair para buscar cupom.
Link sublinhado de 14 px colado acima do CTA (26 px). Leva a secure…/, que redireciona por JavaScript para a home www (~1,8 s).
Termina 3 px antes da dobra de 900 px. Em 1366×768 fica abaixo dela. Texto branco sobre verde com contraste de 3,37:1 (mínimo 4,5:1).
Com 1 item, a tabela termina em y=446 e o espaço até y=962 fica vazio, enquanto a coluna direita empilha tudo.
O frete só aparece ao clicar, e o frete grátis também. No laboratório, calculá-lo aqui disparava o defeito do campo "Número"; à mão, o defeito apareceu com e sem esse cálculo.
Contraste de 1,23:1 (cinza #E2E8F0 sobre branco). O desconto quase não se vê.
Só no rodapé (y=962), abaixo da dobra. No topo, apenas "Ambiente 100% Seguro".

evidencias/screenshots/20261023-160926_inicio_carrinho_desk1366_inteira.pngMesmo bloco de 154 px de altura que, no 1440, empurra o CTA.
Em y=841, ou seja, 73 px abaixo da dobra de 768 px. Sem o Giftback, o CTA ficaria em y=639–695, dentro da tela.

evidencias/screenshots/20261023-160946_inicio_carrinho_iphone13_inteira.pngFaixa de 341×42 px fixa no rodapé da tela (z-index 10100). Cobre o que estiver ali; o "Calcular" do frete fica embaixo dela.
Os componentes do kit aparecem em linhas cinza e empurram o resumo ~180 px para baixo.
Frete só sob demanda. No mobile, o botão pode ficar sob a barra de ícones.
21% da tela do iPhone 13. Em 4G, segue empurrando o CTA até ~30 s após o clique em "Comprar".
"Cupom de desconto · Adicionar", acima do subtotal.
489 px abaixo da primeira tela (1,7 tela). Não há CTA fixo. O subtotal (y=1053) só aparece junto depois de rolar.
Só no rodapé (y=1259).
| Viewport | Tela | Entrega | Giftback | Cupom | "Escolher mais" | Fechar pedido | Na 1ª tela? |
|---|---|---|---|---|---|---|---|
| 1440×900 | 900 | 236 | 407 | 577 | 815 | 841–897 | sim, a 3 px |
| 1366×768 | 768 | 236 | 407 | 577 | 815 | 841–897 | não |
| iPhone 13 | 664 | 558 | 721 | 903 | 1125 | 1153–1209 | não (1,7 tela) |
| Moto G Power | 823 | 558 | ~721 | 903 | 1125 | 1153–1209 | não |
Validado 100% · 27/10
O ícone é verde, com desenho de carrinho com "+", e ao passar o mouse mostra o rótulo "Novo carrinho". Um clique esvazia o carrinho, sem confirmação. Confirmado à mão em 27/10.
Os demais ícones abrem modais na própria página: código do vendedor; telefone ou e-mail para compartilhar (WhatsApp, SMS, Gmail, e-mail); link do carrinho. Messenger abre nova janela. Nenhum sai do checkout.
Desligar a barra é decisão de negócio: o ícone "código do vendedor" sugere uso por vendedoras ou revendedoras.


Arraste ou use as setas do teclado. Desktop 1440×900, primeira tela. O Giftback renderizou de forma intermitente às 16:08 (ausente) e às 16:09 (presente), o que permitiu as duas capturas.
Validado 100% · 27/10
O Giftback entra cerca de 0,5 s depois do carregamento e empurra o "Fechar pedido" de y=639 para y=841. Sem ele, o botão ficaria dentro da primeira tela em 1440×900 e em 1366×768.
A remoção já estava decidida (R2), mas o bloco seguia no carrinho em 27/10. A comparação antes/depois da remoção depende da data em que ela for publicada (pendência P7).
03 Entrega
O teste manual confirmou o defeito e mostrou que ele é mais amplo do que o laboratório indicava: não depende de calcular o frete no carrinho.
| Situação | Laboratório (23/10) | À mão (27/10) |
|---|---|---|
| Frete calculado no carrinho | Apagou em 4 de 4; não avançou, sem mensagem | apagou |
| Sem calcular o frete no carrinho | Aceitou em 2 de 2 | apagou |
| Digitar de novo depois de apagado | Não testado | aceitou |
checkout6-custom.js da loja foi descartado como causa no laboratório.04 Identificação e formulário
As validações obrigatórias funcionam. O problema é o que o formulário deixa digitar: CEP, CPF e telefone aceitam letras e só avisam depois.
Ao clicar em "Ir para a Entrega" sem preencher.
Teste 20
Aparece ao sair do campo.
Teste 20
Os campos deixam digitar caracteres que não são números e só avisam depois que o valor é inválido. No celular, isso também indica que o teclado numérico não é garantido.
Testes 1, 21 e 22 · R9
O laboratório registrou o celular formatado como "(11) 9876-54321". À mão, o celular de 11 dígitos foi formatado corretamente.
Teste 21
05 Frete
Frete do Kit Fitness (R$ 78,32) por região. No Kit, o frete vai de 11% (SP) a 43% (Manaus) do valor.
Uma única opção de entrega ("Normal") nos 3 CEPs. Barras proporcionais ao percentual sobre o subtotal.
Validado 100% · 27/10
Os três valores se confirmaram à mão, e o frete só aparece depois de clicar em "Calcular".
Frete grátis acima de R$ 300: a barra superior da vitrine e a página do produto anunciam. O carrinho não diz quanto falta e, mesmo com o valor atingido, só mostra o frete grátis depois de "Calcular". A simulação do laboratório coloca o limiar entre R$ 292,76 e R$ 313,28, coerente com os R$ 300 anunciados.
Hipótese A6 Os dados sustentam que o frete pesa num ticket de um kit, sobretudo fora do Sudeste (28–43%), e enfraquecem a ideia de um problema uniforme (11% em SP). O Trio Perfeito provavelmente é o próprio Kit Fitness (ver Revisto e localizado); se confirmado, estes valores valem para ele.
Correção em relação ao relatório (§4.5): o relatório diz que não há texto de "frete grátis" na página do produto. A validação confirmou que a PDP e a barra superior da vitrine exibem "Frete GRÁTIS acima de R$ 300". O que falta é comunicar o limiar no carrinho.
06 Revisto e localizado
Cinco pontos do relatório não se confirmaram no teste manual. Eles saem da lista de problemas ou mudam de peso.
O relatório dizia que o "Comprar" levava direto ao checkout. À mão, dois comportamentos funcionam: um leva à página do produto e outro adiciona o item ao carrinho na barra lateral. Achado descartado.
O celular de 11 dígitos foi formatado corretamente. O problema que ficou é outro: o campo aceita letras.
O bloqueio de zoom apontado pelo axe-core (atributo no código) não foi reproduzido à mão. Sai da lista de problemas visíveis.
Nos campos de quantidade e cupom, o foco aparece como uma borda sombreada discreta. Não é ausência de foco, mas é fraco para quem navega pelo teclado.
Não foi encontrado na home em 27/10. A observação fora de escopo do relatório deixa de valer.
O Kit Fitness recebe uma etiqueta de "kit perfeito" no banner da home. Se for ele, os dados de frete do relatório (A6) já valem para o Trio. Ver produto (sku 675)
Hidratante corporal pele negra 200 g. O fluxo de assinatura ainda não foi testado e entra na próxima rodada. Ver produto (sku 140)
07 Achados prévios do time
É o Social Selling nativo da VTEX. Confirmado à mão: visível sem login, cobre o "Calcular" no celular e o 1º ícone esvazia o carrinho.
Testes 4, 5 e 6
Abaixo da dobra em 1366×768, no limite em 1440×900; no celular, a ~1,7 tela. O Giftback, ainda no ar, contribui.
Testes 7, 8 e 9
No topo, só "Ambiente 100% Seguro". Bandeiras e selos abaixo da dobra.
Teste 11
O Giftback segue no carrinho e pede login. O recálculo sem fim não foi reproduzido nem no laboratório nem à mão; só dá para confirmar com conta logada (aba "Precisa de double check").
Testes 9 e 10
Descartado: à mão, há um "Comprar" que leva à página do produto e outro que adiciona ao carrinho da barra lateral. O tempo até o carrinho em 4G fica na outra aba.
Testes 13 e 14
Frete confirmado no Kit Fitness (11% a 43% do valor), provável Trio Perfeito. Frete grátis escondido até "Calcular".
Testes 15, 16 e 18
Medido por ferramenta (Lighthouse e PageSpeed). Não se valida à mão: ver Performance.
08 Matriz de priorização
Onze recomendações posicionadas por impacto esperado e esforço, como classificadas no backlog e atualizadas com a validação de 27/10. As preenchidas são as de execução imediata.
R3 reclassificado em 27/10: o relatório o classificava como impacto e confiança médios. Com o teste manual confirmando que o 1º ícone esvazia o carrinho sem confirmação, passa a impacto e confiança altos. Continua condicional à decisão sobre o uso da barra por vendedoras.
Impacto e esforço vêm do backlog do relatório (A = alto, M = médio, B = baixo); só o R3 foi reclassificado após a validação. Faixas como "B/M" ficam entre os dois níveis. Recomendações com a mesma classificação aparecem lado a lado.
O agrupamento do relatório considera também confiança e dependências: ganhos rápidos são R2, R1, R6 e R8.
11 de 11 recomendações
| ID | Recomendação | Problema que resolve | Etapa | Disp. | Impacto | Esforço | Confiança | Responsável | Quando |
|---|---|---|---|---|---|---|---|---|---|
| R1 | atualizado 27/10 Diagnosticar e corrigir o campo "Número" que apaga a digitação (com ou sem frete calculado no carrinho); abrir chamado VTEX se for da plataforma (omnishipping/address-form). Paliativo: o número é aceito na segunda digitação; orientar via mensagem até a correção | Checkout trava sem aviso | checkout → compra | ambos | A | M | A reproduzido à mão em 27/10 | Agência/dev VTEX (+ VTEX) | sim, é correção de defeito, prioridade máxima |
| R2 | Remover o Giftback do carrinho como decidido, garantindo: app não carregado, sem espaço reservado, sem instância duplicada no resumo das etapas seguintes | CTA deslocado 202 px; CLS; peso | carrinho → checkout | ambos | A | B | A | Decisão já tomada; execução: agência/dev VTEX ou fornecedor do app (raavi.crm-bonus-checkout é app da conta Raavi) | sim |
| R3 | atualizado 27/10 Desligar ou esconder o Social Selling no checkout (no mínimo o ícone que esvazia o carrinho e a versão mobile) | 1º ícone esvazia o carrinho sem confirmação; sobreposição no mobile; ícones sem foco ou rótulo | carrinho → checkout | ambos | A | B | A confirmado à mão | Decisão de negócio (uso por vendedoras?) → admin VTEX ou agência (CSS) | sim, se o time confirmar que não usa |
| R4 | Mobile: barra fixa inferior com total + "Fechar pedido"; desktop: CTA logo abaixo do subtotal, acima do cupom (ou cupom recolhido) | CTA a 1,7 tela no mobile; fora da dobra em 1366×768 | carrinho → checkout | ambos | A | M | M | Agência/dev VTEX (checkout-custom CSS/JS) | arriscado durante a campanha; fazer só se testado em homologação. Senão, depois |
| R5 | Corrigir o tracking: view_cart, add_to_cart com itens/valor, remover \r da moeda, padronizar value sem frete no begin_checkout, revisar gatilhos de purchase | Funil do GA4 não confiável | medição | ambos | M decisão | B/M | A | Responsável GTM/GA4 | sim (GTM é reversível por versão); validar no Preview |
| R6 | Apontar logo, "Escolher mais produtos" e links de produto do checkout direto para www (hoje passam por secure…/ e redirecionam por JS, com até 12,7 s no link do produto) | Salto extra e lento ao sair do carrinho | carrinho → checkout | ambos | B | B | M | Agência/dev VTEX (links/host do checkout) | sim |
| R7 | Comunicar no carrinho o limiar de frete grátis ("faltam R$ X para frete grátis") e mostrar o frete estimado sem exigir clique | Frete aparece tarde; limiar invisível | carrinho → checkout | ambos | M | M | B efeito não medido | Decisão de negócio (texto e valor) → agência | após o EB, ou antes como teste A/B |
| R8 | atualizado 27/10 Corrigir contraste do preço riscado (1,23:1) e do texto do CTA (3,37:1); aumentar o "remover" para ≥24×24; liberar zoom ( meta viewport; bloqueio não reproduzido à mão) | Acessibilidade e legibilidade do desconto | carrinho | ambos | B/M | B | A | Agência/dev VTEX (CSS) | sim, CSS isolado |
| R9 | atualizado 27/10 Formulário: aceitar só números em CEP, CPF e telefone; autocomplete correto (family-name, tel-national, postal-code), inputmode=numeric no CEP, erros com aria-live/aria-describedby. A máscara de celular já está correta | Campos aceitam letras; preenchimento mais lento no mobile; erros não anunciados | checkout → compra | mobile | M | B/M | M | Agência/dev VTEX (alguns atributos dependem da VTEX, verificar) | sim para atributos; o resto depois |
| R10 | Reduzir JS do carrinho: carregar Google Pay e Braspag 3DS só no pagamento (ou desinstalar se não usados), remover tags com 404 (DataLive) e o pixel de staging | Peso de 5,6 MB / TBT | carrinho → checkout | mobile | M | M/A | M | Admin VTEX (apps) + responsável GTM + agência | não, estrutural; depois do EB |
| R11 | Rever o texto "O vale compras é adicionado na página de pagamento" e o destaque do cupom no carrinho (ex.: cupom recolhido em "Tenho um cupom") | Distração e possível saída para buscar cupom | carrinho → checkout | ambos | B/M | B | B | Decisão de negócio (texto) → admin/agência | teste A/B após o EB |
Impacto A/M/B · Esforço B/M/A · Confiança A/M/B, conforme a seção 9 do relatório; linhas com o selo "atualizado 27/10" foram ajustadas pela validação manual. A coluna "Quando" reproduz a classificação "antes do Esquenta Black" do relatório, que passa a valer como ordem de execução.
09 Ordem de execução
O Esquenta Black começou na semana de 26/10. A lista "antes do Esquenta Black" do relatório vira a fila do que fazer agora: corrigir defeitos, executar o que já está decidido e o que é reversível.
wwwAba "Precisa de double check". Tudo aqui foi checado em 23/10 por ferramentas automatizadas (navegador controlado por script, Lighthouse, axe-core e leitura do código do GTM). Os números valem para as condições do teste, mas precisam ser confirmados nas plataformas antes de virar decisão.
10 Como ler esta aba
Sem acesso ao GA4 e às demais plataformas, estes pontos não puderam ser confirmados à mão. Cada um indica onde fazer o double check.
Propriedade G-72YGF9BMNK, semanas de 16–22/10 e 09–15/10.
Contêiner GTM-5JD27GXC, em modo leitura ou Preview.
view_cart não enviadoadd_to_cart sem valor e sem itens"BRL\r" e a origem do \rChave de API Google ou consulta manual em pagespeed.web.dev.
www e secure11 O funil
Segundo o deck, de cada 10 pessoas que iniciam o checkout, menos de 1 compra. A validação dos eventos mostrou que esses números precisam ser lidos com ressalvas.
| Etapa | Volume | Taxa de passagem |
|---|---|---|
| Carrinhos | 277 | — |
| Checkouts iniciados | 63 | 22,7% |
| Compras | 6 | 9,5% |
Hipótese "Carrinho" = add_to_cart (clique em "Comprar") e "checkout" = begin_checkout, que só dispara ao chegar no #/email. Então carrinho → checkout mede o clique em "Fechar pedido", e checkout → compra inclui o trecho afetado pelo defeito do campo "Número".
view_cart nunca chega ao GA4 (0 disparos).add_to_cart vai sem currency, value e items.begin_checkout: 78,32 sem frete, 100,37 com frete calculado.Depende dos exports do GA4 (pendência P2). Se vierem da G-72YGF9BMNK, a etapa view_cart estará zerada por falha de tracking, e não por falta de visitas.
12 Performance
Nota mediana de Performance no celular (Lighthouse): home 49, PDPs 60–65, carrinho 13 e identificação 9. O peso vem sobretudo da plataforma VTEX e dos apps do checkout, seguidos do GTM.
Home, celular · Avaliação Core Web Vitals: Reprovado
Campo| Métrica | Celular | Desktop | Limite "bom" |
|---|---|---|---|
| LCP | 2,0 s | 1,3 s | ≤ 2,5 s |
| INP | 262 ms | 151 ms | ≤ 200 ms |
| CLS | 0 | 0 | ≤ 0,1 |
| FCP | 1,8 s | 1,2 s | ≤ 1,8 s |
| TTFB | 0,5 s | 0,3 s | ≤ 0,8 s |
Fonte: relatório público do PageSpeed gerado pelo Juliano em 23/10/2026 às 14:27, só para a home (dados/12-psi-juliano_20261023-164700.json). Faixas "bom / ruim": web.dev/articles/vitals e web.dev/articles/ttfb (referência externa, não é dado da Raavi).
Dado não disponível Campo do carrinho e do checkout: não verificado (exige chave de API, pendência P3).
Barra = mediana · traço = mínimo a máximo
Mediana; escala até 35 s
| Página | Performance | LCP | TBT | CLS | Peso | Req. |
|---|---|---|---|---|---|---|
| Home | 49 [44–63] | 4,6 s [2,7–5,3] | 1.133 ms [1.018–1.615] | 0,001 | 3,2 MB | 125 |
| PDP Kit Fitness | 65 [57–68] | 3,3 s [3,1–3,9] | 1.334 ms [1.172–1.722] | 0,001 | 2,9 MB | 130 |
| PDP Kit Iluminação Dia | 60 [40–65] | 3,9 s [3,3–9,3] | 1.374 ms [1.203–1.618] | 0,001 | 2,8 MB | 136 |
| Carrinho (1 item) | 13 [10–18] | 28,7 s [23,6–34,4] | 3.693 ms [3.474–4.075] | 0,29 [0,21–0,34] | 6,6 MB | 314 |
| Identificação (#/email) | 9 [9–10] | 32,9 s [29,1–34,0] | 3.810 ms [3.220–4.261] | 0,40 | 6,6 MB | 306 |
| Perfil, Entrega, Pagamento | Não medido exigem dados preenchidos na mesma sessão | |||||
322 requisições · 5.602 KB transferidos (iPhone 13)
dados/11-terceiros_20261023-160946_inicio_carrinho_iphone13.json
Tempo de main thread por origem, média de 5 execuções
GTM: ≈830 ms de bloqueio. Avaliação de script ≈ 7,8 s; JS não usado ≈ 3,1 MB. dados/17-lh-detalhes_mobile_carrinho.json
| O quê | Carregado por | Req. | KB | Observação |
|---|---|---|---|---|
| Plataforma VTEX (checkout-ui e apps IO) | VTEX (apps instalados) | 178 | 3.658 | Maior bloco. Parte é instalável/desinstalável no admin |
| Google Pay | App vtex.google-pay@1.2.12 | 15 | 999 | Carrega já no carrinho, antes do pagamento |
| GA4 / gtag (3 propriedades) | GTM + RetailHub | 7 | 215 | — |
| Checkout VTEX (mesmo domínio) | VTEX | 31 | 196 | — |
| RetailHub (eventos) | storefront | 11 | 183 | Possivelmente residual da PDP |
| Bibliotecas em CDN público | a confirmar | 6 | 171 | meta-capi-param-builder via unpkg |
| Arquivos custom do checkout | agência/dev VTEX | 16 | 73 | — |
| Social Selling | admin VTEX (recurso nativo) | 7 | 50 | Mediana de 824 ms de main thread |
| Giftback (crm-bonus) | app VTEX IO da Raavi | 5 | 17 | — |
| TikTok, DataLive, Meta, Google Ads | GTM | 31 | ~12 | DataLive com 404 recorrentes; pixel de staging em produção |
O custo do checkout é JavaScript. A maior parte vem da plataforma VTEX e dos apps instalados, não do código da Raavi; o GTM é o segundo maior bloqueador. O CLS de 0,29–0,40 é consistente com o deslocamento causado pelo Giftback.
Na vitrine, a imagem LCP já está otimizada (fetchpriority="high", webp, srcset): o gargalo é a disputa com scripts.
O INP de campo ruim (262 ms na home) é coerente com o TBT alto em laboratório e com o peso das tags. O mesmo padrão provavelmente afeta a interação no carrinho; não há dado de campo do carrinho.
| Marco (desde o clique) | Moto G Power | Desktop 1440 |
|---|---|---|
| URL muda para o checkout | 1,9 s [1,4–3,3] | 1,5 s [1,2–1,9] |
| "Fechar pedido" visível | 12,7 s [11,8–14,1] | 10,9 s [10,6–11,3] |
Evento load do checkout | 32,4 s [31,0–33,1] | 30,4 s [30,0–30,7] |
| Rede ociosa | 35,5 s [34,2–36,5] | 33,5 s [33,2–33,9] |
A URL troca em menos de 2 s; o resto do tempo é o carregamento do checkout. O Giftback segue deslocando o CTA até cerca de 30 s após o clique no iPhone em 4G. Não mensurável à mão (teste 14): confirmar com dados de campo.
13 GA4 e GTM
Quatro dos eventos de e-commerce têm falhas. A principal: view_cart nunca chega ao GA4, por um problema de ordem numa tag do GTM.
| Evento | Dispara? | Etapa | Vezes | Dados corretos? | Problema |
|---|---|---|---|---|---|
view_item | sim | PDP | 1 | BRL · 78,32 · 1 item | — |
add_to_cart | sim | clique "Comprar" | 1 | sem moeda, valor e itens | Tag no evento legado addToCart com envio de e-commerce desligado |
view_cart | não | carrinho | 0 | — | dataLayer tem view_cart, mas a tag espera view_cart_enriched |
begin_checkout | sim | ao chegar no #/email | 1 | 78,32 sem frete / 100,37 com frete | value inclui frete quando já calculado |
email_step, profile_step, shipping_step, payment_step | sim | cada hash | 1 cada | — | Eventos customizados; não há page_view por hash |
add_shipping_info | sim | ao entrar no #/payment | 1 | moeda "BRL\r" | Caractere de controle na moeda: o GA4 pode rejeitar ou não converter o valor |
add_payment_info | não observado | parado antes de escolher meio | — | — | Configurado em add_payment_info_enriched |
purchase | não disparado | nenhuma compra feita | — | — | Hipótese tag dispara em 3 eventos; pode contar a compra em dobro |
view_cart se perdeA tag HTML #38 cria os eventos *_enriched interceptando o dataLayer.push, mas ela é disparada pelos próprios eventos que deveria enriquecer. Na carga do carrinho, o view_cart chega antes da interceptação existir e nunca vira view_cart_enriched.
Dá para adiantar sem acesso: no DevTools (aba Rede, filtro collect), conferir se o add_to_cart sai sem valor, se o carrinho não envia view_cart e se o add_shipping_info sai com BRL\r. Esses três testes opcionais (26 a 28) não foram feitos em 27/10.
Dado não disponível Onde está a queda, por dispositivo: não concluído. Depende dos exports do GA4 (pendência P2).
14 Acessibilidade (medição automática)
O preço riscado (1,23:1) e o "×" de remover (20×20 px) já foram confirmados à mão e estão na aba "Validado 100%". O resto foi medido por ferramenta: 13 de 15 alvos de toque do carrinho mobile ficam abaixo de 44×44 px.
Falha grave Validado 27/10
Falha
Falha
Barras na escala 1:1 a 21:1; o traço marca o mínimo de 4,5:1. Preço "por", totais, links, texto do Giftback e descrição de entrega passam (5,3–15,2:1).
Navegação por teclado no carrinho (desktop). O laboratório registrou foco invisível em 2 de 14 paradas. À mão (teste 24), essas duas mostram uma borda sombreada sutil: o foco existe, mas é fraco. Sem armadilhas de foco; os 8 ícones Social Selling não recebem foco.
Contornos tracejados: mínimos de 24×24 (WCAG 2.2, 2.5.8), 44×44 (Apple) e 48×48 (Material).
| Alvo | Tamanho | 24×24 | 44×44 |
|---|---|---|---|
| Remover item (×) 27/10 | 20×20 | falha | falha |
| Link "Homepage" (logo) | 70×23 | falha (altura) | falha |
| Nome do produto | 208×14 | falha* | falha |
| "Escolher mais produtos" | 360×18 | falha* | falha |
| "Visitar RetailHub" | 88×16 | falha* | falha |
| Ícones Social Selling | 42×42 | passa | falha |
| Fechar pedido | 360×56 | passa | passa |
* A 2.5.8 tem exceções para links em texto e alvos bem espaçados; verificação manual pendente.
| Página | Críticas | Sérias |
|---|---|---|
| Carrinho (desktop) | button-name (fechar mensagens), image-alt (3), label (quantidade), meta-viewport (zoom bloqueado no código; não reproduzido à mão) | color-contrast (2: preço riscado, Fechar pedido) |
button-name, image-alt, meta-viewport | autocomplete-valid, color-contrast | |
| Perfil (com erros) | button-name, image-alt, meta-viewport | autocomplete-valid (last-name), color-contrast (10) |
Leitor de tela: rótulos presentes, exceto no campo de quantidade; mensagens de erro não são anunciadas (sem role=alert, aria-live ou aria-describedby). Arquivos em evidencias/axe/.
15 Hipóteses a testar
Estas afirmações não são conclusões: cada uma tem um jeito de ser testada nas plataformas de dados.
O defeito já foi confirmado à mão em 27/10. Falta medir o impacto. Como testar: no GA4, comparar sessões com shipping_step sem add_shipping_info, por dispositivo, antes e depois da correção.
Como testar: A/B 50/50 no mobile com métrica begin_checkout / view_cart, o que exige o R5 pronto.
Como testar: A/B com mensagem de limiar; métricas begin_checkout e ticket médio.
Como testar: A/B com cupom recolhido; métricas: saídas do checkout e begin_checkout.
Como testar: analisar payment_type dos pedidos e erros de pagamento; A/B com crédito como padrão.
O Trio provavelmente é o Kit Fitness, já simulado nos 3 CEPs. Como testar: confirmar o produto e cruzar com o GA4 por região.
Não reproduzido no laboratório (3 condições) nem à mão (teste 10). Como testar: com conta de teste logada (P6).
Medido em 4G emulado; não mensurável à mão (teste 14). Como testar: dados de campo (CrUX) da origem secure.
Como testar: exploração no GA4 de transações com transaction_id repetido.
16 Método e limitações
Laboratório em 23/10 (navegador automatizado em 4 dispositivos, dados 100% fictícios) e validação manual em 27/10. Em nenhum dos dois houve compra: os testes param sempre antes do pagamento.
checkout-ui v6.154.2) em secure.raavidermocosmeticos.com.br, com apps VTEX IO injetados (omnishipping, address-form, social-selling, google-pay, pix, braspag-3ds, crm-bonus).| # | Pendência | Situação |
|---|---|---|
| P1 | Validar manualmente o campo "Número" | Feito defeito confirmado, também sem frete |
| P2 | Exports do GA4 (16–22/10 e 09–15/10) | Aguardando sem acesso ao GA4 |
| P3 | Chave de API Google (PSI + CrUX) | Aguardando ou consulta manual no pagespeed.web.dev |
| P4 | URL/SKU do Trio Perfeito e 3ª PDP | Parcial provavelmente o Kit Fitness |
| P5 | SKU com "Adicionar Assinatura" | Localizado sku 140; fluxo a testar |
| P6 | Conta de teste (opcional) | Aguardando |
| P7 | Data-hora da remoção do Giftback | Aguardando Giftback ainda no ar em 27/10 |
| P8 | Concorrentes do benchmark | Confirmado Sallve, Principia e Creamy; benchmark a fazer |
17 Fora de escopo e anexos
Registradas em uma linha, sem recomendação.
pixel.staging.datalivemarketing.com.br em produção.@depilbellaoficial.Concorrentes confirmados em 27/10: Sallve, Principia e Creamy. O benchmark entra na próxima rodada.
Validação manual (27/10): html/pontos-a-validar.docx, respostas aos testes 1 a 25.
Cópias otimizadas em html/assets/evidencias/; originais em evidencias/ (somente leitura).
screenshots/20261023-160906_inicio_carrinho_desk1440_{dobra,inteira}.pngscreenshots/20261023-160926_inicio_carrinho_desk1366_inteira.pngscreenshots/20261023-160946_inicio_carrinho_iphone13_inteira.pngscreenshots/20261023-160804_sonda_pos-comprar_desk1440.pngscreenshots/20261023-162943_numero-diag_desk1440_com-frete-carrinho_r1_apos-ir-pagamento.pngscreenshots/20261023-163331_numero-diag_desk1440_sem-frete-carrinho_r1_apos-ir-pagamento.pngscreenshots/20261023-171351_saida_sb-b-erasecart_desk1440.pnglighthouse/20261023-164700_psi-juliano_mobile.png (recorte do topo)Dados brutos em dados/; scripts reexecutáveis em scripts/ (lista e exemplos na seção 14 do relatorio.md).