How do you ensure that a given contact doesn't get too many emails?

Top Contributor

Hi there,

to date in HubSpot there is no way to check the number of emails a contact got in a defined amount of days


HubSpot solutions:

  • The property `Marketing emails delivered` keeps track of the total number of marketing emails delivered for the email address. This is automatically set by HubSpot. The thing is that this is the total number of emails within the entire contact lifespan and is not that useful when it comes to calculating the pressure we put on a contact e.g: daily/weekly/monthly.


  • There is also the HubSpot Frequency safeguard functionality which is a great tool but is not enough in my case. It applies to all the contacts, and, even if you can override it on specific emails, it does not let me see the tot emails that a single contact gets.

My tweak: I built a chain of workflows based on delays and multiple enrolments that calculates the # of emails delivered per each contact on a weekly basis and puts it in a contact property).

  • Pros: it works and helps me calculate it + it is a contact property so it is flexible and you can apply to e.g: lists/enrolment criteria in workflows
  • Cons: it is a tweak, not a HubSpot native property; this means tons of WFs and, since we send hundreds of thousands of emails per week sometimes it impacts HubSpot computational capacity and it slows down the WF tool

 How do you manage the email pressure and how do you prioritize emails among contacts? I am so curious to hear how you manage it and also what's the HubSpot product team point of view here. Of course, would be great having it developed by HubSpot!


Let me know what you think about it!


Kind regards,

5 Replies 5
Top Contributor

Replying to this, unfortunately not with a solution, but just to point out this is a pain point for us, as well.

Top Contributor

Something that I have noticed in the lists for filtering, is some properties do allow you to set a date range for the filter under "Refine filter condition", while others don't. So, it could just need something like adding that option to the "Marketing emails delivered" property, so you can see oh, for all time they've received 30 emails but within X timeframe, it's 5. Hopefully this is something HubSpot could look into. 🙂


As for how we manage it, right now we suppress any new subscribers who are currently in our welcome series workflow from receiving our adhoc sales and other emails that we send out each week. This helps reduce how many they'll receive at once. So you could do this with multiple workflows, and you can also do some suppression/exclusion on the workflow side as well.

Top Contributor

@ridingforlife Definitely agree with the time criteria! This would be SO helpful!

HubSpot Employee

Hi Ricardo,


I've helped several customers do this when they want more flexibility than just the email fatigue settings in portal.  This sounds a bit complex but only takes about 20 minutes to set up!


I recommend creating new properties for however many sends you'd like to check.  Your email frequency can be a good place to start here.  Ex: If most contacts receive 5 emails per month so if someone is already at 5 emails within a 30 day period we might want to throttle our sending for less important emails.


To do this you would create the following date properties:

Most recent marketing email send date

2nd most recent marketing email send date

3rd most recent marketing email send date

4th most recent marketing email send date

5th most recent marketing email send date



Then set up a workflow so that every time last marketing email send date is known to update all of those properties accordingly:

Enrollment Trigger: Last Marketing Email Send Date is Known - Make sure to allow for re-enrollment! 
1st Action
Copy 4th most recent to 5th most recent
2nd Action
Copy 3rd most recent to 4th most recent
3rd action
Copy 2nd most recent to 3rd most recent
4th action
Copy most recent to 2nd most recent 
5th action
Set most recent to "date of step"  
**End of workflow** 
After the workflow, create list where 5th most recent send date is less than 30 days ago.  This will then bring in all contacts who have received at least 5 sends in 30 days.  You can use this as suppression or add it to any master suppression lists you may already be using. 
If you go even further to, say, 10 most recent dates you can create lists  for each date and easily see how many of your contacts have received X number of emails within a X day period.  I definitely agree that this would be great to have natively though and will continue pushing for that internally!
- Jeff @ HubSpot
Top Contributor

Hi there @jfields,


thanks a lot for your suggestion, I really like the Idea of copying fom one time stamp to another dynamically. 


What I did  is a bit different:


In this way with 1 property I can track more emails per week dynamically - But again, it's a tweak Robot Very Happy


As you can see: 

  • Once the email is sent, I increase the contact property e-mail pressure by +1
  • I then enroll the contact immediately in another WF  - There are 19 of them!
  • The other WFs are only timers as you can see that, after 7 days, decrease the property of 1 - So you get a +1 as soon you receive the email and a -1 after 7 days
  • basically every time a contat receives an email it gets a + 1 by the main WF and then it goes in one of those 19 other workflows

My frameork is a bit different - In my case I wanted to use only one property - We have almost reached the max amount of properties in our portal unfortunately.


I would love to have smth like that set internally Robot wink


Again, thanks a lot for sharing your idea : - )