I am trying to make a report that shows which closed won deals within a time period had at least one sales activity from one of the sales reps. The report ends up showing ALL the sales activities by ALL the sales reps and duplicating the deal multiple times in the report. How can I solve this?
Hi @awcw,
If you’re not visualizing any activities in the report itself, but just need to filter by the fact that there was at least one sales activity, then you should do the following:
- Select Deals as data source only (no activities)
- Filter by “Last activity date is known”
- Proceed to visualize what you want to show
Generally, if you select deals as primary data source (and not activities) and visualize the “Count of deals” (and not “Count of activities”), you shouldn’t see any deals duplicated. If you share a screenshot of your report configuration (including data sources and fields in the visualization), I can confirm.
Best regards
Hi @awcw
Your report is duplicating deals because it’s pulling at the activity level, every activity tied to a deal creates another row.
If you want to keep some activity details in the report but avoid duplicates:
- Set Deals as the main data source
- Add the activity fields you want, but change them to aggregated fields (for example, Max activity date, Min activity type) so there’s only one row per deal
- Display Count of deals or deal properties instead of Count of activities
This way you still see the activity context without the same deal showing multiple times.
Hope this works. You can check this link too: Understand the custom report builder
Hi @awcw !
This happens because HubSpot shows a separate row for each activity linked to the same deal. To avoid duplicates, you can:
- Change the report type – Use a Single object report on Deals instead of a Cross-object report with Activities.
- Filter for “Has Activity” – Add a filter like “Last engagement date is known” or “Activity count > 0” so it only shows deals with at least one activity.
- Use aggregation – In the “Display” tab, change the view to “Unique records” or use “Count of activities” instead of listing each one.
Hope this helps !
This doesn’t allow me to filter only activites done by certain users, which is what is needed here.
Unfortunately none of these solutions work. I need to see:
Any deal (counted only once) with any activity (call, meeting, or email) for only specific members of the team. That means that I have to be able to filter by WHO did the activity. When I try creating a report that does this, the deals are counted multiple times, showing every activity by those individuals.
Is it possible to create a report that does NOT count all activities, or only counts each deal once regardless of the number of activities done by the people who I filter by?
Hey @awcw - thanks for following up!
Because HubSpot’s reporting tracks each activity for each of the objects in the report, this doesn’t appear to be possible. But I’d like to engage with the original three Community members who followed up to see if there are any known workarounds!
Shane, Community Manager
@awcw the report details will always show the entire underlying data basis – for exporting, for example. It is not possible to have these 1,8k rows reduced to the number of deals (apparently 448) as otherwise, an export could not contain all information required to generate the visualization based on the filters.
What matters however is the visualization, the KPI chart that shows the 448. Is this not the correct number of deals?

