BigStats

Supported MTA · SignalMTA

SignalMTA delivery reporting, with tenant and sending-IP context on every event.

BigStats consumes SignalMTA's webhook envelopes and turns delivered, deferred, bounced and complaint traffic into deliverability reporting your team can act on — one event per recipient, replay-safe, with per-tenant and per-IP breakdowns built in.

Start 7-day free trialSignalMTA webhook docsWebhook only · no change to your sending

SignalMTA event → BigStats

POST https://bigstats.email/api/public/ingest/signalmta
X-BigStats-Key: ga_live_…
{"id":"evt_0001","type":"bounced",
 "data":{"rcptTo":["user@gmail.com"],
 "route":{"tenant":"brand-a","pool":"pool-marketing","sendingIp":"203.0.113.42"},
 "smtpCode":550,"enhancedStatus":"5.1.1","response":"550 5.1.1 user unknown"}}

→ classified: hard · invalid_recipient · isp=gmail · tenant=brand-a

Event coverage

Every SignalMTA event type, normalized on arrival.

Injected & Delivered

Every accepted message and successful delivery, one event per recipient, with the remote MTA and the receiver's SMTP response.

Deferred

Transient failures with the full response text and enhanced status code, tracked through retries — when the retry lands, the message flips to delivered and the alert clears itself.

Bounced

SMTP code, enhanced status and diagnostic text classified into invalid recipient, mailbox full, blocklisted, throttled, policy or authentication failures.

Complaint

Feedback-loop complaints as a first-class rate, per provider and per tenant, with thresholds and anomaly alerts.

Suppressed & Rejected

Recipients on your suppression list and messages refused at injection, kept separate from post-acceptance failures.

Connect it

Three steps, no change to your sending stack.

01

Create an ingest key

Each BigStats workspace issues its own ingest key and SignalMTA endpoint. Nothing else in your sending stack changes.

02

Point a webhook endpoint at it

Configure a SignalMTA webhook endpoint that posts event envelopes to the BigStats URL with your key attached.

03

Watch reports fill in

Envelopes are normalized and queryable immediately — replay-safe, so redelivered webhooks never double-count.

Delivery health

Delivered, bounced and deferred with recovery tracking, period-over-period deltas and a composite health score.

Provider & tenant breakdown

Per-provider rates next to per-tenant and per-pool splits, so one client's stream never hides inside the average.

Bounce forensics

Hard/soft/block split, category classification and per-sending-IP bounce pressure with sample responses.

FAQ

SignalMTA questions we hear most.

Which SignalMTA event types does BigStats support?

Delivered, deferred, bounced, complaint, suppressed, rejected, unsubscribed and injected. Multi-recipient envelopes are expanded so every recipient is counted exactly once, and anything unrecognized is retained as a raw record rather than dropped.

What happens if a webhook is delivered twice?

Nothing bad. Every event carries a replay-safe dedupe key built from the envelope id, type and recipient — and when an id is absent, from the message, timestamp and response. Retried or duplicated webhooks are absorbed without double-counting.

Can I report per tenant, stream or IP pool?

Yes. Tenant and stream map to campaign and mailing, and the route pool or VMTA is captured on every event along with the sending IP — so per-client reporting, shared-pool analysis and /24 cluster views all work out of the box.

Does connecting BigStats change how SignalMTA sends mail?

No. BigStats only receives webhook events. It never touches queues, routes or message content, and a delivery failure to BigStats does not affect outbound mail.

Does BigStats show opens and clicks for SignalMTA?

BigStats focuses on delivery health — deliveries, deferrals, bounces, complaints and rejections. Open and click events are never synthesized; if a source does not report them, those streams simply stay empty.