All guides
HubSpotCompliance

HubSpot Data Retention Best Practices

By SearchReplace··9 min read

Most HubSpot portals accumulate data indefinitely. Contacts from campaigns that ended years ago, deals that were lost in 2019, tickets for products you no longer sell -- they are all still there, quietly inflating your record counts, slowing down list processing, and making it harder to find the data that matters.

A data retention policy defines what you keep, for how long, and what you do with it when the retention period expires. It is a compliance requirement under GDPR and a practical necessity for maintaining a usable CRM.

Why data retention matters

Compliance

GDPR's storage limitation principle (Article 5(1)(e)) states that personal data should be "kept in a form which permits identification of data subjects for no longer than is necessary for the purposes for which the personal data are processed." In plain language: do not keep personal data longer than you need it.

If you cannot articulate a business reason for keeping a five-year-old contact record for someone who never became a customer, you probably should not be keeping it.

CRM performance

HubSpot's performance is generally good, but data volume affects certain operations:

  • List processing. Active and static lists that evaluate millions of records take longer to process.
  • Reporting. Reports that scan large datasets are slower, and the UI can lag.
  • Search. The global search can be slower when there are millions of records to index.
  • Exports. Exporting large datasets takes longer and can time out.

Data quality

Old data degrades over time. Email addresses go stale, people change jobs, companies get acquired. Records you imported three years ago and never touched since are likely riddled with inaccuracies. Keeping them in your CRM dilutes your data quality metrics and makes it harder to trust the data you actually use.

Cost

HubSpot's pricing tiers include record limits. Marketing contacts, in particular, have hard limits that directly affect your bill. Keeping contacts you are not marketing to means you are paying for records that provide no value.

Building a data retention policy

A data retention policy does not need to be a hundred-page legal document. It needs to answer four questions for each category of data.

1. What data are you keeping?

Categorize the data in your HubSpot portal:

  • Active customer records. Contacts, companies, and deals associated with current customers.
  • Active prospect records. Contacts and companies in your active sales pipeline.
  • Marketing contacts. Contacts you are actively marketing to.
  • Historical customer records. Former customers who have churned or let their contracts lapse.
  • Lost deal records. Deals that were lost or abandoned.
  • Event and campaign records. Contacts from specific campaigns, webinars, or events.
  • Support tickets. Closed ticket records from past support interactions.
  • CMS content. Blog posts, landing pages, and other content.

2. How long should you keep it?

There is no universal answer. Retention periods depend on your industry, your legal obligations, and your business needs. Here are some common guidelines:

Data CategoryTypical Retention PeriodRationale
Active customersDuration of relationship + 1-3 yearsNeeded for ongoing service and reasonable follow-up
Active prospects12-24 months from last engagementIf they have not engaged in a year, they are likely stale
Marketing contacts (unengaged)6-12 months from last engagementUnengaged contacts hurt deliverability and cost money
Lost deals12-24 monthsUseful for win/loss analysis, diminishing value over time
Closed support tickets12-36 monthsNeeded for pattern analysis and escalation history
Event/campaign contacts6-12 months post-eventShort-term value; archive or purge after follow-up
Blog contentIndefinite (unless outdated)SEO value persists; update or redirect rather than delete

Adjust these based on your sales cycle length, industry regulations, and how your team actually uses historical data. A SaaS company with a one-month sales cycle has different needs than an enterprise vendor with eighteen-month procurement cycles.

3. What happens when the retention period expires?

You have three options:

  • Delete. Remove the record entirely. This is the cleanest option for data you truly do not need. Use GDPR delete for personal data when applicable.
  • Anonymize. Strip personal identifiers but keep the record for aggregate analysis. Replace names with "Anonymized Contact," clear email and phone fields, but keep company, deal amount, and other non-personal data for reporting.
  • Archive. Export the data to cold storage (a secure file or database) and delete it from HubSpot. This preserves the data for potential future need without cluttering your active CRM.

4. Who is responsible?

