Email campaign reporting with AI means you ask a question instead of building a report. Connect your sending service to Claude, ChatGPT or Meta Muse, ask "how did the campaign do?", and the AI answers from your real data: how many were delivered, opened and clicked, who unsubscribed, what bounced and why, and whether anyone marked it as spam. Each number comes with its rate.
This guide covers what you can ask, what each number means and which ones to act on. The examples use the OwnMailServer connector, which works the same way in all three apps.
Why ask instead of export
A dashboard shows the numbers someone decided to show. A CSV export shows everything, and then you build the report yourself. Asking sits in between: you get the number you wanted, in the shape you wanted, and you can ask a follow-up without starting over.
- No spreadsheet work. "Last month by week, as a table" is one sentence.
- Follow-ups keep their context. After "how did it do?", "and which bounces were permanent?" just works.
- Anyone on the team can ask. You don't need to know where a report lives or how a filter works.
- It's your live data. The AI isn't guessing from a pasted screenshot. It reads the same records the dashboard does.
The questions worth asking
How did one campaign do?
How did the Black Friday campaign do?
You get the campaign's results with rates:
| Number | What it means | Act on it? |
|---|---|---|
| Sent | Copies that left our servers. | Check it matches the list size, minus skipped addresses. |
| Delivered | Copies the receiving server accepted. | A gap from "sent" means bounces or delays. |
| Opened | Email clients that loaded the images. | Loosely. It's inflated by privacy features. |
| Clicked | People who clicked a link. | Yes. The best measure of interest. |
| Unsubscribed | People who left the list from this email. | Yes, if it jumps compared with your usual. |
| Bounced | Addresses that failed, hard or soft. | Yes. Keep hard bounces under 2%. |
| Complained | People who clicked "Report spam". | Yes, always. Aim for under 0.1%. |
| Suppressed | Addresses skipped because they'd bounced, complained or unsubscribed before. | No. This is the system protecting you. |
| Waiting | Copies still queued behind the daily limit. | Only on a new account in warm-up. |
How is sending going overall?
How's my email delivery this week?
The AI gives totals for the period, or a breakdown by day, by mailbox provider (Gmail, Microsoft, Yahoo and others) or by sending domain. The provider breakdown is the most useful one when something looks off: if Microsoft accepts less of your mail than Gmail does, that points to a reputation problem at one provider rather than a bad list.
Why did these bounce?
Which addresses bounced from the newsletter, and why?
Bounces come in three kinds, and the AI says which each one is:
- Hard: the address doesn't exist. It's suppressed for good.
- Soft: a temporary problem, such as a full mailbox. We retry, and suppress the address if it keeps failing for a week.
- Block: the provider's spam or reputation filter refused the email. The address may be fine; the sender's reputation is the problem.
The reason is quoted as the receiving server gave it. A run of "user unknown" bounces means an old list. A run of blocks at one provider means a reputation problem; see why emails go to spam.
Who complained, and about what?
Did anyone mark last week's email as spam?
Complaints come with the email each person complained about. Complaining recipients are suppressed automatically. A cluster of complaints from one campaign usually means people didn't expect it: an old list, an unclear sender name, or a subject that didn't match what they signed up for.
Is my domain set up right?
Check my domain health.
The AI runs a live DNS check of SPF, DKIM, the return-path record and DMARC, and gives you the exact value to publish for anything missing, along with the domain's bounce and complaint rates for the last 7 days. Gmail and Yahoo require all of this from bulk senders.
Reports you can build in one ask
Because the AI app does the formatting, you can ask for the report in the shape you need:
- "Make a one-page summary of October's campaigns for the team."
- "Table of the last five campaigns: delivered, click rate, unsubscribes."
- "Daily delivered and bounced for the last 30 days, as a chart." In Claude this can be an interactive chart.
- "Which of our two sending domains has the better complaint rate?"
Ask it to save or share the report however your AI app allows.
About open rates
Treat open rates as a rough signal. An open is recorded when the email's tracking image loads, and Apple Mail and many corporate security scanners load images for every email, whether a person reads it or not. That inflates opens, sometimes a lot, and differently for each audience.
Better signals:
- Clicks. A click is a person (security scanners that click links exist, but are rarer).
- Unsubscribes and complaints. These tell you when an email missed.
- Your own trend. Compare a campaign with your earlier campaigns to the same list, not with an industry average.
Open and click tracking are off by default. Ask "turn on open and click tracking for acme.com" and the AI switches them on for emails sent after that. Tracked links go through click.ownmailserver.com, which is how a click gets counted.
A weekly reporting routine
You don't need a reporting tool to keep an eye on things. Ten minutes a week with these questions covers what matters:
- "How did this week's campaigns do, compared with last week?" Watch clicks and unsubscribes.
- "Any bounces or complaints above normal? Which campaign?" Catch a bad list early.
- "Delivery by mailbox provider for the last 7 days." A drop at one provider is the first sign of a reputation problem.
- "Check my domain health." DNS records drift when someone changes a provider or a plugin.
- "Summarize it in three sentences for the team." Paste the answer into your team chat.
We also watch the same signals for you: bounces and complaints are suppressed automatically, and sending pauses if they pass safe limits, so a bad list can't quietly damage your domain between check-ins.
Get events into your own app too
If you want the raw events in your own systems as well, ask:
Send bounce and complaint events to https://acme.com/hooks/email.
The AI adds a webhook, and we post each event to your URL as it happens, signed in the Standard Webhooks format. The signing secret stays in the dashboard's Webhooks page, where Show signing secret reveals it. The API reference has the event list and how to verify signatures.
Privacy in AI reports
Recipient addresses in the AI's answers are masked (j***@example.com) unless you asked about that address, so a report on bounces doesn't paste your whole list into a chat. API keys and webhook signing secrets are never returned. The dashboard shows full addresses.
What it costs
Reporting is part of every account; there's no extra charge for the connector or for asking questions. You pay for sending: $0.20 per 1,000 emails, with a $10 monthly minimum that covers the first 50,000 and a $10 one-time setup fee. See pricing.
Ready to try? Connect OwnMailServer in your AI app and ask: "How did my last campaign do, and what should I change next time?" Or start with our guide to sending an email campaign with Claude.