Table of Contents
You open Salesforce Reports, pick a report type, add some columns, hit run, and get a table that tells you nothing about your email campaigns.

This happens a lot. Not because reports are hard, but because most Salesforce setups never connect reporting to email in the first place.
Salesforce builds reports around sales data by default. Email engagement data lives somewhere else entirely. If you don't know how to pull it into a report, you end up exporting lists by hand, guessing at segments, and sending campaigns based on data that's already out of date.
Knowing how to create a report in Salesforce is the starting point. Knowing which report type to use, which fields to pull, and how to structure your output for email decisions, that's where the real work is.
This guide covers both.
The Four Salesforce Report Types (And When to Use Each One for Email)
Salesforce gives you four report types. Each one structures data differently. Before you build anything, it helps to know what each one actually does and where it breaks down.
1. Tabular Reports
A tabular report is a flat list of records with no grouping or subtotals. It works like a spreadsheet inside Salesforce.
Use it when you need a clean send list. Filter contacts by region, lifecycle stage, or opt-out status, and you get a straight list ready for a campaign. The problem most people run into is building a tabular report, thinking they can use it for ongoing tracking. You can't.
Tabular reports don't support charts, can't be added to dashboards, and don't update dynamically the way summary reports do. If you want to monitor email performance over time, tabular isn't the starting point. It's a list-building tool, and it's best used as one.
2. Summary Reports
A summary report groups records by a field and shows subtotals for each group.
This is the most useful report type for email work in Salesforce. Group contacts by Account Name and filter for Email Opt Out = True, and you see which accounts have heavy suppression before you send. Group campaign members by their campaign member status: Sent, Opened, Clicked, Bounced, and you see engagement distribution across a campaign in a single view. Summary reports support charts and dashboards, which make them the right foundation for any ongoing email performance tracking you want to build.
One thing worth knowing: Salesforce has a standard Campaign Member Status field. You don't need to create custom fields to track basic email engagement. Most people don't realize this and build workarounds that make their reports harder to maintain.
3. Matrix Reports
A matrix report groups records by both rows and columns at the same time. It's built for comparing data across two dimensions simultaneously.
Use it when you want to compare engagement across multiple campaigns in one view. Set campaigns as rows and engagement status as columns, and you can see open rates, clicks, and bounces side by side without building a separate report for each send. The real tradeoff with matrix reports is data cleanliness.
If your campaign names are inconsistent or your member statuses aren't standardized across campaigns, the columns become meaningless. Before you build a matrix report for cross-campaign analysis, make sure your campaign naming conventions and status values are aligned. Otherwise, the comparison will mislead you.
4. Joined Reports
A joined report combines two separate report blocks into one view. Each block can have its own filters, fields, and object.
Use it for audience comparison before a large send. Put engaged contacts from your last campaign in one block and contacts with no email activity in the past 90 days in the other. You see both audiences side by side and make a deliberate decision about who gets the next campaign.
The dependency most people miss: all blocks in a joined report must share at least one common field, usually Contact ID or Lead ID. If your blocks don't share that field, Salesforce won't let you combine them, and you'll get an error with no clear explanation. Set up your shared field before you start building the report.
Joined reports are the most complex of the four. For day-to-day email work, you won't need them often. For pre-campaign audience analysis, they're the right tool.
Which Salesforce report type should you use for email campaigns?
- Use a tabular report to build one-time send lists.
- Use a summary report to track campaign engagement, monitor opt-out patterns, and build dashboard views.
- Use a matrix report to compare performance across multiple campaigns, but only if your data is clean and your statuses are standardized.
- Use a joined report when you need to analyze two audiences side by side before sending, and make sure your blocks share a common field before you start.
Most email work in Salesforce runs on summary reports. Start there.
How to Create a Report in Salesforce
To create a report in Salesforce, open the Reports tab, click New Report, select a report type, add filters and columns, group your data, then save and run. You can also add the finished report to a dashboard for ongoing visibility.
Here's each step in detail, with the specific choices that matter when your reports feed into email campaigns.
- Pick a report type
- Set your filters
- Choose your columns
- Group your data
- Save and run
- Add to a dashboard
Step 1: Pick a Report Type
Open the Reports tab in your Salesforce org. Click New Report.
Salesforce asks you to choose a report type first. This decision controls which objects and fields become available in your report.
Two report types cover most email campaign scenarios:
Contacts & Accounts gives you contact-level data like email address, opt-out status, mailing address, and account details. Select this when you're building a send list or auditing suppression across your database.
Campaigns with Campaign Members give you campaign-level data alongside each member's engagement status. Select this when you need to see who opened, clicked, bounced, or unsubscribed from a specific send. You can't access Campaign Member Status fields from a standard Contacts & Accounts report.
One thing to watch: if you send emails through a Salesforce-native tool that logs engagement data to a custom object, neither of these standard report types will surface that data. You'll need a custom report type, which the next section walks through.
Step 2: Set Your Filters
Report Builder opens after you select your report type. Go straight to filters before touching anything else.
Without the right filters, Salesforce pulls in every record that matches your report type. That could mean thousands of irrelevant rows cluttering your output and slowing load time.
Three filters belong in almost every email-related report:
Date range. Salesforce applies a default date filter to every new report. Tighten it to match your campaign window. If you sent an email last Tuesday, set the range to that week. A loose date range pulls in months of old data and dilutes the numbers you actually need.
Email Opt Out equals False. Add this to every send list report. It strips out every contact who has opted out of marketing emails. Skipping this one filter is how teams accidentally email suppressed contacts and create compliance problems.
Campaign Member Status. Available when you use the Campaigns with Campaign Members report type. Set it to a specific value like "Opened" or "Bounced" to isolate a single engagement group. Without this filter, your report shows every campaign member regardless of how they responded.
Step 3: Choose Your Columns
Columns decide what data appears in each row. Salesforce adds default columns based on your report type. Most of them won't be relevant. Remove the defaults and add only the fields your report actually needs.
For a send list report: Contact Name, Email, Account Name, Title, Email Opt Out. Five columns. Everything you need to build a clean segment.
For a campaign engagement report: Campaign Name, Campaign Member Status, First Responded Date, Contact Owner. These tell you who engaged, when they engaged, and who on your team owns that relationship.
Keep your total column count under eight. Every extra column slows load time and makes the report harder to scan. If a column doesn't help you make a decision about your next send, remove it.
Step 4: Group Your Data
Grouping is what separates a flat contact list from a report you can actually analyze.
Drag any field into the "Group Rows" area in Report Builder. Salesforce immediately converts your report from a flat list into a grouped summary report with subtotals, chart access, and dashboard support.
The grouping field you choose depends on what question you're answering:
Group by Account Name when you want to see engagement at the account level. If 30 contacts at the same account all bounced, that usually points to a domain-level deliverability issue, not a list quality problem. You'd miss that signal in an ungrouped report.
Group by Campaign Member Status when you want a performance snapshot of a single send. You'll see exactly how many people opened, clicked, bounced, or ignored the email. The fastest way to evaluate a campaign without leaving Salesforce.
Group by Lead Source when you want to know which acquisition channels produce contacts that actually engage with your emails. Run this across a few months of sends. You'll see which sources bring in responsive contacts and which ones load your database with addresses that never open anything.
Step 5: Save and Run
Click Run to preview your output. Check every filter, column, and grouping. Make sure the data matches what you expected.
Click Save. Salesforce asks you to name the report and choose a folder. Pick a shared folder if your marketing or sales team needs access. Report visibility in Salesforce lives at the folder level. A report in your private folder stays invisible to everyone else.
Name your reports clearly. "Q2 2026 Campaign Opens by Account" tells someone exactly what they'll find. "New Report 47" tells them nothing. Clear naming saves your team time every time they search for a report.
Step 6: Add to a Dashboard
Open any Salesforce dashboard and click Edit. Click Add Component, then select your saved report. Salesforce lets you pick a chart type for the component.
A bar chart works well for showing engagement breakdown by campaign status. A donut chart shows opt-out distribution across accounts.
Dashboards turn one-time reports into ongoing visibility. Instead of rebuilding a report every time you check campaign performance, your dashboard refreshes the data automatically.
One thing to watch: Salesforce only allows summary and matrix reports on dashboards. If your report is still a flat tabular list, add one grouping field first. That converts it to a summary report and unlocks dashboard access.
How to Create a Custom Report Type in Salesforce for Email Data
A custom report type lets you control which objects and fields appear in a report. You create one when Salesforce's standard report types don't surface the email data you need.
This happens whenever your email tool logs engagement data like opens, clicks, and bounces to a custom object. Standard report types don't include custom objects. So when you search for an email engagement field in Report Builder, and it doesn't show up, a custom report type is the fix.
Step-by-Step: Creating a Custom Report Type in Salesforce
- Open Report Types in Setup: Type "Report Types" in Quick Find. Click Report Types, then click New Custom Report Type. This is where Salesforce stores all report type definitions for your org.
- Set your primary object: For email reporting, select Contacts or Leads. This controls which core fields your report starts with. Everything else builds on top of this object.
- Name it clearly: "Contacts with Email Engagement" tells your team exactly what this report type surfaces. Use a name that describes the data relationship, not just the object.
- Pick the right category: Salesforce organizes report types into categories on the selection screen. Choose "Contacts & Accounts," so your team can locate it quickly. A miscategorized report type becomes functionally invisible.
- Set deployment status to In Development: Keep it here while you configure and test. Switch to Deployed only after you confirm the fields and data look correct.
- Add the related email object: Click your report type and add the object where your email tool stores engagement data. Salesforce asks you to define the relationship between the two objects.
- Select your fields: Click Edit Layout. Drag in the fields your team needs from both objects. Only the fields you add here become available in Report Builder.
- Deploy and test: Switch status to Deployed. Go to Reports, click New Report, and search for your custom report type by name. Build a test report to confirm the fields appear correctly.
Getting the Object Relationship Right
The relationship you define when adding your email object controls which records appear in every report built from this type.
In standard Salesforce, email data often lives in the EmailMessage object. If you use a Salesforce-native email app likeMassMailer, it typically logs to its own custom object like MassMailer Email Result. Check the Object Manager in Setup if you're unsure which object holds your data.
When you add this object, Salesforce gives you two options. "Each Contact must have at least one related record" shows only contacts with email activity. Use this for engagement reports that exclude contacts who were never emailed.
"Contacts may or may not have related records" shows all contacts, with engagement data populated where it exists. Use this when you need a complete database view with email metrics layered in.
Choosing the wrong option means your report either hides relevant contacts or returns thousands of rows with no data in them.
Picking the Fields That Actually Matter
The fields you add to your custom report type determine what your team can see, filter, and group when they build reports. Not every field in the email object carries equal weight.
Send Date and Open Date help you filter by time window and confirm engagement. Click Count shows which contacts acted on your email, not just opened it. Bounce Status flags contacts with deliverability problems so you can remove them before they damage your sender reputation.
Unsubscribe Status identifies contacts who opted out after a specific email, which keeps your suppression data current. From the Contact side, always include Email, Account Name, and Email Opt Out.
If you skip a field here, nobody on your team can access it in Report Builder without editing this layout again.
One Mistake That Makes Your Report Type Invisible
Salesforce admins regularly create custom report types and forget to verify the category they assigned earlier. Their team searches Report Builder, can't find it, and assumes it was never created. Before you move on, confirm it appears in the category your team would search first.
Salesforce Reporting Best Practices for Email Campaigns
The best practice for Salesforce email reporting is to build suppression filters, standardized statuses, and scheduled delivery into every report from the start. This prevents the data problems that quietly break your campaigns over time.
Here are five practices that keep your email reports accurate as you scale.
- Filter out opted-out contacts in every report: Add "Email Opt Out equals False" as a default filter to every send list and engagement report. Build it into your report templates so your team never sends to a suppressed contact by accident.
- Standardize your campaign member statuses: If one campaign uses "Opened," and another uses "Email Opened," your grouped reports produce misleading numbers. Align statuses across all campaigns before you try to compare performance between them.
- Schedule reports instead of rebuilding them: Salesforce lets you schedule reports to run and land in your inbox on a set cadence. Set your key email reports to run weekly. You'll catch bounce spikes and engagement drops days earlier than teams who only pull numbers when someone asks.
- Keep one shared folder for all email reports: When reports scatter across private folders, your team rebuilds the same report multiple times without knowing it already exists. Create a shared folder called "Email Campaign Reports" and set permissions so marketing and sales both have access.
- Track bounce and unsubscribe trends over time: Build a summary report grouped by month that shows total bounces and unsubscribes. Run it monthly. A sudden spike after a specific campaign tells you something went wrong with that list or content. A gradual climb tells you your database hygiene needs attention. Either way, you catch it before it damages the sender's reputation.
How to Use Salesforce Reports to Build Better Email Send Lists
The fastest way to build a targeted email list in Salesforce is to use a saved report as your send list directly, instead of exporting and importing contacts manually.
Most teams still export reports to CSV, clean them up, and upload them into their email tool. Every step adds risk. Contacts who opted out between the export and the send slip through. Duplicates creep in. The list is stale before the email goes out.
Skip that entire chain. Build a report that filters for Email Opt Out equals False, targets the contacts you want, and saves it. That report becomes a live audience that updates every time Salesforce refreshes the data.
Salesforce-native email tools likeMassMailer let you select a saved report as your campaign audience directly. No export, no import, no cleanup. When a contact opts out, the report reflects it immediately, and that contact drops out of the next send automatically.
Start Sending Smarter Emails From Salesforce
Your Salesforce reports already hold the data you need to run better email campaigns. The contacts, the engagement history, the opt-out status, and the account-level patterns. It's all there.
The missing piece for most teams is connecting that data to actual email execution without exporting, importing, or rebuilding lists every time.
MassMailer closes that gap. It runs natively inside Salesforce, uses your saved reports as live campaign audiences, and logs every open, click, and bounce back to the contact record automatically.
Frequently Asked Questions
1. What is a Salesforce report?
2. How many report types are available in Salesforce?
3. Can I schedule a Salesforce report to run automatically?
4. How do I share a Salesforce report with my team?
5. Can I add a Salesforce report to a dashboard?
6. What is the difference between a report type and a report format in Salesforce?
Start Your Free Trial Today
Experience MassMailer the easiest way to send personalized emails from Salesforce.
Related Blogs
MassMailer Resources
MassMailer Glossary