Admins

14 Ways to Make Salesforce Reports Run Faster

Christine Marshall

By Christine Marshall

Have you ever clicked “Run Report” in Salesforce and thought, “I’ll just grab a coffee while this loads”? We’ve all been there.

A report starts running, the spinner appears, and suddenly a simple question like “How many Opportunities do we have closing this quarter?” feels like it requires a full investigation.

The good news is that slow Salesforce reports usually aren’t a sign that something is broken. More often, the report is simply asking Salesforce to do too much work.

I’ve seen this happen plenty of times. Someone creates a report to answer one question, but over time it grows. A few extra columns get added, along with a filter “just in case,” and a formula sneaks in, too. Before you know it, a quick report has turned into a giant data search party.

The trick to faster reports is simple: make Salesforce work smarter, not harder. Here are some practical ways to speed up your Salesforce reports and make everyone’s lives a little easier.

1. Start by Asking: Does This Report Need All That Data?

This is one of the easiest wins.

As a Salesforce Admin, picture this: someone says, “This report is really slow.” Then you open it to discover it’s pulling every Opportunity, every related Contact, every field, and historical records going back years.

The report might technically work, but it’s doing a lot of unnecessary heavy lifting.

Before changing anything complicated, look at what your report is actually returning. Ask yourself:

  • Who is using this report?
  • What question is this report meant to answer?
  • What decision is this report helping someone make?
  • Does every field add value?
  • Do we really need every record?

If the answer is no, trim it down. A smaller, focused report will run faster and be much easier for people to use.

2. Remove Columns Nobody Uses

Have you ever opened a report and thought, “Why are we showing all of this?”

Reports come with default columns already added, and then the report collects additional columns over time. Someone needs one extra field, another person needs another field, until eventually the report becomes a giant spreadsheet.

But more information does not always mean more useful information. Take a look across your columns and ask:

  • Does this help someone understand the report?
  • Is this information already obvious from another field or filter?
  • Would anyone notice if this disappeared?

For example, if your report is already filtered to show only Closed Won Opportunities, the Stage and Probability columns may not add much value.

Removing unnecessary columns helps performance and makes reports easier to read. A cleaner report is a happier report.

3. Be Selective With Filters

Filters are your best tool for telling Salesforce, “Only look at the information I actually need.”

But there’s a difference between a helpful filter and one that creates extra work behind the scenes.

Use “My” and “My Team’s” Filters When You Can

Instead of creating a report that looks at every record in your Salesforce org, consider whether users only need to see their own records or their team’s records.

For example:

  • My Opportunities shows only Opportunities owned by the current user.
  • My Team’s Opportunities shows Opportunities owned by users who report to them.

These filters reduce the number of records Salesforce needs to evaluate, which can help reports run faster. They also make reports more relevant because users see the information that matters to them without sorting through data they don’t need.

Choose Specific Filters

Specific filters are usually faster than broad ones. Where possible, use “Equals” or “Not Equals” instead of “Contains” or “Does Not Contain.” 

For example:

  • Faster: Account Owner equals John Smith.
  • Slower: Account Owner contains John.

The more precise you can be, the less work Salesforce has to do.

This also applies to filter logic. When possible, use AND conditions rather than creating long OR statements that require Salesforce to check multiple possibilities.

Be Careful With Open-Ended Dates

Date filters are another area where small changes can make a big difference. A filter like “Close Date is greater than seven days ago” keeps changing and may require Salesforce to evaluate a large amount of data.

A more focused filter like “Close Date equals This Quarter” gives Salesforce a clearer target.

Defined date ranges are especially helpful for reports that run regularly, such as weekly sales reports or monthly pipeline reviews.

Filter on Fields Salesforce Can Process Efficiently

The field you filter on can also make a difference.

Some Salesforce fields are designed to work well with searches and filtering, including:

  • Record ID
  • Name
  • Owner
  • Created Date
  • Record Type

Lookup fields, master-detail fields, and custom fields marked as External ID can also be useful when building efficient reports.

When creating a report, think about what information you need and how Salesforce is finding that information.

The goal is simple: give Salesforce a clear path to the answer instead of asking it to search through everything.

Use Cross Filters Thoughtfully

