Dashboard atualizado a cada 5 segundos: enviados, pendentes, bounces, velocidade real em emails/min. A/B testing nativo com winner automático. Smart Send que descobre a melhor hora pra cada contato. Warmup automático por ISP. Throttle configurável.
Gerencie email marketing em massa
Disparar 10 mil emails sem saber a velocidade real, sem testar dois assuntos, sem segmentar por provedor, sem aquecer IP é receita pra ter bounce alto, reputação queimada e quase ninguém abrindo.
Disparou e ficou no escuro até o dia seguinte. Não sabe se está rápido, lento, gerando bounce ou parado.
Mandou domingo às 3h da manhã pra todo mundo. Provedor desconfia, abertura cai, complaint sobe.
Manda um assunto pra base inteira e torce. Sem split test você joga aposta única em vez de descobrir o que converte.
Polling JSON a cada 5 segundos: progresso, velocidade, contadores, bounces, retries. Sem refresh, sem caixa preta.
Template: Promo Black Friday HTML v3 · Lista: Clientes ativos (10.000)
Enviados
Aberturas
Cliques
Bounces
Descadastros
Spam
28,5%
Taxa de Abertura
4,1%
Taxa de Clique
1,2%
Taxa de Bounce
0,3%
Taxa de Descadastro
Mesmo motor que processa: ele alimenta esse painel, os webhooks e o stream SSE. Um número não pode bater com outro quando a fonte é única.
Recursos reais do RaviMail validados em produção. Tudo nativo, sem add-on.
Varie o assunto, distribua 50/50 (ou customizado), métrica de vencedor por open_rate ou click_rate. Winner automático ou manual.
ab_enabled · ab_variant_b_subject · ab_split_percentage
Detecta a melhor hora de abertura de cada contato e agenda o envio individual. Fallback pra janela global se contato sem histórico.
contact_scores.best_open_hour
Janela de envio configurável por dia. Default seg-sex 08:30-18:30, sáb 08:30-12:00. Provedor desconfia menos.
send_window_enabled · send_window_config
Cap global por minuto pra IPs novos não cuspirem 10k de uma vez. Provedor recebe gradual, reputação preservada.
throttle_per_minute: 1 a 500
Pula gmail, microsoft, yahoo, icloud, br_free, other_free. Útil pra testar campanha em provedor cooperativo antes do resto.
skipped_groups: [gmail, microsoft, ...]
Cada provedor tem limite diário independente conforme idade do IP. Sistema pausa bucket que estourou e retoma no vira-dia.
WarmupPolicy::bounceThresholdFor()
Pausa campanha no meio do envio, retoma depois. Cancela e preserva fila pra reativação. Sem perder progresso.
POST /v1/campaigns/{id}/{pause|resume|cancel}
Clona config, A/B, janela e segmentação. Counters zerados, novo ID. Ajustar e disparar em 30 segundos.
POST /v1/campaigns/{id}/duplicate
Mensagens que estouraram 3 tentativas viram failed. Tela dedicada pra reenfileirar manualmente quem ainda vale a pena tentar.
/campaigns/{id}/retry-failed
Configure split, métrica vencedora e tempo de teste. O sistema dispara as duas variantes proporcionalmente, mede em tempo real e quando ganhar o critério, automaticamente envia a variante vencedora pro resto da base.
Métrica: click_rate · Split 50/50 · 1.000 contatos por variante
"Ofertas Black Friday: até 70% OFF"
Assunto direto, foco no desconto
"João, só pra você: 70% OFF até segunda"
Personalizado + urgência + nome
O RaviMail mantém um histórico de abertura por contato (contact_scores.best_open_hour).
Quando você liga Smart Send, cada email é agendado individualmente pra hora ótima daquele contato.
Quem nunca abriu cai na janela de envio padrão (Seg-Sex 08:30-18:30).
# Smart Send em ação (uma campanha de 1000 contatos)
contato_001 → agendado 09:15 # abre sempre cedo
contato_002 → agendado 13:42 # pós almoço
contato_003 → agendado 18:25 # volta do trabalho
contato_004 → agendado 10:30 # janela padrão (sem histórico)
contato_005 → agendado 21:10 # noturno
...
# Resultado: envio espalhado ao longo do dia,
# taxa de abertura sobe 18-32% vs blast único.
# SQL canônico (você não escreve isso, é só pra ver)
SELECT contact_id, best_open_hour
FROM contact_scores
WHERE last_open_at > NOW() - INTERVAL 90 DAY;
Dúvidas comuns sobre disparo de campanhas no RaviMail.
Plano Starter R$ 149/mês inclui A/B testing, Smart Send, dashboard real-time, warmup automático. Sem add-on, sem upgrade pra usar.