Re-engagement is one of the most reputation-dangerous activities in email marketing. The intuition — "these were once real subscribers, let's wake them up" — is exactly backwards from what mail providers want to see. To Gmail's ML, sending to a recipient who hasn't opened in 18 months is sending to someone who has implicitly unsubscribed. Doing it at scale looks indistinguishable from a fresh purchased list. The blast triggers complaints, bounces, and silent reputation damage that can take months to recover.
Don't blast dormant contacts. Segment by inactivity buckets, send small batches (500-2000) from a separate sending identity, give a single attempt only, suppress non-responders permanently. Done right, you reactivate 5-15% of dead contacts and clean the rest. Done wrong, you destroy domain reputation in 24 hours.
Why re-engagement is dangerous
Three failure modes:
- Bounce spike. Dormant addresses are disproportionately invalid — people change jobs, abandon mailboxes, ISPs disable. A 50K send to dormant contacts can return 10-20% bounces, well above any safe threshold.
- Complaint spike. Recipients who don't remember opting in, or who've mentally moved on from your brand, hit "mark as spam" at much higher rates than your engaged list. Crossing 0.3% complaint rate triggers Gmail's bulk-spam routing.
- Spam-trap hits. Dormant addresses have aged into recycled-trap territory. A 12-month-old dormant list almost certainly contains traps.
Combine all three in a single blast and your domain reputation crashes overnight. The damage extends to your engaged subscribers — they start receiving your emails in spam too.
Segment by inactivity bucket
Don't treat all dormant contacts identically. Stratify:
- Dormant 90-180 days. Best re-engagement candidates. Likely still real, possibly just missed recent campaigns.
- Dormant 180-365 days. Mixed. Some recoverable, significant invalid+complaint risk.
- Dormant 365-730 days. Mostly dead. Some recoverable via highly relevant content. High trap risk.
- Dormant 730+ days. Don't send. Suppress directly. Recovery rate is too low to justify reputation risk.
Run re-engagement on the 90-180 bucket first. Use what you learn to calibrate aggression on older buckets.
Use a separate sending identity
Re-engagement should not run from your primary sending domain or IP. The volatility of dormant-list metrics (high bounce rate, possible spike in complaints) will damage whatever reputation you send from. Isolate the risk:
- Subdomain. Send from
news.example.comorupdates.example.com— not your primarymail.example.com. Reputation isolation at the subdomain level is partial but real. - Dedicated IP if you have one. Send from a non-primary IP. Damage is contained.
- Quarantine ESP account. Some teams maintain a separate ESP account specifically for re-engagement campaigns. Suspended accounts don't affect main operations.
Whatever isolation you use, pre-warm it with engaged sends before the re-engagement campaign. A cold sending identity sending to a dormant list is the worst possible combination.
Small batches over time
A 50K dormant list goes out as 25 batches of 2,000, not as a single blast. Spread over 2-4 weeks. Why:
- You can monitor bounce/complaint rates after each batch. Stop if metrics deteriorate.
- Concentrated volume to dormant addresses looks more obviously like a list-purchase pattern than spread-out volume.
- Suppression-list updates from each batch's feedback improve the next batch's health.
- You stay under provider rate limits per recipient domain.
After each batch, suppress the non-responders from subsequent batches. Don't re-send to anyone who didn't engage in the previous attempt.
Single attempt only
Re-engagement gets one shot per dormant contact. No follow-up sequences, no "last chance" emails, no "your account will be deactivated" campaigns. If they didn't engage with the re-engagement message, they won't engage with the next one — and you've doubled the complaint risk.
After the single attempt, suppress non-responders permanently. This is the entire point of re-engagement: separate the recoverable from the truly dead, then commit to the decision.
Re-engagement copy that works
Two opposing approaches both perform well; halfway approaches don't:
- Genuinely valuable content. Send something the recipient actually wants — a major product update, a high-value research piece, a meaningful offer. Not "we miss you". The bar is high.
- Direct opt-in confirmation. "You're about to be removed from our list. Click here to stay subscribed." Honest, sets clear expectations, generates a strong re-confirmation signal.
Generic "we miss you, here's 10% off" performs worst — discount-attracted users have low subsequent engagement, polluting the re-engaged segment.
Make unsubscribing trivial — both List-Unsubscribe header (one-click) and a prominent in-body link. Recipients who unsubscribe instead of marking spam are a huge win for your reputation. Make the easy path the unsubscribe path.
What counts as "re-engaged"
Define re-engagement narrowly:
- Click on a meaningful in-message link.
- Reply to the message.
- Confirm subscription via the explicit confirm-subscription link.
Don't count opens. MPP and bot pre-fetch make opens unreliable, and the threshold for a strong engagement signal should be active (click/reply) not passive.
Metrics to watch during the campaign
- Bounce rate per batch — over 5%, stop and re-validate the remaining segments.
- Complaint rate per batch — over 0.2%, stop and reconsider.
- Unsubscribe rate — high is fine, even welcome (better than complaints).
- Engagement rate — track click+reply. Should be 5-15% on recent dormants, lower on older.
- Sender reputation at primary domains (Postmaster Tools at Gmail). Watch for drops.
After the campaign
- Suppress every non-responder permanently. Move them to a separate "reactivation-failed" list, not to your main suppression to keep records clean.
- Move re-engaged contacts to your active list, but tag them so you can monitor whether their engagement persists.
- Wait 2-4 weeks before the next campaign on the re-engaged segment — let their engagement signal solidify before loading them up.
- Document what worked — bucket, copy approach, send timing — for the next re-engagement cycle.
Practical re-engagement playbook
- Stratify dormant by inactivity bucket.
- Skip 730+ day dormants entirely.
- Use a separate subdomain or IP.
- Pre-warm the sending identity.
- Send batches of 500-2000, spread over weeks.
- Single attempt, no sequences.
- Genuinely valuable content or explicit opt-in confirm.
- List-Unsubscribe header + visible body link.
- Engagement = click/reply, not opens.
- Suppress every non-responder permanently after.