Cross filters are a powerful Salesforce reporting tool because they let you filter records based on related records.

For example:

  • Show Accounts with Opportunities.
  • Show Accounts without Cases.
  • Show Contacts with Activities completed this month.

They can be incredibly useful, but they also give Salesforce more work to do.

A standard filter asks Salesforce to check a field on the record you’re reporting on. A cross filter asks Salesforce to check another object and evaluate the relationship between those records.

For example, a report showing “Accounts without Opportunities” requires Salesforce to look at Accounts and then check whether related Opportunity records exist.

That’s perfectly fine for smaller datasets, but in a large Salesforce org, multiple cross filters or cross filters on objects with millions of records can slow report performance.

A few tips:

  • Use cross filters when they genuinely answer a reporting question.
  • Avoid stacking multiple cross filters unless they’re necessary.
  • Combine them with selective filters on the main report whenever possible.

If users frequently need the same cross filter, consider whether a dedicated field or automation could store that information instead. 

READ MORE: What are Cross Filters in Salesforce Reports?

4. Be Intentional With Formulas

Formulas are one of the reasons Salesforce reports are so powerful. They let you calculate information without exporting everything to Excel and manually working through it. But like anything powerful, they need to be used carefully.

Report formulas are great for quick calculations, but remember that Salesforce has to calculate them every time the report runs.

Here are a few ways to improve formula performance:

Move Repeated Calculations into Formula Fields

If a calculation is used regularly, consider creating a formula field instead of building it directly into the report.

Formula fields are not automatically faster in every scenario, but Salesforce recommends moving frequently used report formulas into formula fields on the report type because summary and row-level formulas are recalculated at report runtime, which can increase execution time.

Avoid Unnecessary Object References

If your formula reaches into objects that are not already part of your report type, Salesforce has extra work to do.

Instead, consider whether your report type should include those objects.

READ MORE: Ultimate Guide to Creating Custom Report Types

Use Row-Level Formulas Carefully

Row-level formulas are great for one-off analysis, but they can slow down larger reports.

If a report is taking a long time and includes row-level formulas, try removing them and see whether performance improves. 

Filtering by a row-level formula also slows down reports!

READ MORE: Summary Formulas vs. Row Level Formulas in Salesforce

5. Keep Bucket Columns Simple

Buckets are a handy Salesforce feature because they let you categorize information without creating a new field.

For example, you might bucket Opportunity amounts into:

  • Small deals.
  • Medium deals.
  • Large deals.

However, the downside is that Salesforce has to check every record and decide which bucket it belongs in. If your report is already slow, lots of buckets can add extra processing time.

Before adding more buckets, ask whether you could:

  • Use an existing field.
  • Use a formula field.
  • Reduce the number of categories.

Sometimes fewer categories tell the story better anyway.

READ MORE: 10 Advanced Salesforce Reporting Features

6. Choose the Right Report Format

The type of report you choose can also affect performance. Salesforce offers several report formats, and each one requires a different amount of processing.

A tabular report is usually the simplest because Salesforce only needs to return a list of records. These are often the best choice when someone just needs a straightforward list of information.

Summary and matrix reports require more work because Salesforce needs to group records, calculate totals, and display summaries. The more groupings and calculations you add, the more processing is required.

Joined reports can be even more complex because Salesforce is combining multiple report blocks into one view.

This doesn’t mean you should avoid summary, matrix, or joined reports. They are incredibly useful when you need analysis or comparisons. The key is to use the simplest report format that answers the question.

Before adding another grouping, calculation, or report block, ask:

  • Does this help someone make a decision?
  • Will anyone actually use this information?
  • Could a simpler report do the same job?

A focused report will usually run faster than one trying to answer every possible question at once.

READ MORE: 5 Salesforce Report Types You’re Probably Using Wrong (And How to Use Them the Right Way)

7. Hide Detail Rows When You Only Need a Summary

Sometimes people don’t need every record. They just need the headline numbers.

For example, a sales manager might not need to see every Opportunity. They may only need:

  • Total pipeline by sales rep.
  • Opportunity counts.
  • Won Opportunity amount totals.

In those situations, hiding detail rows can help. You’ll still see your groupings, totals, subtotals, and counts, but Salesforce doesn’t need to display every individual record.

