← Back to Metrics

Unsubscribes

Also known as: Email Unsubscribes, Email Opt-Outs, Opt-Outs, Unsubscribe Count, Unsubscribed

EngagementmetricE-commerce: Top-of-Funnel & Marketing AcquisitionE-commerce

Count of unique subscribers who opt out of marketing email in the period, as recorded by the ESP. Spam complaints and hard bounces are excluded; it is the numerator of unsubscribe rate.

Business Use Case

1️⃣ CRM Marketing sees a campaign's unsubscribes spike over its trailing average and cuts send frequency to that segment.,2️⃣ Marketing pauses an automated flow whose unsubscribes rise after a content or cadence change and reverts the change.,3️⃣ Marketing weighs unsubscribes against email-attributed revenue per campaign when setting the weekly send cap.,4️⃣ Marketing Ops checks one-click unsubscribes reach the suppression list within 2 days, per Gmail and Yahoo sender rules.

Business Criticality

Medium

Journey / Navigation Area

Engagement

Owning Function

Marketing

Scope

User

Formula

COUNT(DISTINCT subscriber_id) of ESP marketing-email unsubscribe events, by unsubscribe timestamp in the reporting period

Calculation Notes

1️⃣ One per subscriber per period: COUNT(DISTINCT subscriber_id); a profile that opts out, rejoins and opts out again counts once.,2️⃣ Includes footer-link, one-click List-Unsubscribe header and preference-center global opt-outs, dated by opt-out time, not send date.,3️⃣ Spam complaints (ISP feedback-loop reports) and hard bounces are suppressions, not unsubscribes; they are reported separately.,4️⃣ Marketing email only: transactional messages (order, shipping, password) are out of scope; SMS and push opt-outs are separate metrics.,5️⃣ Topic-level opt-downs that leave the profile subscribed to other marketing lists are excluded; only loss of email marketing consent counts.,6️⃣ Campaign or flow attribution uses the message ID on the unsubscribe record; preference-center opt-outs without one stay unattributed.,7️⃣ Admin suppressions, CRM-sync imports and GDPR erasures are excluded; only recipient-initiated opt-outs count.

Technical Details

Measure TypeCounter
Aggregation WindowDaily, Weekly, Monthly

Events

SQL Queries

Google Analytics 4 (BigQuery)
-- ==========================================
-- 1. GOOGLE BIGQUERY SQL
-- ==========================================
DECLARE start_date DATE DEFAULT DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY);
DECLARE end_date DATE DEFAULT DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY);

-- Unique subscribers with a recipient-initiated global email-marketing opt-out, dated by opt-out time
SELECT
  COUNT(DISTINCT subscriber_id) AS unsubscribes
FROM `your-project.esp.email_subscription_events`
WHERE DATE(unsubscribed_at) BETWEEN start_date AND end_date
  -- Unsubscribes only: spam complaints and hard bounces are separate suppression types
  AND event_type = 'unsubscribe'
  -- Marketing email only: transactional email, SMS and push are out of scope
  AND channel = 'email'
  AND message_stream = 'marketing'
  -- Footer link, one-click List-Unsubscribe and preference-center opt-outs
  AND unsubscribe_method IN ('footer_link', 'list_unsubscribe_one_click', 'preference_center')
  -- Loss of all email marketing consent; topic-level opt-downs are excluded
  AND consent_scope = 'all_email_marketing'
  -- Recipient-initiated only: admin suppressions, CRM-sync imports and GDPR erasures are excluded
  AND initiated_by = 'recipient';
Adobe Experience Platform (AEP Query Service)
-- ==========================================
-- 2. ADOBE AEP QUERY SERVICE SQL
-- ==========================================
-- Reporting window: last 90 days through yesterday
WITH params AS (
  SELECT
    CAST(DATE_SUB(CURRENT_DATE, 90) AS DATE) AS start_date,
    CAST(DATE_SUB(CURRENT_DATE, 1) AS DATE) AS end_date
)
-- Unique subscribers with a recipient-initiated global email-marketing opt-out, dated by opt-out time
SELECT
  COUNT(DISTINCT e.subscriber_id) AS unsubscribes
FROM esp_email_subscription_events e
CROSS JOIN params p
WHERE CAST(e.unsubscribed_at AS DATE) BETWEEN p.start_date AND p.end_date
  -- Unsubscribes only: spam complaints and hard bounces are separate suppression types
  AND e.event_type = 'unsubscribe'
  -- Marketing email only: transactional email, SMS and push are out of scope
  AND e.channel = 'email'
  AND e.message_stream = 'marketing'
  -- Footer link, one-click List-Unsubscribe and preference-center opt-outs
  AND e.unsubscribe_method IN ('footer_link', 'list_unsubscribe_one_click', 'preference_center')
  -- Loss of all email marketing consent; topic-level opt-downs are excluded
  AND e.consent_scope = 'all_email_marketing'
  -- Recipient-initiated only: admin suppressions, CRM-sync imports and GDPR erasures are excluded
  AND e.initiated_by = 'recipient';

Source Data

CRM

Dependencies

Prerequisite: List the dependencies required for this Metric

Events:

newsletter-subscription

Report Attributes

Campaign Flow Unsubscribe Method Email Domain Subscriber Acquisition Source Customer Segment

Recommended Reporting Views

Views
Email Marketing PerformanceEmail List Health

Segment Eligibility

true

Governance

Data SensitivityInternal

Governance

Created bydevyendarm
Created on10/11/2026
Last modified bydevyendarm
Last modified on10/11/2026
StatusPUBLISHED

GitHub

View related Pull Requestcatalog/metrics/unsubscribes.yml

Community Discussion