Here is a confession most Salesforce Admins will relate to: your Reports & Dashboards setup probably works, but it is nowhere near as efficient as it could be.
You have built reports that load slowly. You have a "dynamic" dashboard that is not actually dynamic. And you still manually email a weekly pipeline summary to your VP every Monday morning.
This article skips the basics. Instead, it tackles 5 high-impact mistakes that even experienced Admins make β with specific fixes you can implement today.
π 1. Picking the Wrong Report Type
The very first choice you make when creating a report β the report format β determines everything downstream. Get it wrong, and no amount of formatting will save you.
| Report Type |
Best For |
Common Misuse |
| Tabular |
CSV exports, simple lists, one-off data dumps |
Using it for overview dashboards β no grouping means no trends visible at a glance |
| Summary |
Grouped data with subtotals (e.g., "Opportunities by Stage with sum of Amount") |
Treating it as a Matrix β single-dimension grouping only; multi-dimension analysis is impossible |
| Matrix |
Two-dimensional cross-analysis (e.g., "Pipeline by Month Γ Product Line") |
Using it for large data sets β Matrix readability collapses with too many rows/columns |
| Joined |
Cross-object reporting (e.g., "Opportunities with related Activities") |
Reaching for it by default β Joined reports cap at 5 blocks, and each block's data is independent (not a true SQL JOIN) |
π‘ Pro Tip: A Summary report handles 90% of use cases. Only reach for Matrix when you genuinely need row Γ column comparisons, and use Joined reports solely for cross-object data that cannot be expressed through report types alone. Overcomplicating your report type is the single biggest source of unnecessary complexity.
π 2. Ignoring the 3 Most Powerful Filters
Most Admins use basic field filters and stop there. But Salesforce Reports ship with three power-user features that most teams never touch:
-
Relative Date Filters: Stop hard-coding "Created Date = THIS_MONTH". Use
LAST_N_DAYS:30 instead. Your reports will auto-update without any manual intervention β this is the foundation of automated weekly/monthly reporting.
-
Cross Filters: Filter objects based on child record conditions. Example: "Opportunities with NO activities in the last 90 days" β invaluable for data cleanup and pipeline hygiene. Each report supports up to 3 cross filters.
-
Row-Level Formulas: Create calculated fields right inside the report builder, without touching Schema Builder. Need a "Conversion Rate = Won Γ· Total" column? Row-Level Formula gets it done in 5 minutes β zero developer involvement required.
ποΈ 3. Misunderstanding Dynamic Dashboards
Here is the most common misconception about Dynamic Dashboards: they are not about making your data "look dynamic." They are about permission scoping.
-
Static Dashboard: Every viewer sees data through the dashboard creator's permission lens. Your VP opens it β and sees numbers filtered by your data access, not hers.
-
Dynamic Dashboard: Each viewer sees data scoped to their own permissions. The Sales Manager sees her team's pipeline; the individual rep sees only their own deals.
β οΈ Important: Dynamic Dashboards are limited per Org (Enterprise Edition caps at 10, Unlimited at 20). Do not burn them on dashboards that only one role will ever view. For those, use the "Run as specified user" mode β it achieves the same data scoping without consuming your Dynamic Dashboard limit.
π¬ 4. Manually Sending Reports When Subscriptions Exist
If you are still exporting a report to PDF and attaching it to an email every Monday morning, you are doing unnecessary work.
Salesforce Report Subscriptions let you:
-
Schedule: Daily, weekly, or monthly delivery at a specific time
-
Conditional sending: Only send when the report has data β no empty emails cluttering inboxes
-
Rich recipients: Salesforce users, external emails, Public Groups, and Roles β all supported
-
Inline delivery: Data appears directly in the email body; recipients do not need to log into Salesforce
For monthly pipeline summaries, weekly team reports, and data alerts (e.g., "notify when conversion rate drops below threshold"), automate everything with subscriptions.
π‘ Pro Tip: Name your subscriptions descriptively: "Weekly_East_Region_Pipeline_Summary", not "Report Subscription 1". When you have 20+ subscriptions, meaningful names are the difference between a maintainable system and chaos.
π 5. Overlooking Report Performance & Permissions
Slow reports are rarely caused by data volume alone. The real bottleneck is almost always the permission model.
-
Folder sharing β Data visibility: Placing a report in a shared folder only controls who can see the report exists. The actual data within is governed by the viewer's object-level and record-level permissions.
-
Sharing Rules Γ Reports = Performance hit: When a user has "View All" on an object, aggregate reports can scan massive record sets and time out. For org-wide, full-data visibility dashboards, use Reporting Snapshots to materialize data on a schedule instead of computing live every time.
-
Dashboard Running User: This is the #1 overlooked setting. If your dashboard's running user has restricted permissions, the dashboard data will be incomplete. Always use a dedicated Integration User with sufficient "View All Data" or "View All" access as your running user.
π 3 Things You Can Do Right Now
-
Audit your reports: Open the Reports tab, sort by "Last Modified", and archive anything untouched for 3+ months. Stale reports clutter the recent list and confuse users.
-
Automate one manual email: Find the one report you manually email every week. Spend 10 minutes setting up a subscription. It is a one-time investment that pays back every single week.
-
Check your dashboard running users: Open your 3 most-used dashboards and verify the running user is a dedicated service account with full access β not a regular user whose permissions may change.
References: Salesforce Reports & Dashboards Documentation Β· Trailhead: Reports & Dashboards Module