Você configurou um seletor de data de entrega, testou e ele funciona. Aí chega um pedido de sábado sem data de entrega. O cliente clicou em Comprar agora (Buy it now), ou pagou com Apple Pay direto da página do produto, e nunca viu o seu calendário.
Essa é a reclamação mais comum sobre apps de data de entrega no Shopify, e o conselho de sempre é "esconda o botão". Ajuda, mas não é a solução inteira. Veja o que realmente acontece, o que o Shopify ainda verifica e as configurações que barram pedidos sem data em qualquer plano.
A resposta curta
O Comprar agora e os botões expressos da página do produto pulam o carrinho, então um seletor de data no carrinho nunca roda, e uma data escolhida na página do produto muitas vezes não vai junto. A validação de checkout do Shopify ainda roda em todo checkout, inclusive os expressos, em todos os planos. Então a solução é uma regra de checkout que exige uma data válida, mais desligar os botões que pulam o seu seletor.
Por que a data some
São três botões diferentes, e eles pulam coisas diferentes:
| Botão | Onde | O que pula |
|---|---|---|
| Comprar agora (sem marca) | Página do produto | O carrinho |
| Shop Pay / Apple Pay / Google Pay | Página do produto | O carrinho |
| Botões expressos | Página do carrinho | Nada antes deles, mas veja abaixo |
A central de ajuda do Shopify diz isso com clareza: quando o cliente clica em um botão sem marca, "eles pulam o carrinho". Qualquer seletor de data que viva na página do carrinho nunca roda.
Um seletor na página do produto tem outro problema. Muitos apps de data, o OrderRules inclusive, salvam a data quando o cliente clica em Adicionar ao carrinho. O Comprar agora não clica em Adicionar ao carrinho, então a data nunca é salva. O Shopify também observa que os botões de checkout acelerado não aceitam atributos do carrinho, e é aí que muitos apps guardam a data.
No plano padrão, não há como mostrar um seletor de data dentro do checkout. Isso é uma extensão de interface do checkout nas etapas de informações, envio ou pagamento, que só existe no Shopify Plus. Mesmo no Plus, a equipe do Shopify já disse que Apple Pay e Google Pay não permitem gravar atributos a partir de uma extensão de interface do checkout.
Então a data não pode ser coletada no caminho expresso. O que dá para fazer é recusar o pedido até o cliente voltar e escolher uma.
O que ainda é verificado: a regra de checkout
O Shopify tem um mecanismo separado que não liga para qual botão foi apertado: as Functions de validação de carrinho e checkout. Um app instala uma pequena regra que o Shopify roda no servidor durante o checkout. A documentação do Shopify diz que isso "inclui checkouts expressos, como Shop Pay, PayPal, Google Pay e Apple Pay".
Dois detalhes importam para lojas fora do Plus:
- Roda em todos os planos. O Shopify permite que qualquer loja use apps públicos da App Store que contenham Functions. Só apps personalizados com Functions exigem o Plus.
- Roda no servidor. O comprador não consegue pular a regra usando outro botão, e ela confere a data de novo na hora do pagamento, em vez de confiar no que a página do carrinho disse antes.
O OrderRules usa uma Function de validação para conferir a data de entrega em todo checkout. Com Exigir uma data de entrega no checkout (Require a delivery date at checkout) ligado, ele bloqueia um pedido que tenha:
- nenhuma data de entrega
- uma data fechada ou bloqueada
- uma data anterior à mais cedo permitida (prazo e horário limite)
- uma data ou faixa de horário que já está lotada
O que vimos no teste
Em uma loja de desenvolvimento com o OrderRules, escolhemos 30 de outubro na página do produto de um bolo, selecionamos uma faixa de horário e clicamos em Buy it now. O checkout abriu sem a data e mostrou:
Please choose a delivery date before checking out.
O cliente não consegue pagar até voltar, escolher uma data e finalizar pelo carrinho. É a rede de segurança funcionando. Mas não é uma ótima experiência, então o próximo passo é impedir que os clientes cheguem a ela.
As três configurações que barram pedidos sem data
1. Exigir uma data de entrega no checkout
No OrderRules, abra Datas de entrega (Delivery Dates) e marque Exigir uma data de entrega no checkout na regra dos seus produtos com data. Depois confira se a regra de checkout está ligada no Shopify: Configurações → Checkout → Regras de checkout (Settings → Checkout → Checkout rules). Sem a regra, nada é verificado no checkout.
Essa é a configuração que faz a data valer. Todo o resto melhora a experiência.
2. Desligar os botões de checkout dinâmico nos produtos com data
No editor do tema, abra o modelo de produto e encontre o bloco de botões de compra. A maioria dos temas tem a caixa Show dynamic checkout buttons (mostrar botões de checkout dinâmico). Desmarque. Os clientes passam a usar o Adicionar ao carrinho, e a data escolhida na página do produto vai junto com o item.
Se só alguns produtos precisam de data, use um modelo de produto separado para eles, com os botões desligados, e mantenha o Comprar agora em todo o resto.
3. Testar a página do carrinho também
Os botões expressos também podem aparecer na página do carrinho e no topo do checkout. Se a sua data fica no carrinho (o OrderRules pode coletar uma data para o pedido inteiro ali), teste um checkout com Apple Pay ou Shop Pay a partir do carrinho em um aparelho de verdade. Se a data não chegar, a regra de checkout barra o pedido com a mesma mensagem, e você saberá que precisa tirar esses botões do carrinho também.
Plus ou não: o que muda
| Planos padrão do Shopify | Shopify Plus | |
|---|---|---|
| Seletor de data nas páginas de produto e carrinho | Sim | Sim |
| Seletor de data dentro do checkout | Não | Sim (guia do OrderRules) |
| A regra de checkout bloqueia data ausente ou lotada | Sim | Sim |
| A regra cobre Shop Pay, Apple Pay, Google Pay | Sim | Sim |
| O cliente corrige a data sem sair do checkout | Não, volta para a loja | Sim, com o seletor no checkout, exceto Apple Pay e Google Pay |
No Plus, o seletor no checkout permite que a maioria dos clientes corrija uma data ausente na hora. Em todos os planos, a regra é o que barra o pedido.
O que o OrderRules não faz
- Esconder o Comprar agora por você. É uma configuração do tema, então você a desliga no editor do tema.
- Coletar uma data no caminho expresso. Nenhum app consegue gravar em um checkout de Apple Pay ou Google Pay hoje. A regra recusa o pedido.
- Reservar o último lugar. A capacidade é atualizada quando cada pedido chega, então dois clientes que finalizam a compra pelo último lugar no mesmo instante podem passar os dois.
Checklist
- Exigir uma data de entrega no checkout está ligado nos seus produtos com data
- A regra do OrderRules está ligada em Configurações → Checkout → Regras de checkout
- Show dynamic checkout buttons está desligado nos modelos de produto com data
- Testado: página do produto → o Comprar agora é bloqueado ou não tem botão
- Testado: página do carrinho → Apple Pay ou Shop Pay mantém a data ou é bloqueado
- Testado: uma data lotada mostra
Delivery on {date} is fully booked. Please choose another date.
Relacionados: 10 perguntas que uma padaria fez antes de escolher um app de data de entrega · onde colocar o seletor de data de entrega · melhores apps de data de entrega comparados