Assign ownership of the retention policy:

  • Policy owner. Someone (usually in ops or legal) who defines and updates the policy.
  • Execution owner. Someone (usually in ops) who runs the actual purge or archival operations on schedule.
  • Review cadence. How often the policy is reviewed and updated (annually at minimum).

Implementing retention in HubSpot

Using lists to identify records for purge

Create HubSpot lists that identify records approaching or exceeding their retention period:

  • "Unengaged marketing contacts" -- Marketing contacts who have not opened or clicked an email in the last 12 months and are not associated with any open deal.
  • "Stale prospects" -- Contacts with no activity in the last 18 months and no associated revenue.
  • "Old lost deals" -- Deals with a close date more than 24 months ago and a "Closed Lost" stage.
  • "Ancient tickets" -- Tickets closed more than 36 months ago.

These lists serve as your purge candidates. Review them before taking action to make sure you are not catching records that should be retained.

Using workflows for automated warnings

You can set up workflows that notify record owners when their records are approaching the retention deadline. For example:

  • A workflow that sends an internal notification when a contact has been unengaged for 10 months, giving the owner a two-month window to re-engage before the record is purged.
  • A workflow that sets a custom property like "Retention Status" to "Scheduled for Purge" when criteria are met, making it easy to filter and review.

Cleaning up before deletion

Before deleting records, consider running a cleanup pass:

  • Export the records you are about to delete, so you have a backup.
  • Search for personal data references in other records. If a contact you are deleting is referenced by name in deal notes or ticket descriptions, clean up those references first.
  • Check for active associations. Make sure the contact is not associated with any active deals, tickets, or other records that need the association.

A search-and-replace tool is useful here for the second step -- you can search for a person's name or email across all object types and text properties to make sure you are not leaving orphaned personal data behind.

Handling marketing contact limits

HubSpot's marketing contact pricing means unengaged contacts have a direct financial cost. Your retention policy should include specific criteria for when a marketing contact is downgraded to non-marketing:

  • No email opens or clicks in 6 months
  • No form submissions in 12 months
  • No website visits in 6 months
  • Not associated with any open deal

Downgrading to non-marketing is less drastic than deletion and should be your first step for contacts who are not engaging but are not yet old enough for full purge.

What to clean up during a retention review

When you run your periodic retention review, check these areas:

Stale properties. Properties that have not been updated on any record in over a year may no longer be in use. Check with your team and archive them.

Outdated property values. If your retention review reveals that 30% of your contacts have "Company Name" values referencing companies that have been acquired or renamed, that is a cleanup opportunity. A bulk search-and-replace can fix these efficiently.

Duplicate records. Old records that were never merged create data quality issues and inflate record counts. Run HubSpot's duplicate detection tool and merge what you can.

Bounced email contacts. Contacts with hard-bounced email addresses should be purged from marketing contact status and, if they have no other value, deleted.

Unsubscribed contacts with no deal history. Contacts who have unsubscribed from all communications and are not associated with any revenue may be candidates for deletion. They are not marketable and not revenue-generating.

Common mistakes in data retention

Keeping everything "just in case." This is the default behavior for most teams, and it is the opposite of a retention policy. "Just in case" is not a business justification under GDPR.

Deleting without exporting first. Always export records before deletion, even if you think you will never need them. Storage is cheap; recreating lost data is expensive.

Applying retention uniformly. Not all data has the same value or the same compliance requirements. A paying customer's record and a random webinar attendee's record should not have the same retention period.

Forgetting about CMS content. Blog posts and landing pages can contain personal data (customer quotes, case study details, named testimonials). Include content reviews in your retention process.

Not documenting the policy. An unwritten retention policy is not a policy. Document it, get stakeholder sign-off, and make it accessible to your team.


A data retention policy is one of those things that feels like overhead until you need it. Whether it is a GDPR audit, a HubSpot plan renewal where record counts matter, or just the frustration of working in a CRM cluttered with dead data -- the teams that invest in retention practices are the ones who maintain a CRM they can actually trust and use effectively.

Related HubSpot guides for planning, previewing, and validating the next step.

Still editing HubSpot records one by one?

Start with 100 free applied records — no credit card required.