All guides
HubSpotCompliance

How to Manage Subscription Status Updates in HubSpot

By SearchReplace··9 min read

Subscription status management in HubSpot is where marketing operations meets legal compliance. Get it right and your contacts receive the communications they opted into, your email metrics stay healthy, and you are on the right side of GDPR, CAN-SPAM, and CASL. Get it wrong and you risk sending marketing emails to people who unsubscribed, which is both a legal liability and a fast way to destroy your sender reputation.

The challenge is that subscription data in HubSpot is spread across multiple systems, is affected by imports, integrations, and manual changes, and has nuances that even experienced HubSpot admins sometimes miss. This guide covers how subscription status works in HubSpot, the common problems that arise, and how to audit and fix subscription data at scale.

How subscription status works in HubSpot

HubSpot manages communication preferences through a system called subscription types. These are categories of email communication that contacts can opt into or out of individually.

Default subscription types

Every HubSpot portal comes with a set of default subscription types, typically including:

  • Marketing Information — General marketing emails, newsletters, promotions
  • One to One — Individual sales and service emails sent from the CRM
  • Customer Service Communication — Support-related emails

You can create custom subscription types for more granular control. For example, you might have separate types for "Product Updates," "Event Invitations," and "Partner Communications."

How subscription status is stored

Each contact has a subscription status for each subscription type. The possible values are:

  • Subscribed — Contact has explicitly opted in
  • Not subscribed — Contact has not opted in (but has not opted out either)
  • Unsubscribed — Contact has explicitly opted out

There is also a portal-wide opt-out status. When a contact clicks "Unsubscribe from all emails" in the email footer, they are globally unsubscribed. This overrides all individual subscription type statuses.

The legal basis property

For GDPR compliance, HubSpot also stores a "Legal basis for processing" property. This records why you are allowed to contact someone — legitimate interest, consent, performance of a contract, etc. This is separate from subscription status but related to it.

Common subscription status problems

Problem 1: Imported contacts with wrong subscription status

When you import contacts via CSV, HubSpot does not automatically subscribe them to any subscription type. Imported contacts have a status of "Not subscribed" by default. If your import process does not explicitly set subscription status, you end up with a large pool of contacts who cannot receive marketing emails even though they gave consent through another channel.

The opposite problem also occurs. Some teams import contacts and manually set them as "Subscribed" without verifying that the contacts actually opted in. This is a compliance risk, especially under GDPR where you need documented consent.

Problem 2: Stale opt-in data after CRM migration

When migrating from another CRM (Salesforce, Pipedrive, Zoho, etc.), subscription status often does not transfer cleanly. The source system may use different opt-in models — a single opt-in flag rather than multiple subscription types, or an "opted out" boolean rather than a per-type status.

After migration, you might have contacts who were subscribed in the old system but are "Not subscribed" in HubSpot because the status was not mapped correctly. Or contacts whose opt-out was not transferred, so they appear available for marketing in HubSpot when they should not be.

Problem 3: Inconsistent opt-in across subscription types

As you add new subscription types over time, existing contacts only have status for the types that existed when they originally subscribed. A contact who subscribed to "Marketing Information" in 2024 has no status for "Product Updates" (which you created in 2025) and will not receive emails sent under that subscription type.

This is by design — HubSpot does not assume consent for new subscription types. But it means your newer subscription types have a much smaller subscribed audience than your older ones, which is often confusing to marketing teams.

Problem 4: Bulk edit accidentally changing subscription data

HubSpot's bulk edit feature in the contact list view includes subscription status fields. If an admin accidentally includes subscription status in a bulk property update, they can mass-subscribe or mass-unsubscribe contacts unintentionally. There is no confirmation dialog specific to subscription changes, and the undo options are limited.

Auditing your subscription data

Before making changes, you need a clear picture of your current subscription landscape.

Step 1: Check subscription type distribution

Go to Settings > Marketing > Email > Subscription Types. For each type, note how many contacts are subscribed, not subscribed, and unsubscribed. If a subscription type has very few subscribed contacts relative to your total database, investigate why.

Step 2: Identify contacts with no subscription status

