IRON LAW: Every Notification Must Earn Its Send
Each notification interrupts the user. If it doesn't deliver clear value
to the RECIPIENT (not to your business), it erodes trust and drives
opt-outs. Before sending: "Would the user thank me for this notification?"
If no → don't send.
Channel Comparison
| Channel |
Open Rate |
Speed |
Cost |
Best For |
Limitations |
| Push notification |
5-15% |
Instant |
Free |
Time-sensitive, action-needed |
Easy to opt out, limited text |
| Email |
15-25% |
Minutes |
Low |
Detailed content, receipts, newsletters |
Spam filters, slow |
| SMS |
90%+ open |
Instant |
$$$ |
Critical alerts, OTP, urgent |
Expensive, intrusive, regulatory |
| In-app |
25-40% |
Next session |
Free |
Feature announcements, tips |
Only reaches active users |
| LINE/Messenger |
40-60% |
Instant |
Free-$ |
Conversational, Taiwan/Asia |
Platform dependency |
Timing Optimization
| Audience |
Best Time |
Worst Time |
| B2C general |
10-12 AM, 7-9 PM |
12-6 AM, during commute |
| B2B |
Tue-Thu 9-11 AM |
Weekends, Friday PM |
| E-commerce |
Thu-Sat (pre-weekend shopping) |
Monday AM |
| Breaking/urgent |
Immediately |
N/A |
Timezone rule: Send in the RECIPIENT's timezone, not yours.
Personalization Tiers
| Tier |
What |
Example |
Lift vs Generic |
| None |
Same message to all |
"Check out our sale!" |
Baseline |
| Segment |
By user group |
"As a premium member, you get early access" |
+20-30% |
| Behavioral |
Based on past actions |
"The item in your cart is almost sold out" |
+40-60% |
| Individual |
1:1 personalized |
"Hi [Name], your favorite [Product] is back in stock" |
+60-80% |
Fatigue Management
| Signal |
What It Means |
Action |
| Open rate declining |
Content losing relevance |
Improve targeting/content |
| Opt-out rate > 0.5%/send |
Sending too much or wrong content |
Reduce frequency, segment better |
| Uninstall spike after push |
Notifications are driving users away |
Immediately reduce volume |
| Click rate declining but open rate stable |
Subject lines good, content disappointing |
Improve content/offer quality |
Frequency caps: Set maximum notifications per user per time period:
- Push: max 3-5/week
- Email: max 2-3/week (marketing), unlimited for transactional
- SMS: max 2-4/month
A/B Testing for Notifications
| Element |
What to Test |
Example |
| Subject/title |
Length, tone, emoji, personalization |
"Your order shipped 📦" vs "Order #1234 is on its way" |
| Timing |
Hour of day, day of week |
10 AM vs 7 PM |
| Content |
Short vs detailed, image vs text-only |
20 words vs 50 words |
| CTA |
Button text, action type |
"View" vs "Track Now" |
| Channel |
Push vs email vs in-app for same message |
Same content, different channel |