Skip to content
Academy
Marketing Academy · Field Work●Email & Lifecycle
MiniAudit· 35 minutes

The Sunset Call: Auditing FirstCry's Dormant Subscriber Export

FirstCry (Brainbees Solutions)

Objective: Given a 30-contact dormant subscriber export with last-open, last-click, and last-purchase dates, apply the lesson's multi-signal dormancy definition to segment by depth of inactivity and flag who is suppression-ready.

You're the CRM analyst at FirstCry (Brainbees Solutions) validating which dormant contacts deserve the win-back sequence versus immediate suppression, ahead of a Diwali sale send.

Apply 'no click AND no purchase AND no site visit in X days' rather than opens alone, then split the export into recently-lapsed, deep-sleepers, and suppression-ready buckets.

Before you start

What you'll need

Free path (everything below is enough to finish)

FreeFilter, formula-check, and bucket the dormant export

Free, handles formula-based multi-signal filtering without a platform login

Paid upgrades (optional, faster/deeper)

Klaviyo(optional)
FreemiumBuild the recently-lapsed / deep-sleeper segments as live, auto-updating lists

Segments recompute automatically as contacts' activity changes, instead of a static one-time export

No access? Re-export and re-run the Sheets formulas weekly

The process

2 steps

Step 01 of 02

Defining dormancy with multiple signals, not just opens

The lesson's Step 1 warns that Apple Mail Privacy Protection inflates opens for roughly half of iOS users, so a clean dormancy trigger needs 'no click AND no purchase AND no site visit', not opens alone.

12 of the 30 rows show 0 opens in 120 days but 3 site visits and 1 click. Are they dormant?

Google Sheets— Import dormant-export.csv, add a computed 'true dormancy' column.

Procedure

  1. Import dormant-export.csv and freeze the header row
  2. Add a formula column: TRUE dormant only if clicks=0 AND purchases=0 AND site visits=0 in the window
  3. Flag the 12 opens-only-zero rows as active, not dormant, since they clicked or visited
Sample output
FALSE POSITIVE (opens=0, but active)
  row 14: 0 opens / 3 site visits / 1 click, 118 days   -> NOT dormant
TRUE DORMANT
  row 22: 0 opens / 0 clicks / 0 visits, 140 days   -> dormant

Healthy

The dormant segment excludes anyone with a click or site visit, even at zero opens.

Unhealthy

Filtering on 'opens = 0' alone and sending sunset emails to people who are actually still browsing.

What this means

Opens are the least reliable signal in the export; clicks and visits are ground truth.

So what do I do about it?

SymptomActionEffort
The dormant filter uses only the opens columnAdd clicks and site-visit columns to the dormancy formula before segmenting5 min
YouYou can do this yourself, no engineering access required.

Step 02 of 02

Segmenting by depth of inactivity before sending

The lesson's Step 2 says a subscriber silent for 95 days gets a lighter touch than one silent for 14 months, and cites a Litmus study where targeting only the top decile of lapsed engagers outperformed blasting the full dormant cohort.

Of the true-dormant rows, 9 lapsed 90-120 days ago and 5 lapsed 300+ days ago. Do both get the same sequence, at the same time?

Google Sheets— Same sheet, sort the true-dormant rows by days-since-last-activity.

Procedure

  1. Sort true-dormant rows by days-since-last-activity, ascending
  2. Bucket into 'recently-lapsed' (90-150 days) and 'deep-sleepers' (150+ days)
  3. Flag any row past 365 days with a prior failed win-back attempt as suppression-ready, not resend-ready
Sample output
RECENTLY-LAPSED (9 rows): send Week 1
DEEP-SLEEPERS (5 rows, 300+ days): send Week 2, lighter frequency
SUPPRESSION-READY (3 rows): already completed one sequence with zero engagement, skip resend

Healthy

Recently-lapsed contacts get the sequence first; deep-sleepers wait and get fewer touches; repeat non-responders are suppressed, not resent.

Unhealthy

Blasting the full 14-row dormant list in one send regardless of how long each has been silent.

What this means

Depth of dormancy changes both timing and volume, not just messaging.

So what do I do about it?

SymptomActionEffort
The send plan treats 95-day and 300-day silence identicallySplit the send into two waves by dormancy depth, deep-sleepers get Week 230 min
YouYou can do this yourself, no engineering access required.

Final deliverable

A segmented version of the export with three tagged buckets, recently-lapsed, deep-sleepers, and suppression-ready, plus a one-line send-order recommendation.

See a reference example
Sample output
Instacart, dormant list audit (excerpt)

RECENTLY-LAPSED (Week 1 send): 14 contacts, 90-140 days silent, no click/visit/purchase
DEEP-SLEEPERS (Week 2, lighter touch): 6 contacts, 150-280 days silent
SUPPRESSION-READY (skip): 4 contacts, already completed one sequence with zero engagement

Success criteria

You're done when you can:

  • Correctly excludes opens-only-zero rows that had a click or site visit
  • Splits true-dormant rows into recently-lapsed and deep-sleeper buckets
  • Flags repeat non-responders as suppression-ready rather than resend targets