Email Marketing em massa

Dispare 10 mil emails
e veja cada minuto ao vivo

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.

A/B
Nativo
5s
Dashboard live
500
/min throttle
6
Buckets ISP
app.ravimail.com.br/campaigns

Suas campanhas

Gerencie email marketing em massa

Atualizado em tempo real · polling a cada 5s
O problema

Email marketing às escuras sai caro

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.

Sem visibilidade

Disparou e ficou no escuro até o dia seguinte. Não sabe se está rápido, lento, gerando bounce ou parado.

Horário errado

Mandou domingo às 3h da manhã pra todo mundo. Provedor desconfia, abertura cai, complaint sobe.

Sem A/B

Manda um assunto pra base inteira e torce. Sem split test você joga aposta única em vez de descobrir o que converte.

Dashboard ao vivo

Veja cada minuto da campanha enquanto acontece

Polling JSON a cada 5 segundos: progresso, velocidade, contadores, bounces, retries. Sem refresh, sem caixa preta.

app.ravimail.com.br/reports/campaigns/142

Black Friday 2026 · Variante A

Template: Promo Black Friday HTML v3 · Lista: Clientes ativos (10.000)

enviando

Envio em andamento

emails/min
Enviados: Pendentes: Bounces:

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.

9 capacidades

Mais que um envio em massa

Recursos reais do RaviMail validados em produção. Tudo nativo, sem add-on.

A/B testing nativo

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

Smart Send

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

Send Window

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

Throttle 1 a 500/min

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

Segmentação por ISP

Pula gmail, microsoft, yahoo, icloud, br_free, other_free. Útil pra testar campanha em provedor cooperativo antes do resto.

skipped_groups: [gmail, microsoft, ...]

Warmup automático por bucket

Cada provedor tem limite diário independente conforme idade do IP. Sistema pausa bucket que estourou e retoma no vira-dia.

WarmupPolicy::bounceThresholdFor()

Pause / Resume / Cancel

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}

Duplicar com 1 clique

Clona config, A/B, janela e segmentação. Counters zerados, novo ID. Ajustar e disparar em 30 segundos.

POST /v1/campaigns/{id}/duplicate

Retry de falhas

Mensagens que estouraram 3 tentativas viram failed. Tela dedicada pra reenfileirar manualmente quem ainda vale a pena tentar.

/campaigns/{id}/retry-failed

Exclusivo do RaviMail

A/B testing nativo, não add-on

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.

app.ravimail.com.br/campaigns/142/ab-test

A/B Test · Black Friday 2026

Métrica: click_rate · Split 50/50 · 1.000 contatos por variante

teste rodando · 1h 42min
A Variante de controle
vencedor

"Ofertas Black Friday: até 70% OFF"

Assunto direto, foco no desconto

Enviados
Abertura
Clique
B Variante de teste
vencedor

"João, só pra você: 70% OFF até segunda"

Personalizado + urgência + nome

Enviados
Abertura
Clique
Variante vencendo com confiança estatística
Coletando dados... aguardando significância
Vencedor automático ao fim do teste (4h) ou clique pra forçar agora
Smart Send

Cada contato recebe na hora
que ele costuma abrir

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).

  • Coexiste com Send Window: Smart Send respeita a janela global; sem histórico, usa horário comercial.
  • Coexiste com A/B testing: as duas variantes saem na hora ótima do contato, sem viés.
  • Provedores agradecem: envio espalhado ao longo do dia é mais natural, evita o "block" por pico súbito.
  • Sem cobrança extra: incluído em todos os planos, sem limite.
# 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;

Perguntas frequentes

Dúvidas comuns sobre disparo de campanhas no RaviMail.

Configurável por campanha entre 1 e 500 por minuto via campo throttle_per_minute. Pra IPs novos em warmup, o sistema aplica um cap automático adicional por bucket de ISP (gmail, microsoft, yahoo, icloud, other) baseado na idade do IP. Day 1 começa em 50/dia/bucket e cresce até cap permanente day 30+.
Você define um assunto B (e opcionalmente template B), porcentagem de split (default 50/50), métrica de vencedor (open_rate ou click_rate) e duração do teste em horas. O sistema dispara as duas variantes proporcionalmente. No fim do teste (ou quando você forçar) o vencedor é selecionado e a base restante recebe ele. Tudo registrado em campaigns.ab_winner pra auditoria.
Pega o horário de abertura histórico de cada contato (campo contact_scores.best_open_hour) e agenda o envio individual nessa hora. Contatos sem histórico caem no Send Window padrão (Seg-Sex 08:30-18:30 por default, configurável). O resultado é um envio espalhado ao longo do dia que aumenta taxa de abertura em 18-32% vs blast tradicional.
Sim, via botão no painel ou POST /v1/campaigns/{id}/pause. A campanha vai pra status "paused" e os emails que já foram enviados continuam contando. POST /resume retoma do ponto exato.
É um pseudo-status visual. Acontece quando 100% dos emails pendentes da campanha estão em buckets de ISP que foram pausados no nó por estourar threshold de bounce (warmup). O sistema retoma automaticamente no vira-dia (00:30 UTC após evaluate_warmup do nó). Você não precisa fazer nada.
Sim. POST /v1/campaigns/{id}/duplicate clona configuração (template, throttle, A/B config, send window, segmentação) mas zera counters e gera novo ID. Ajusta a lista_id e dispara — tudo em 30 segundos.
Não. É polling JSON a cada 5 segundos no endpoint /api/events/campaign/{id} que retorna em <100ms. Tanto a query quanto a resposta são leves (mais ou menos 200 bytes). Comparado a SSE EventSource que mantinha conexão aberta (e travava pool FPM em retries), o polling é mais robusto.
Cai pra status="failed" em mail_queue. A tela /campaigns/{id}/retry-failed lista todas e permite reenfileirar manualmente. Reset de attempts=0 + log em audit_log. Útil quando o motivo do fail foi temporário (DNS, throttle de provedor) e você quer dar mais uma chance.

Pronto pra disparar sua próxima campanha?

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.