Ir al contenido
Módulo 8 · Lección 17 de 25

ClickHouse para la analítica de entregas

Parte del curso KumoMTA: motor de envío de alto volumen, en el módulo Logs, hooks y ClickHouse.

Autor

ClickHouse convierte miles de millones de filas de log en analítica en menos de un segundo. KumoMTA documenta el esquema en el proyecto original, y la mayoría de los ESP lo usan desde el primer día.

Tabla de ejemplo:

CREATE TABLE kumomta_events (
  ts DateTime,
  type LowCardinality(String),
  tenant LowCardinality(String),
  campaign LowCardinality(String),
  domain LowCardinality(String),
  egress_source LowCardinality(String),
  response_code UInt16,
  enhanced_code LowCardinality(String),
  bounce_category LowCardinality(String),
  recipient String,
  message_id String
) ENGINE = MergeTree
ORDER BY (ts, tenant, domain);

Consultas del día a día:

-- Delivery rate per destination, last hour
SELECT domain,
       countIf(type='Delivered') / countIf(type IN ('Delivered','Bounced')) AS delivery_rate
FROM kumomta_events
WHERE ts > now() - INTERVAL 1 HOUR
GROUP BY domain ORDER BY delivery_rate DESC;

-- Top bounce categories per tenant
SELECT tenant, bounce_category, count() AS n
FROM kumomta_events WHERE type='Bounced' AND ts > today()
GROUP BY tenant, bounce_category ORDER BY n DESC LIMIT 50;

Aquí es donde la entregabilidad deja de ser adivinanza. Puedes responder “¿está empeorando nuestra entrega en Yahoo?” en segundos.

Inicia sesión para llevar el registro de lo que ya leíste.

Pulse · envío de cold email

Infraestructura de envío solo para ti.

Cada dominio tiene su propio host MX, su IP, su selector DKIM y su certificado. Contrátalo administrado y nosotros lo operamos por ti, o compra una licencia y ejecútalo en tus propios servidores.

# en un servidor Ubuntu recién instalado
$ cd pulse && sudo ./install.sh
→ docker compose up · kumomta · stalwart · caddy
→ dashboard ready on https://pulse.yourdomain.com
$

También de nosotros:Beat: monitoreo que te da la soluciónConsultoría: US$ 65/h, sin cuota mensual