Configurou os cross-sells do WooCommerce (as «vendas cruzadas») nos seus produtos e não aparecem em lado nenhum. Quase nunca é um erro: o WooCommerce mostra-os num único sítio e só quando se cumprem várias condições. Para escrever este guia, revimos o código do WooCommerce 10.8 e testámo-lo numa loja de testes, com o carrinho e o checkout de blocos e com os clássicos.
Primeiro vai ver onde deviam aparecer, depois as oito causas habituais com a respetiva solução e, por fim, como levar essas mesmas vendas cruzadas ao checkout, que é onde o WooCommerce nunca as mostra.
Onde o WooCommerce mostra as vendas cruzadas
As vendas cruzadas configuram-se em cada produto: na caixa «Dados do produto», separador «Produtos relacionados», campo «Vendas cruzadas». O que puser aí é sugerido quando esse produto está no carrinho.
E só são mostradas na página do carrinho:
- Carrinho clássico (o do shortcode
): por baixo da tabela de produtos, com o título «Você pode estar interessado em…». Mostra duas, escolhidas ao acaso entre todas as que se aplicam. - Carrinho de blocos (o predefinido nas lojas novas desde o WooCommerce 8.3): por baixo dos produtos, numa secção «Pode estar interessado em…» com até três.
Não aparecem na página do produto (aí vão os upsells, que no painel em português se chamam «Aumenta vendas»), nem no mini carrinho, nem no checkout. Também não confunda as vendas cruzadas com os produtos relacionados que aparecem por baixo da página do produto: esses são escolhidos pelo próprio WooCommerce, por categoria e etiquetas (e, para ajudar à confusão, o separador onde configura as vendas cruzadas também se chama «Produtos relacionados»). Se tiver dúvidas sobre o que é cada coisa, explicamo-lo em order bump, upsell e cross-sell.
8 causas pelas quais não aparecem
1. Está a procurá-las onde o WooCommerce não as põe
É a mais comum. Se espera vê-las na página do produto, na gaveta do mini carrinho ou na página de pagamento, não vão lá estar. Junte ao carrinho um produto que tenha vendas cruzadas e abra a página do carrinho.
2. Estão no produto errado
As vendas cruzadas põem-se no produto que o cliente coloca no carrinho, não no que quer sugerir. Se quer que, ao comprar uma câmara, seja sugerido um cartão de memória, o cartão vai no campo «Vendas cruzadas» da câmara.
Confirme também o campo: «Aumenta vendas» e «Vendas cruzadas» estão um por cima do outro, e é fácil preencher o errado.
3. O produto sugerido já está no carrinho
O WooCommerce retira das sugestões tudo o que já está no carrinho, incluindo as variações. Se testar com um carrinho que já tem o cartão de memória, não o vai sugerir. Comprovámo-lo: com dois produtos no carrinho que se sugerem um ao outro, nenhum aparece como venda cruzada.
4. O produto sugerido não está visível
Só se sugerem produtos visíveis na loja. Ficam de fora os que:
- Estão em rascunho, pendentes ou privados.
- Têm a «Visibilidade do catálogo» em «Escondido» (na caixa «Publicar» do produto). Testámo-lo: ao esconder um dos três produtos sugeridos, o carrinho passou a mostrar só os outros dois.
- Têm a visibilidade em «Resultados de pesquisa apenas».
- Estão esgotados e marcou a opção «Ocultar itens esgotados no catálogo», em WooCommerce → Configurações → Produtos → Inventário.
5. A sua página de carrinho não tem onde as mostrar
No carrinho de blocos, as vendas cruzadas são mais um bloco dentro da página. Se alguém o apagou, não aparecem. Abra Páginas → Carrinho no editor e procure, por baixo dos produtos do carrinho, um bloco «Colecção de produtos» com a coleção «Vendas cruzadas» (em lojas mais antigas chama-se «Vendas cruzadas no carrinho»). Se não estiver lá, acrescente-o.
Se o seu carrinho foi feito com um construtor de páginas (Elementor, Bricks, Divi…), o modelo do carrinho tem de incluir o elemento de vendas cruzadas desse construtor. Se não o tiver, o WooCommerce não tem onde as mostrar.
6. Um tema, um plugin ou um excerto de código removeu-as
No carrinho clássico, o WooCommerce mostra-as ligando a função woocommerce_cross_sell_display ao gancho woocommerce_cart_collaterals. Muitos temas removem-na ou mudam-na de sítio, e é um excerto muito repetido em tutoriais para «limpar» o carrinho. Procure no functions.php do seu tema filho e no seu plugin de excertos de código qualquer linha com woocommerce_cross_sell_display ou com o filtro woocommerce_cart_crosssell_ids.
Se não encontrar nada, experimente numa cópia do site (nunca na loja em produção) ativar um tema predefinido como o Storefront ou o Twenty Twenty-Five. Se com ele aparecerem, o culpado é o seu tema.
7. Os seus clientes não passam pelo carrinho
Se a maioria dos seus clientes vai diretamente para o pagamento (com o botão «Finalizar compra» do mini carrinho, com um botão «Comprar agora» ou porque a loja redireciona para o checkout depois de juntar um produto), as vendas cruzadas podem estar bem configuradas e mesmo assim quase ninguém as vê. Aqui não há nada a corrigir na configuração: o problema é o sítio. Tratamos disso na última secção.
8. Aparecem menos do que esperava
Se pôs seis vendas cruzadas e só vê duas, não é um erro: o carrinho clássico mostra duas ao acaso e o de blocos, três. Se quiser mais, continue a ler.
Como mostrar mais de duas
No carrinho clássico, com dois filtros do WooCommerce. Acrescente isto com um plugin de excertos de código ou no functions.php do seu tema filho:
// Mostra até 4 vendas cruzadas no carrinho clássico, em 4 colunas.
add_filter( 'woocommerce_cross_sells_total', function () { return 4; } );
add_filter( 'woocommerce_cross_sells_columns', function () { return 4; } );
Por predefinição, a ordem é aleatória. Se preferir outra, o filtro woocommerce_cross_sells_orderby aceita, por exemplo, price ou menu_order.
No carrinho de blocos não é preciso código: abra a página do carrinho no editor, selecione o bloco de vendas cruzadas e altere o número de produtos e de colunas no painel de definições.
Porque não aparecem no checkout (e como levá-las até lá)
Mesmo com tudo bem configurado, não vai ver vendas cruzadas na página de pagamento. Não é um esquecimento: a função que as mostra no carrinho clássico termina logo que deteta que está no checkout, e o checkout de blocos não inclui nenhum bloco de vendas cruzadas. No nosso teste, o mesmo carrinho que mostrava três sugestões não mostrou nenhuma ao passar para o checkout, nem no de blocos nem no clássico.
Forçá-las com código também não é boa ideia. As vendas cruzadas foram pensadas para o carrinho: o botão «Adicionar» não está preparado para atualizar o total do checkout sem recarregar a página, e um recarregamento na página de pagamento pode apagar a morada e os dados que o cliente já tinha preenchido.
O que funciona no checkout é um order bump: uma oferta que o cliente junta à encomenda ao marcar uma caixa e que atualiza o total sem mexer no formulário. É a forma de mostrar os seus complementos também aos clientes que saltam o carrinho (causa 7), e no momento em que já decidiram comprar. Explicamo-lo em o que é um order bump e como usá-lo no WooCommerce.
Leve as suas vendas cruzadas ao checkout
Com o EHERO Woo Checkout Offers (é nosso) escolhe os produtos que quer oferecer no checkout, dá-lhes um preço especial e mostra-os só quando o carrinho tem determinados produtos ou categorias, tal como uma venda cruzada, mas no momento do pagamento. Sem recarregar a página, no checkout clássico e no de blocos, e também no carrinho e no mini carrinho. Uma licença por domínio, 79,99 € por ano.
Perguntas frequentes
Qual é a diferença entre vendas cruzadas e upsells no WooCommerce?
Os upsells («Aumenta vendas» no painel) oferecem uma alternativa melhor e aparecem na página do produto. As vendas cruzadas (cross-sells) sugerem complementos e aparecem no carrinho.
Porque é que só me aparecem duas vendas cruzadas?
Porque o carrinho clássico mostra duas ao acaso. Pode aumentar o número com o filtro woocommerce_cross_sells_total. No carrinho de blocos aparecem até três, e isso muda-se no editor.
Posso mostrar as vendas cruzadas na página do produto?
Nos temas de blocos, sim: o bloco «Colecção de produtos» tem uma coleção de vendas cruzadas que pode colocar no modelo de produto do editor do site. Nos temas clássicos, é preciso código ou um plugin.
As vendas cruzadas aparecem no mini carrinho?
Não. Nem no mini carrinho clássico nem no de blocos.
Posso pôr as vendas cruzadas com desconto?
Não de origem: mostram-se ao preço normal, ou ao preço promocional se o produto o tiver. Para um preço que só exista ao comprá-lo juntamente com outro produto, precisa de um plugin, como um de order bump.
A cache afeta as vendas cruzadas?
Não devia: a página do carrinho não fica em cache, porque muda para cada cliente. Se o seu plugin de cache a está a guardar, tem problemas mais graves do que as vendas cruzadas, por isso exclua-a.
Conclusão
Se os seus cross-sells do WooCommerce não aparecem, reveja por esta ordem: se os está a procurar no carrinho, se estão no produto que vai para o carrinho, se o produto sugerido não está já no carrinho e está visível, se a sua página de carrinho tem onde os mostrar e se nenhum tema ou excerto os removeu. E se os seus clientes vão diretamente para o pagamento, não se prenda ao carrinho: leve essas mesmas sugestões ao checkout com um order bump.
Guias relacionados
- O que é um order bump e como usá-lo no WooCommerce: exemplos, regras e o que medir.
- Order bump, upsell e cross-sell: o que é cada técnica e quando usá-la.
- EHERO Woo Checkout Offers: o order bump para WooCommerce com preço especial, limite de unidades e estatísticas.



