Notification Strategy
Framework
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 |
Output Format
# Notification Strategy: {Product/Campaign}
## Channel Mix
| Message Type | Primary Channel | Fallback | Frequency |
|-------------|----------------|----------|-----------|
| {type} | {channel} | {backup} | {max/period} |
## Segmentation
| Segment | Notification | Personalization Tier |
|---------|-------------|---------------------|
| {segment} | {content} | None/Segment/Behavioral/Individual |
## Timing
| Segment | Send Time | Day | Timezone |
|---------|----------|-----|---------|
| {segment} | {HH:MM} | {day(s)} | {user's TZ} |
## Fatigue Rules
- Max push: {N}/week
- Max email: {N}/week
- Opt-out threshold: {%} → action: {reduce/pause}
## A/B Test Plan
| Test | Variant A | Variant B | Metric | Sample |
|------|----------|----------|--------|--------|
| {test} | {A} | {B} | {open rate / CTR} | {N users} |
Gotchas
- Permission is a privilege: iOS requires explicit opt-in for push. Ask at the RIGHT moment (after the user sees value), not at first launch. First-launch permission requests get 40-60% opt-in; contextual requests get 70-80%.
- Transactional vs marketing: Order confirmations, shipping updates, and security alerts are transactional (expected, high open rate). Marketing promotions are interruptive (optional, lower open rate). Never mix them in user perception.
- LINE in Taiwan is unique: LINE has 95% penetration in Taiwan. LINE Official Account messages have 60%+ open rates — significantly higher than email or push. Prioritize LINE for Taiwan audiences.
- Rich push is underused: Push notifications can include images, action buttons, and deep links. A rich push with "View Order" button converts 3-5x better than a text-only push.
References
- For LINE notification setup, see
references/line-notification.md
- For email deliverability optimization, see
references/email-deliverability.md
1---2name: cs-notification-strategy3description: Design push notification and messaging strategies including channel selection, timing optimization, personalization, and fatigue management. Use this skill when the user needs to improve notification engagement, reduce opt-out rates, plan multi-channel messaging, or A/B test notification content — even if they say 'our push open rates are low', 'users are unsubscribing', 'when should we send notifications', or 'which channel to use for alerts'.4---56# Notification Strategy78## Framework910```11IRON LAW: Every Notification Must Earn Its Send1213Each notification interrupts the user. If it doesn't deliver clear value14to the RECIPIENT (not to your business), it erodes trust and drives15opt-outs. Before sending: "Would the user thank me for this notification?"16If no → don't send.17```1819### Channel Comparison2021| Channel | Open Rate | Speed | Cost | Best For | Limitations |22|---------|----------|-------|------|----------|-------------|23| **Push notification** | 5-15% | Instant | Free | Time-sensitive, action-needed | Easy to opt out, limited text |24| **Email** | 15-25% | Minutes | Low | Detailed content, receipts, newsletters | Spam filters, slow |25| **SMS** | 90%+ open | Instant | $$$ | Critical alerts, OTP, urgent | Expensive, intrusive, regulatory |26| **In-app** | 25-40% | Next session | Free | Feature announcements, tips | Only reaches active users |27| **LINE/Messenger** | 40-60% | Instant | Free-$ | Conversational, Taiwan/Asia | Platform dependency |2829### Timing Optimization3031| Audience | Best Time | Worst Time |32|----------|----------|-----------|33| B2C general | 10-12 AM, 7-9 PM | 12-6 AM, during commute |34| B2B | Tue-Thu 9-11 AM | Weekends, Friday PM |35| E-commerce | Thu-Sat (pre-weekend shopping) | Monday AM |36| Breaking/urgent | Immediately | N/A |3738**Timezone rule**: Send in the RECIPIENT's timezone, not yours.3940### Personalization Tiers4142| Tier | What | Example | Lift vs Generic |43|------|------|---------|----------------|44| **None** | Same message to all | "Check out our sale!" | Baseline |45| **Segment** | By user group | "As a premium member, you get early access" | +20-30% |46| **Behavioral** | Based on past actions | "The item in your cart is almost sold out" | +40-60% |47| **Individual** | 1:1 personalized | "Hi [Name], your favorite [Product] is back in stock" | +60-80% |4849### Fatigue Management5051| Signal | What It Means | Action |52|--------|-------------|--------|53| Open rate declining | Content losing relevance | Improve targeting/content |54| Opt-out rate > 0.5%/send | Sending too much or wrong content | Reduce frequency, segment better |55| Uninstall spike after push | Notifications are driving users away | Immediately reduce volume |56| Click rate declining but open rate stable | Subject lines good, content disappointing | Improve content/offer quality |5758**Frequency caps**: Set maximum notifications per user per time period:59- Push: max 3-5/week60- Email: max 2-3/week (marketing), unlimited for transactional61- SMS: max 2-4/month6263### A/B Testing for Notifications6465| Element | What to Test | Example |66|---------|-------------|---------|67| **Subject/title** | Length, tone, emoji, personalization | "Your order shipped 📦" vs "Order #1234 is on its way" |68| **Timing** | Hour of day, day of week | 10 AM vs 7 PM |69| **Content** | Short vs detailed, image vs text-only | 20 words vs 50 words |70| **CTA** | Button text, action type | "View" vs "Track Now" |71| **Channel** | Push vs email vs in-app for same message | Same content, different channel |7273## Output Format7475```markdown76# Notification Strategy: {Product/Campaign}7778## Channel Mix79| Message Type | Primary Channel | Fallback | Frequency |80|-------------|----------------|----------|-----------|81| {type} | {channel} | {backup} | {max/period} |8283## Segmentation84| Segment | Notification | Personalization Tier |85|---------|-------------|---------------------|86| {segment} | {content} | None/Segment/Behavioral/Individual |8788## Timing89| Segment | Send Time | Day | Timezone |90|---------|----------|-----|---------|91| {segment} | {HH:MM} | {day(s)} | {user's TZ} |9293## Fatigue Rules94- Max push: {N}/week95- Max email: {N}/week96- Opt-out threshold: {%} → action: {reduce/pause}9798## A/B Test Plan99| Test | Variant A | Variant B | Metric | Sample |100|------|----------|----------|--------|--------|101| {test} | {A} | {B} | {open rate / CTR} | {N users} |102```103104## Gotchas105106- **Permission is a privilege**: iOS requires explicit opt-in for push. Ask at the RIGHT moment (after the user sees value), not at first launch. First-launch permission requests get 40-60% opt-in; contextual requests get 70-80%.107- **Transactional vs marketing**: Order confirmations, shipping updates, and security alerts are transactional (expected, high open rate). Marketing promotions are interruptive (optional, lower open rate). Never mix them in user perception.108- **LINE in Taiwan is unique**: LINE has 95% penetration in Taiwan. LINE Official Account messages have 60%+ open rates — significantly higher than email or push. Prioritize LINE for Taiwan audiences.109- **Rich push is underused**: Push notifications can include images, action buttons, and deep links. A rich push with "View Order" button converts 3-5x better than a text-only push.110111## References112113- For LINE notification setup, see `references/line-notification.md`114- For email deliverability optimization, see `references/email-deliverability.md`