Os 5 commits sem glamour que fiz antes de ligar o tráfego pago
Por que arrumar a casa antes
Tráfego orgânico perdoa muita coisa. Se a página carrega devagar ou se a métrica está errada, você perde uma visita que não custou nada.
Tráfego pago não perdoa. Cada clique tem preço, e o algoritmo do anúncio aprende com a conversão que você manda para ele. Se você mede errado, ele otimiza para o erro.
Então, antes de ligar o Google Ads no Estoque Simples, fiz cinco commits que ninguém vai ver. Cada um veio com teste.
1. Um domínio só, com 301
A hospedagem entrega um domínio técnico além do domínio da marca. Os dois respondiam a mesma página. Para o Google, isso são duas cópias do site. Para o usuário, é um link compartilhado com o endereço errado.
A correção é um middleware que, em produção, redireciona qualquer host diferente do configurado para o domínio oficial com 301, preservando o caminho e a query string.
O detalhe que importa está nas exceções: webhooks e health check ficam de fora. Eles são chamados por máquinas, e a maioria dos clientes HTTP não repete um POST depois de um redirecionamento. Redirecionar o webhook do gateway de pagamento quebraria a confirmação das assinaturas, em silêncio.
Os testes cobrem os casos que importam: host errado vira 301, host certo passa, webhook e health check nunca redirecionam e, fora de produção, nada muda.
2. O captcha só carrega quando aparece
Uso o Turnstile, da Cloudflare, nos formulários públicos. O script dele puxa uma plataforma de desafio de cerca de 800 KB.
Na landing, o único widget fica dentro de um modal fechado por padrão. Ou seja: todo visitante pagava 800 KB por um formulário que quase ninguém abre.
Agora o script só é injetado quando um widget entra na tela, com um IntersectionObserver. Navegador sem suporte carrega na hora, como antes. Um teste garante que a página não referencia mais o script diretamente.
Em tráfego pago, peso de página é dinheiro: a nota de qualidade da página de destino entra no preço do clique.
3. A conversão dispara uma vez, e só uma
A conversão que importa é o cadastro concluído. O jeito ingênuo é colocar o evento na página de "obrigado". O problema é que essa página pode ser recarregada, aberta de novo pelo histórico, ou nem existir, porque o cadastro já leva direto para o painel.
O que fiz: ao concluir o cadastro, o sistema grava uma marca na sessão. A primeira tela do painel lê essa marca e a remove na mesma operação. Se a marca existe, o evento de conversão vai junto. Recarregar não conta de novo.
Os testes conferem que a marca é gravada quando o cadastro dá certo, não é gravada quando ele falha, e que o painel dispara o evento uma única vez.
4. Um comando para apagar conta de teste por completo
Testar o funil de cadastro em produção gera contas falsas. E-mails ficam presos, inclusive de usuários já desativados, e você não consegue se cadastrar de novo com o mesmo endereço.
Criei um comando que apaga uma empresa com tudo o que pertence a ela: usuários, produtos, movimentações, documentos, imagens, convites, assinaturas e pagamentos. Ele aceita o ID, o nome exato ou o e-mail de qualquer usuário da empresa, e mostra um resumo antes de pedir confirmação.
E uma trava: se a empresa tem assinatura viva no gateway de pagamento, o comando se recusa a rodar. Apagar a conta e deixar a cobrança ativa é a pior combinação possível. Só passa com uma flag explícita, e a mensagem avisa que a cobrança continua até ser cancelada lá.
5. Documentos legais apontando para o domínio certo
Os termos de uso e a política de privacidade foram cadastrados quando o sistema ainda rodava em outro endereço. Os links internos desses documentos apontavam para lá.
Um comando refaz esses links usando o domínio público configurado, e o seeder passou a gerar os documentos já com o endereço certo. Parece detalhe, até alguém clicar em "política de privacidade" num anúncio e cair numa página técnica.
O padrão por trás dos cinco
Nenhuma dessas mudanças aumenta a conversão por si só. O que elas fazem é garantir que o dinheiro investido em aquisição chegue inteiro: na página certa, carregando rápido, com a métrica certa voltando para o anúncio.
Se você vai ligar tráfego pago amanhã, essa é a minha lista mínima:
- Um domínio canônico, com 301, e webhooks fora do redirecionamento.
- Scripts de terceiros carregados só quando forem usados.
- Conversão disparada uma única vez, a partir do servidor.
- Um jeito seguro de limpar o que os seus próprios testes sujaram.
Posts relacionados
Esconder o menu não é controlar acesso: como fiz módulos que cada cliente liga e desliga
Oficina pequena não quer ver comissão, nota fiscal e portal do cliente no primeiro dia. De...
Meu segundo SaaS começou com o código do primeiro: o que deu para reaproveitar e o que precisei reescrever
O Oficina Simples nasceu de um fork do Estoque Simples. Login, planos, cobrança, LGPD e mu...
Almoxarifado não é loja: o estoque que ninguém vende e que todo mundo perde
Luvas, toner, material de limpeza, peças: o estoque de uso interno custa dinheiro, acaba n...