Insights de entregabilidade
Verificações de boas práticas e uma nota para cada e-mail enviado.
O MillionSend executa um conjunto de verificações de boas práticas de envio em cada e-mail no momento do envio, e transforma os resultados em dois números: uma nota de 0 a 10 por e-mail, e uma nota da conta sobre uma janela móvel de 30 dias. A nota mede conformidade com boas práticas de envio — não é uma previsão de chegada à caixa de entrada. Ninguém fora do Gmail conhece o filtro do Gmail; o que a nota diz é se o seu e-mail dá aos provedores um motivo para desconfiar dele.
Quando as verificações rodam
As verificações rodam no momento do envio, enquanto a mensagem está em memória. Corpos de e-mail são criptografados em repouso e removidos ao fim do prazo de retenção, então o envio é o único momento em que o conteúdo pode ser inspecionado — os resultados e a nota persistem depois que o corpo é removido. Uma transmissão é verificada uma vez; todos os e-mails do fan-out compartilham o resultado.
E-mails enviados antes desta funcionalidade existir não têm insights — não há
backfill. Para eles, o score do e-mail é null e
GET /emails/{id}/insights retorna 404 com
Insights are not available for this email yet.
As verificações
Cada verificação reporta um de cinco status: pass, fail,
passed_by_design, not_applicable ou unknown. Apenas fail custa
pontos.
| Verificação | Severidade | Penalidade | Aplica-se | O que verifica |
|---|---|---|---|---|
dmarc_record | critical | 3.5 | Todos | O domínio remetente publica um registro DMARC. |
auth_alignment | critical | 3.5 | Todos | SPF e DKIM alinhados com o domínio do From. |
list_unsubscribe | major | 1.5 | Marketing | Headers List-Unsubscribe e List-Unsubscribe-Post (descadastro em um clique). |
link_domains_match | major | 1.25 | Todos | Ao menos um link aponta de volta para o seu domínio de envio. |
no_shorteners | major | 1.25 | Todos | Nenhum encurtador de link público (bit.ly, tinyurl, …); youtu.be só conta enquanto o rastreamento de cliques o reescreveria. |
body_size | major | 1 | Todos | HTML abaixo de ~100 KB — acima disso o Gmail corta a mensagem. |
plain_text | major | 1 | Todos | Uma parte em texto puro junto com o HTML. |
visible_unsubscribe | major | 1 | Marketing | Um link de descadastro visível no corpo, antes do ponto de corte do Gmail. |
phishing_links | major | 1 | Todos | Nenhum link para endereço IP, nenhum texto de link citando um domínio diferente do destino, nenhum link http: cujo texto alega https. |
no_reply_from | minor | 0.5 | Marketing | O endereço From não é no-reply@. |
svg_images | minor | 0.5 | Todos | Nenhuma imagem SVG inline ou vinculada — amplamente bloqueadas por clientes de e-mail. |
attachments_marketing | minor | 0.5 | Marketing | Nenhum anexo em e-mail de marketing. |
image_text_ratio | minor | 0.4 | Todos | Imagens acompanhadas de texto visível de verdade, não e-mail só de imagem. |
tracking_unbranded | minor | 0.4 | Todos | O rastreamento de abertura/clique roda no seu subdomínio próprio, não em um host compartilhado. |
root_domain_send | minor | 0.25 | Marketing | Marketing enviado de um subdomínio, não do domínio raiz. |
insecure_links | minor | 0.25 | Todos | Nenhum link http: puro. |
subject_lint | minor | 0.25 | Todos | O assunto não é majoritariamente maiúsculo e não tem sequências de !!!/???. |
image_alt_text | info | 0 | Todos | Toda imagem tem texto alternativo. |
images_offsite | info | 0 | Todos | Imagens hospedadas no seu próprio domínio. |
reply_to_present | info | 0 | Todos | Um Reply-To existe quando o From é no-reply@. |
Algumas verificações não podem falhar no MillionSend e reportam
passed_by_design:
auth_alignment— sempre. Você só envia de um domínio verificado, e a verificação de domínio é uma etapa obrigatória antes de qualquer envio, então o alinhamento de SPF e DKIM é sempre garantido.list_unsubscribe— em transmissões e em envios por tópico para um único contato, onde o próprio MillionSend injeta os headers de descadastro em um clique. Um envio por tópico para mais de um endereço, ou para quem não é contato, sai sem o par gerado e, como nos envios pela API, a verificação lê os headers que você forneceu.
No MillionSend Cloud, o rastreamento de abertura/clique só roda no seu subdomínio de
rastreamento próprio, então tracking_unbranded só pode falhar em instâncias
auto-hospedadas que usam um host de rastreamento compartilhado.
Pontuação
Cada e-mail começa em 10 e perde a penalidade de cada verificação que falhou —
falhas critical e major por inteiro, falhas minor limitadas a 1.5 ponto no
total, verificações info nunca custam nada. not_applicable e unknown não
custam nada. O piso é 0:
nota = max(0, 10 − falhas critical − falhas major − min(1.5, falhas minor))| Nota | Faixa |
|---|---|
| 9.0+ | Excelente (excellent) |
| 7.0–8.9 | Bom (good) |
| 5.0–6.9 | Requer atenção (needs_attention) |
| abaixo de 5.0 | Em risco (at_risk) |
Toda nota carrega um score_version, marcando qual tabela de verificações e
pesos pontuou aquele e-mail. Os pesos podem evoluir; depois de um bump de
versão, e-mails mais novos são pontuados pela tabela mais nova, e notas com
versões diferentes não são diretamente comparáveis. Notas existentes nunca
são reescritas. Uma verificação de peso zero pode entrar ou sair sem bump de
versão, porque nunca muda a nota; uma verificação retirada também some dos
relatórios de e-mails antigos.
Marketing vs transacional
Um e-mail é classificado como marketing quando qualquer uma destas vale:
- é uma transmissão ou um envio por tópico;
- o corpo contém um link de descadastro visível.
Todo o resto é transacional, e as verificações exclusivas de marketing
reportam not_applicable — um e-mail de redefinição de senha não é penalizado
por não ter link de descadastro.
Nota da conta
A nota da conta é uma visão móvel de 30 dias, construída de duas sub-notas:
- Conteúdo — a média das notas por e-mail ponderada por destinatários na janela. Uma transmissão de 100.000 destinatários pesa 100.000; um envio de teste para você mesmo pesa 1.
- Resultado — começa em 10 e perde pontos conforme suas taxas de reclamação e hard bounce sobem. O gradiente de reclamações é ancorado nos limites de taxa de spam publicados pelo Google (fique abaixo de 0,10%, nunca alcance 0,30%): 0 a 6 pontos perdidos entre 0,1%–0,3%, caindo até 10 entre 0,3%–1%. Hard bounces custam 0 a 4 pontos entre 2%–5%, até 6 entre 5%–10%. Com menos de 100 envios na janela a sub-nota de resultado aparece como "dados insuficientes" em vez de fabricada de uma amostra minúscula. A taxa de reclamação é o número de reclamações sobre os envios para provedores que as informam, cada uma contada no dia em que o e-mail foi enviado, a mesma data que o SES usa na própria taxa. Ela só tira pontos quando a janela tem 100 desses envios.
A nota principal é min(0,4·C + 0,6·O, O + 1,5). O segundo termo é um
teto: um lint de conteúdo imaculado nunca mascara um problema real de
reclamações. Quando uma sub-nota está indisponível, a nota principal é a
outra sozinha.
A proteção de envio adicionalmente limita a nota principal — em 6.9 em alerta, em 4.9 em pausa — para que a nota e uma pausa de envio nunca possam discordar. Ela lê a taxa de reclamação do mesmo jeito, então as reclamações só contam para um alerta ou uma pausa a partir de 100 desses envios; no plano Free, elas contam desde o primeiro e-mail, julgadas juntas em todas as equipes Free que você criou.
Gmail, Apple Mail e t-online nunca informam reclamações, então a taxa de reclamação deixa os e-mails para eles de fora e conta as reclamações sobre os envios para os provedores que informam. Sua taxa de spam no Gmail ainda pode ser pior que qualquer número exibido aqui. O Google Postmaster Tools tem a visão do lado do Gmail.
API e MCP
Todo objeto de e-mail carrega seu score. GET /emails/{id}/insights
retorna os resultados completos das verificações de um e-mail, e
GET /deliverability retorna a nota da conta, sub-notas, taxas e status da
proteção de envio — veja a referência da API. Os mesmos dados
estão disponíveis para agentes de IA pelas ferramentas get_email_insights e
get_deliverability no servidor MCP.