It’s a small change that can make a big difference.

8. Simplify Sharing Rules

Sharing rules are essential for making sure the right people can access the right records. However, in larger Salesforce orgs, complex sharing models can add extra work when Salesforce evaluates which records a user is allowed to see.

Every time someone runs a report, Salesforce must apply the user’s access permissions before returning results. If your organization has a complicated sharing model with many exceptions, manual shares, and overlapping rules, it can make reporting and troubleshooting more difficult.

This is especially important in large Salesforce environments with:

  • Millions of records.
  • Complex role hierarchies.
  • Many sharing rules.
  • Frequent changes to user access.

A good sharing model should be as simple as possible while still meeting business requirements.

Review your sharing setup regularly and ask:

  • Are all sharing rules still needed?
  • Do multiple rules provide the same access?
  • Are there old exceptions that no longer apply?
  • Could access be managed more simply through roles, permission sets, or teams?
READ MORE: Salesforce Sharing Rules: A Complete Guide for Admins and Consultants

9. Empty Your Salesforce Recycle Bin

Deleting records doesn’t immediately mean they disappear.

Salesforce keeps deleted records in the recycle bin for a period of time, just in case they need to be restored.

That safety net is helpful, but if your organization regularly deletes large amounts of data, those records can still affect performance.

If you’ve been doing a big cleanup project, don’t forget the final step: empty the recycle bin.

10. Don’t Keep Clicking Run Report

If your report is taking too long, I guarantee your users are clicking Run Report again, repeatedly.

Unfortunately, each click starts another report run. You’re not speeding things up. You’re just asking Salesforce to do the same job multiple times.

If a report is slow, stop and review the design instead. The best solution is usually improving the report, not repeatedly running it.

11. Let Dashboards Do the Heavy Lifting

Here’s a fun tip I found on the Salesforce Developers site: share a dashboard with your users instead of a report. 

If you have a report that takes a while to run, it might be worth asking whether users need the report itself or just the information it contains.

In many cases, a dashboard can be a better option. Instead of multiple people running the same report throughout the day, they can view the results in a dashboard that’s already pulling together the key metrics they need, reducing the number of times Salesforce needs to run the underlying report.

READ MORE: Complete Guide to Creating Dashboards in Salesforce

12. Run Large Reports at Quieter Times

If a report processes a lot of information, running it during your busiest hours may not be the best option.

Consider scheduling reports for quieter times and subscribing users so the information is delivered when it’s ready.

This saves users from waiting around and reduces repeated report runs.

READ MORE: How to Create a Report in Salesforce

Sometimes the problem isn’t that your report is too big. It’s that you’re trying to use one report to answer too many questions.

If you need to track changes over time, reporting snapshots can help. They allow you to capture report data at specific points in time so you can analyze trends later.

For example:

  • How has our pipeline changed month over month?
  • How many cases did we have at the start of each quarter?
  • How is our sales performance trending?

Instead of repeatedly running massive reports, snapshots give you a cleaner way to look back.

READ MORE: How to Set Up Salesforce Reporting Snapshots – Freeze Data for Future Reference

14. Build Reports People Can Actually Find and Reuse

A surprising amount of Salesforce report performance comes down to report management. Many organizations have hundreds or thousands of reports because nobody knows which ones are still useful.

Instead of creating a new report when you can’t find the report you need:

  • Use clear naming conventions.
  • Create reusable templates.
  • Remove outdated reports.
  • Keep important reports organized in folders and sub-folders.

A tidy report library makes everyone more efficient.

Final Thoughts

The fastest Salesforce reports usually have one thing in common: they are focused. They answer a specific question, use only the data they need, and avoid unnecessary complexity.

When a report is slow, don’t immediately assume Salesforce needs more power, or something needs rebuilding.

Start with the basics: remove unnecessary data, tighten filters, reduce columns, simplify formulas, keep your reports clean.

A little report housekeeping can go a long way. Your users get answers faster, your Salesforce org stays healthier, and everyone spends less time watching that loading screen.

The Author

Christine Marshall

Christine Marshall

Christine is a 12x certified Salesforce Hall of Fame MVP and leads the Bristol Admin User Group.

Leave a Reply