What Are Communication Channels?
A channel is a pathway for outbound messages:
Different channels trade off reach, speed, visibility, cost, and content richness. Use the channel that matches urgency and message complexity.
Channel Opt-Out Model
Every profile stores opt-out status per channel:
Each channel also has an
_opt_out_at timestamp.
User Suppressed / User Unsuppressed). See User Preferences & Consent.
Push Notifications (Available)
Platform: iOS, AndroidDelivery: APNs / FCM
Latency: Typically under 5 seconds
Opt-in: System permission dialog
Opt-out field:
push_opt_out (default NOT_OPTED_OUT)
Supported today:
- Device token registration and multi-device profiles
- Platform routing (iOS → APNs, Android → FCM)
- Profile
push_opt_out/push_opt_out_at - Deep linking
- Delivery / open / action tracking — Push Notification Tracking
Coming Soon
These channels are not live for delivery yet. Opt-out fields are already on the profile so you can capture consent ahead of launch:Choosing a Channel (Pattern)
Ask:- How urgent? Critical → Push or SMS · Important but not urgent → Email · Contextual → In-app
- How much detail? Quick alert → Push/SMS · Long explanation → Email · Interactive → In-app
- Where is the user? In app → In-app · Away → Push/Email
Example: Cart recovery (orchestration pattern)
This is a common multi-channel pattern. Today you can implement the push steps; email/SMS steps apply when those channels ship.Push Best Practices
Do: Request permission after showing value; personalize; clear CTA + deep link; respect quiet hours. Don’t: Ask on first launch; send generic spam; ignore opt-outs or quiet hours.Next: User Preferences & Consent