Create a list of contacts where the subscription status for your primary marketing subscription type is "Not subscribed." These contacts are in limbo — they have not opted in, but they also have not opted out. They may be imports that were never properly subscribed, or they may be contacts who never interacted with your subscription preferences.

Step 3: Check for global unsubscribes

Create a list of contacts who are globally unsubscribed. Compare this list against your active customer list. If active, paying customers are globally unsubscribed, something went wrong — either they unsubscribed intentionally (which you should respect) or there was a data error.

Step 4: Cross-reference with engagement data

Pull a report of contacts who are subscribed but have zero email opens in the past 12 months. These might be invalid email addresses, contacts with the wrong email, or contacts who should be sunset from your email program.

Fixing subscription status issues

Handling imports that missed subscription status

If you identified contacts that should be subscribed but were imported without subscription status, you need to be careful.

If you have documented consent (the contact filled out a form, sent an email saying "subscribe me," or provided consent through another verified channel), you can create an import that sets subscription status to "Subscribed" with the appropriate legal basis.

If you do not have documented consent, you cannot simply subscribe them. Instead, consider running a re-permission campaign. Send a one-time email (which HubSpot allows to non-marketing contacts through a specific feature) asking them to confirm their subscription.

Fixing post-migration status issues

For contacts migrated from another CRM where the opt-in status did not transfer correctly, the fix depends on what records you have.

If the source CRM exported an "opted in" flag and you can verify which contacts had it set, you can prepare an import file that maps those contacts to the correct HubSpot subscription type. Include the subscription status column in your CSV and set it to "Subscribed" for contacts who were opted in.

Always set the legal basis when subscribing contacts. For migrated data, "Legitimate interest" or "Performance of a contract" may apply, but check with your legal team. "Consent" should only be used if you can point to a specific consent event.

Updating property values related to subscriptions

Subscription status in HubSpot is managed through a dedicated system, not a regular contact property. You cannot change subscription status through a standard property find-and-replace the way you would change a phone number or company name.

However, there are related properties that you can update in bulk. The "Legal basis for processing" property and custom properties that track consent source, consent date, or communication preferences can all be searched and updated. If your team uses a custom "Communication Preferences" text property alongside HubSpot's native subscription system, find-and-replace can clean up inconsistent values in that field.

For example, if your custom property has values like "opted in," "Opted In," "opted-in," and "Yes," you can standardize these to a single value.

Using workflows for subscription management

Workflows are the preferred method for managing subscription status changes at scale within HubSpot. You can create a workflow that:

  1. Enrolls contacts based on specific criteria (e.g., imported after a certain date, from a specific source)
  2. Sets subscription status using the "Manage communication subscription" action
  3. Sets legal basis using the "Set legal basis" action

This gives you an auditable record of when and why subscription status was changed, which is valuable for compliance documentation.

Best practices for subscription management

Never mass-subscribe contacts without documented consent. This is not just a best practice — it is a legal requirement under GDPR, CAN-SPAM, and most other email regulations. If in doubt, run a re-permission campaign.

Use double opt-in for new contacts. HubSpot supports double opt-in, where contacts must confirm their subscription via a confirmation email before they are marked as subscribed. This creates a clear consent record and reduces fake sign-ups.

Separate transactional and marketing subscriptions. Transactional emails (order confirmations, password resets) should not be tied to marketing subscription status. Use a separate subscription type or send transactional emails outside the subscription system.

Audit subscription data quarterly. Check for anomalies: sudden drops in subscribed contacts (possible accidental unsubscribe), large numbers of "Not subscribed" contacts (possible import issue), or subscription types with no subscribers (possible misconfiguration).

Document every bulk subscription change. If you import contacts as subscribed, record the justification, the source of consent, the date, and the number of contacts affected. This documentation is essential for compliance audits.

Train your team. Everyone who imports contacts or manages lists should understand the subscription status system. A well-intentioned intern importing a conference attendee list as "Subscribed" without consent documentation can create a compliance liability.


Need to clean up consent-related properties across your HubSpot CRM? SearchReplace helps you standardize property values tied to your subscription management process.

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.