Skip to content

Understand communication subscription events in the custom report builder

Last updated: May 26, 2026

Available with any of the following subscriptions, except where noted:

HubSpot tracks two communication subscription events that you can use in the custom report builder to analyze how contacts' subscription and consent preferences change over time.

Each event records a point-in-time change, so a contact who unsubscribes via a preference page and is later unsubscribed via a workflow will have two separate events—one for each action.

Use case: Subscriber Attrition Root-Cause Analysis & Channel Fatigue Audit

The Problem

During a quarterly performance review, an organization sees a sharp rise in database attrition and opt-outs but lacks the attribution data to pinpoint why.

The team cannot tell whether churn is due to poor audience-content fit, workflow issues, or channel fatigue from high-touch mediums like SMS. This limited visibility blocks targeted retention efforts and system fixes, putting long-term revenue and lead generation at risk.

The Solution

Using point-in-time event tracking, a Marketing Operations Manager can build a custom report to diagnose the precise technical or strategic origin of audience loss.

Rather than relying on static, overwritten contact records, this report captures the historical trajectory of opt-outs, providing an auditable timeline of how and why preferences changed.

Create reports from Communication subscription templates

The report templates available include:

  • Communication subscription activity by month
  • Communication consent activity over the past 6 months
  • Communication subscription activity by source over past year
  • Communication subscription activity over the past 6 months

To create reports from these templates:

  1. In your HubSpot account, navigate to Reporting > Reports.
  2. In the top right, click Create. Then, select Create report.
  3. In the left sidebar menu, click Template report library. Then, click Next.
  4. In the left sidebar menu, click on the Data sources dropdown menu, and select Communication subscriptions.
  5. Select one of the available templates, and continue customizing the settings of your report. Settings may vary by report.
  6. Once you have finished customizing the report, click Save report. The report will now be available to view in your report library.

Understand event types and source values

Below, learn more about what each event type and source value property represents:

Event 1: Communication subscription status updated

This event fires when a contact's subscription status changes for a specific subscription type (e.g., "Marketing Information").

Property What it represents
Subscription type (hs_subscription) The category of content the contact subscribed to or unsubscribed from (e.g., newsletter, product updates).
Subscription status (hs_subscription_status) The contact's subscription status: Subscribed (OPT_IN), Unsubscribed (OPT_OUT), or Not specified (NOT_OPTED).
Source (hs_source) Where the subscription update came from. See Source values table below.
Brand (hs_business_unit_id) The brand associated with this subscription at the time of the update.
Email address (hs_subscriber_email_address) The email address associated with the subscription update.
Phone number (hs_subscriber_phone_number) The phone number associated with the subscription update.
User (hs_user) The HubSpot user who changed the subscription status (if applicable).
Workflow (hs_workflow_id) The workflow that triggered this event (if the source is Workflow).
Email name (hs_email_id) The specific email that led to the subscription update (if applicable).
Form (hs_form_id) The form associated with the subscription update (if applicable).
Import (hs_import_id) The import that updated the contact's subscription status (if applicable).

This event fires when a contact's consent to receive communication on a particular channel (email, SMS, or WhatsApp) is updated.

Property What it represents
Subscription type (hs_subscription) The communication channel: Email, WhatsApp, or SMS.
Subscription status (hs_subscription_status) The contact's consent status. Currently only Unsubscribed (OPT_OUT) is tracked.
Source (hs_source) Where the consent update came from. See Source values table below.
Brand (hs_business_unit_id) The brand this consent status applies to.
Email address (hs_subscriber_email_address) The email address associated with the consent update.
Phone number (hs_subscriber_phone_number) The phone number associated with the consent update.
User (hs_user) The HubSpot user who changed the consent (if applicable).
Workflow (hs_workflow_id) The workflow that triggered this event (if the source is Workflow).
Email name (hs_email_id) The specific email that led to the consent update (if applicable).
Form (hs_form_id) The form associated with the consent update (if applicable).
Import (hs_import_id) The import that updated the contact's consent status (if applicable).

Event source values

Both events share the same Source property values. Here's what each means:

Value

Label

Description

BULK_UPDATE

Bulk subscription update

A bulk action was used to update subscription status for multiple contacts at once.

WORKFLOW

Workflow

A HubSpot workflow action changed the subscription or consent status.

EXTERNAL_API

External API

An update was made through the HubSpot API by an external integration.

LIST_UNSUBSCRIBE

List unsubscribe

The contact unsubscribed via a list-level unsubscribe header in an email.

PREFERENCE_PAGE

Preference page

The contact updated their preferences via the email subscription preferences page.

ONE_CLICK_UNSUBSCRIBE

One click unsubscribe

The contact used the one-click unsubscribe mechanism in the email header.

FORM_SUBMISSION

Form submission

The subscription change occurred as a result of a form submission.

CONTACT_RECORD

Contact record

A HubSpot user manually updated the subscription from the contact record in the CRM.

LEGACY

Legacy systems

The update came from a legacy HubSpot system.

DATA_SYNC

Data sync

The update was applied through a data sync integration (like Salesforce).

IMPORT

Import

The subscription status was changed via a file import.

HUBSPOT_MIGRATION

HubSpot-initiated migration

The update occurred as part of a HubSpot-initiated data migration.

SPAM_REPORT

Spam report

The contact reported an email as spam, which triggered an automatic unsubscribe.

CONVERSATION

Conversation

The update was made through a HubSpot conversations/inbox action.

UNRECOGNIZED

Source not supported

The source of the update couldn't be identified or isn't a supported source type.

Important considerations

Before building reports with communication events, review these key technical behaviors and structural distinctions:

  • Immutable historical logging: Each change to a subscription status or channel consent generates a unique, independent event. HubSpot never updates or overwrites existing events. If a contact modifies their preferences multiple times or through different operational sources, each distinct action produces its own event record, preserving a flawless historical audit trail.
  • Contact-centric architecture: these tracking events are contact-centric and are tied directly to the individual contact record.
  • Subscription types vs. Channels: when configuring your custom reports, note the distinction between these two primary properties:
    • Subscription type (status event): represents specific content categories your organization distributes (e.g., "Marketing Information," "Product Updates").
    • Channel (consent event): Represents the communication medium itself (e.g., Email, SMS, WhatsApp).
Was this article helpful?
This form is used for documentation feedback only. Learn how to get help with HubSpot.