Analytics Dashboard
The PostMTA analytics dashboard provides real-time and historical visibility into every dimension of your email programme — from raw delivery counts through to per-recipient engagement signals and cohort-computed revenue per email.
Delivery Metrics
Metric Types
The dashboard surfaces the full delivery funnel for each campaign and aggregate across your workspace:
- Sent — messages accepted by PostMTA and entered the delivery pipeline
- Delivered — messages accepted by the recipient MTA (2xx response)
- Bounced — messages that received a permanent (5xx) or exhausted soft (4xx) failure
- Complained — messages where the recipient flagged the message as spam via FBL
- Suppressed — messages blocked pre-send because the recipient is on a suppression list
Delivery Funnel Table
The primary delivery table on the dashboard shows the funnel for the selected period:
Campaign Sent Delivered Bounced Complained Suppressed
---------- --------- ---------- -------- ----------- -----------
Welcome Nx 12,847 12,631 31 2 183
Onboard Sr 34,102 33,721 87 5 289
Product Upd 98,441 97,102 241 18 980Bounce Rate Calculation
Bounce rate is computed against delivered messages for the period:
bounce_rate = (hard_bounces + soft_bounces_exhausted) / delivered * 100Soft bounces that are still retrying are not counted in the bounce rate numerator — only messages that have completed all retry attempts and entered the bounce queue are included.
Complaint Rate Calculation
complaint_rate = fbl_complaints / delivered * 100A domain enters automatic shaping when its complaint rate exceeds 0.1% in any rolling 24-hour window. See Shaping & Warmup Policy for the full threshold table.
Engagement Tracking
Open Tracking (Pixel)
PostMTA appends a transparent 1x1 GIF tracking pixel to every HTML message when open tracking is enabled at the campaign or API level. The pixel URL encodes the message ID and recipient address; loading it records an open event.
https://tr.postmta.com/pixel/msg_01HXABC123DEF456.gif
?r=recipient%40example.com
&mid=msg_01HXABC123DEF456
&ts=1750272000Click Tracking
When click tracking is enabled, all href links in the HTML body are rewritten through PostMTA's click-tracking redirect:
Original: <a href="https://example.com/promo">Shop Now</a>
Rewritten: <a href="https://tr.postmta.com/clk/abc123def456?mid=msg_...">Shop Now</a>When a recipient clicks the link, PostMTA records the click event and immediately issues a 302 redirect to the original destination. Click tracking is compatible with all major email clients and does not alter the displayed link text.
Engagement Metrics Table
Campaign Unique Opens Open Rate Unique Clicks Click Rate
----------- ------------- ---------- ------------- ----------
Welcome Nx 8,431 66.7% 2,291 18.1%
Onboard Sr 22,104 65.5% 6,118 18.1%
Product Upd 58,261 60.0% 11,332 11.7%Time-Series Charts
Aggregation Resolution
The analytics dashboard supports three time resolutions. The appropriate resolution is selected automatically based on the date-range window:
| Window | Resolution | X-Axis Tick Interval |
|---|---|---|
| Last 24 hours | Hourly | Every 1 hour |
| Last 7 days | Daily | Every 1 day |
| Last 90 days | Weekly | Every 1 week (Monday) |
| Last 12 months | Weekly | Every 1 week |
Volume Chart
The primary volume chart overlays sent, delivered, and bounced as stacked area series:
Date Sent Delivered Bounced
---------- --------- ---------- --------
2026-07-01 9,241 9,108 23
2026-07-02 10,847 10,691 31
2026-07-03 11,203 11,041 38Engagement Chart
Unique opens and unique clicks are plotted on a dual-axis line chart to allow direct visual comparison of open and click trends over time.
Rate Trend Chart
Bounce rate and complaint rate are plotted on separate Y-axes against a common time axis. Threshold lines are overlaid so you can immediately see when a metric crosses a shaping or suspension boundary.
Cohort Analysis
Overview
Cohort analysis lets you compare sending periods side by side, normalising volume to understand whether engagement quality is improving or degrading independent of campaign size.
Cohort Comparison Table
Cohort Send Date Volume Deliver Rate Open Rate Click Rate
------ ---------- ------ ------------ --------- ----------
A 2026-06-01 8,200 98.8% 61.2% 14.1%
B 2026-06-08 9,100 98.7% 60.8% 13.9%
C 2026-06-15 10,500 98.9% 62.1% 15.3%Cohort Dimensions
You can slice cohorts by:
- Sending domain
- Campaign or template
- IP pool
- Day / week / month granularity
Use Cases
- Identify whether a list hygiene improvement is lifting open rates
- Detect engagement decline early before it becomes a deliverability problem
- Validate that IP warmup is improving inbox placement over time
Export Analytics
Export Formats
Analytics data can be exported via the dashboard UI or via the REST API in CSV or JSON format.
Export via API
curl "https://api.postmta.com/v1/analytics/export" \
-H "Authorization: Bearer pmta_l...xxxx" \
-G \
--data-urlencode "start=2026-06-01T00:00:00Z" \
--data-urlencode "end=2026-06-30T23:59:59Z" \
--data-urlencode "format=csv" \
--data-urlencode "metrics=sent,delivered,bounced,opens,clicks"Response headers:
Content-Type: text/csv
Content-Disposition: attachment; filename="analytics_export_2026-06.csv"JSON Export
curl "https://api.postmta.com/v1/analytics/export" \
-H "Authorization: Bearer pmta_l...xxxx" \
-G \
--data-urlencode "format=json" \
--data-urlencode "campaign_id=camp_01HXABC123DEF456"{
"campaign_id": "camp_01HXABC123DEF456",
"period": {
"start": "2026-06-01T00:00:00Z",
"end": "2026-06-30T23:59:59Z"
},
"metrics": {
"sent": 34812,
"delivered": 34341,
"bounced": 108,
"complained": 14,
"suppressed": 349,
"unique_opens": 21087,
"unique_clicks": 5841
},
"rates": {
"deliver_rate": 98.65,
"bounce_rate": 0.31,
"complaint_rate": 0.04,
"open_rate": 61.38,
"click_rate": 17.01
}
}Revenue Per Email
Overview
Revenue per email (RPE) is an optional computed metric that requires your application to report conversion events via the webhook system. PostMTA correlates conversion events to the campaign and recipient that triggered them.
Calculation
RPE = attributed_conversion_revenue / sentAttribution window: 7 days post-delivery by default (configurable via the dashboard or API).
RPE Table
Campaign Sent Deliver Rate Conversions Revenue RPE
----------- ------ ------------ ----------- -------- ------
Welcome Nx 12,847 98.3% 847 $25,410 $1.978
Onboard Sr 34,102 98.9% 1,705 $51,150 $1.500
Product Upd 98,441 98.7% 4,922 $147,660 $1.500Inbox Placement
Overview
Inbox placement testing measures what percentage of your messages land in the inbox versus the spam or bulk folder at major inbox providers (Gmail, Outlook, Yahoo, etc.). PostMTA offers an on-demand inbox placement test that sends probe messages to seed accounts across inbox providers and reports the results.
Inbox Placement via API
curl -X POST https://api.postmta.com/v1/analytics/inbox-placement \
-H "Authorization: Bearer pmta_l...xxxx" \
-H "Content-Type: application/json" \
-d '{
"campaign_id": "camp_01HXABC123DEF456",
"test_size": 100,
"providers": ["gmail", "outlook", "yahoo"]
}'{
"data": {
"test_id": "iptest_01HXABC123DEF456",
"status": "running",
"started_at": "2026-07-18T16:00:00Z",
"providers": ["gmail", "outlook", "yahoo"]
}
}Results
{
"test_id": "iptest_01HXABC123DEF456",
"status": "completed",
"completed_at": "2026-07-18T18:30:00Z",
"results": {
"gmail": {
"inbox_rate": 94.2,
"spam_rate": 4.1,
"missing_rate": 1.7
},
"outlook": {
"inbox_rate": 97.8,
"spam_rate": 1.9,
"missing_rate": 0.3
},
"yahoo": {
"inbox_rate": 91.3,
"spam_rate": 6.8,
"missing_rate": 1.9
}
},
"overall_inbox_rate": 94.4
}Factors Affecting Inbox Placement
- IP and domain reputation (driven by bounce and complaint rates)
- Authentication: SPF, DKIM, and DMARC alignment
- List quality: engagement rates and recency of last send
- Content: spam trigger words, image-to-text ratio, link patterns
- Sending consistency: irregular burst sending hurts placement
Dashboard Filters
Filter Controls
The analytics dashboard supports the following filter dimensions:
- Date range (absolute or relative: last 7/30/90 days, this month, last month)
- Campaign (single or multi-select)
- Sending domain
- IP pool
Saved Views
Any filter combination can be saved as a named view. Saved views appear as tabs at the top of the analytics page for quick switching between different perspectives on your data.