Free resource · use it on this page
Notification Calendar
A one-page planner for scheduling sends across push, email, SMS, and wallet, with per-customer frequency caps built in from the start.
Why keep a notification calendar
Your customer experiences the sum of everything you send, but each tool only shows its own slice. The email platform does not know a push went out that morning, and the SMS provider does not know a wallet pass updated at noon. A notification calendar is the one place where all planned contact with a customer appears together, so the person deciding whether to send can see what that customer already received.
The load-bearing idea is that this calendar is a budget, not a wish list. You set a per-customer contact budget first, one cap per channel plus one combined cap across all channels, and then plan sends against it. When the budget for a week is spent, the answer is not this week, rather than one more will not hurt.
How to use this page: work through the caps worksheet once as a team, keep the channel reference table nearby, fill in the monthly grid at the start of each month, and run the weekly review checklist before anything goes out. Print the page or rebuild the grid in a shared spreadsheet; either works, as long as every channel lives on the same calendar.
Step 1: Set your frequency caps
Agree these numbers before planning a single send. Caps are per customer, not per campaign, and automated sends count against them just like scheduled ones.
Push notifications: weekly cap per customer
Start at 1 to 3 for most consumer apps. A daily cadence only earns its place when the product is genuinely used daily, such as news, markets, or an order in transit.
Marketing email: weekly cap per customer
Count marketing email only; 1 to 3 per week is a common starting range. Transactional email sits outside the cap but lands in the same inbox, so note heavy transactional volume here.
SMS: monthly cap per customer
SMS carries a per-message cost and the highest interruption weight. Many teams cap it at 2 to 4 per month and reserve it for time-sensitive, high-value messages.
Wallet pass and lock-screen updates: weekly cap
Lower friction than push but still visible. Cap these like push, and never update a pass just because the channel is free.
In-app messages: concurrent cap
Cap how many can be live at once, usually 1 or 2, rather than per week. Customers only see these when they open the app, so the risk is clutter, not interruption.
Combined cross-channel cap: interruptions per customer per week
The number that matters most. If push, SMS, and email each stay under their own cap in the same week, this is the cap that stops the customer from being hit five times anyway.
Quiet hours: local-time window with no interruptive sends
For example, 9 pm to 9 am in the recipient's time zone, not your office's. Applies to push, SMS, and lock-screen updates.
Blackout dates for this quarter
Public and religious holidays relevant to your audience, plus any dates you know are wrong for promotion. Add an automatic freeze during outages or billing incidents.
Cap override policy: who approves exceptions, and how
Name one person who can approve exceeding a cap, and require the approval in writing. A cap anyone can waive verbally is a suggestion, not a cap.
Channel reference: cost, weight, and starting cadence
Use this to sanity-check the caps you set above. Starting cadences are conservative defaults to adjust against your own opt-out and engagement data, not research findings.
| Channel | Interruption weight | Cost mechanics | Sensible starting cadence | Watch for |
|---|---|---|---|---|
| Push notification | High: lands on the lock screen uninvited | No per-message cost; platform delivery rules apply | 1 to 3 per week for most apps | Permission revokes and app uninstalls |
| SMS | Highest: reads like a personal message | Paid per message, plus consent and opt-out compliance obligations | 2 to 4 per month, reserved for time-sensitive messages | Carrier filtering and STOP replies |
| Marketing email | Medium: waits in the inbox until opened | No meaningful per-send cost; pricing usually scales with list size | 1 to 3 per week | Spam complaints, unsubscribes, and slow deliverability decay |
| Wallet pass update (the channel PushNotice serves) | Medium: an update can surface on the lock screen | No per-message cost; requires the customer to have installed the pass | Cap like push; keep the pass content current so it never shows a stale offer | Platform throttling when updates come too frequently |
| In-app message | Low: only visible during a session | No per-message cost | 1 to 2 live at any one time | Banner blindness when something is always on |
| Web push | High: lock screen or desktop, with fragile permission | No per-message cost | Lower than app push; treat every send as spending trust | One resented send can trigger a permission revoke with no reinstall path |
Step 2: The monthly planning grid
Fill one row per week. The first row is a worked example. The cap check column is the whole point: count what a customer in the busiest overlapping segment will receive, campaigns plus automations, and compare it to your combined cap.
| Week | Planned sends: message and goal | Channels used | Segments touched | Cap check: sends vs combined cap | Notes and collisions |
|---|---|---|---|---|---|
| Example | Double-points week launch; goal: repeat visits | Push, wallet pass update | Active loyalty members | 2 of 3 | Skipped SMS: monthly SMS budget already spent on delivery alerts |
| Week 1 | ____________________ | ____________ | ____________ | ____ of ____ | ____________________ |
| Week 2 | ____________________ | ____________ | ____________ | ____ of ____ | ____________________ |
| Week 3 | ____________________ | ____________ | ____________ | ____ of ____ | ____________________ |
| Week 4 | ____________________ | ____________ | ____________ | ____ of ____ | ____________________ |
| Week 5 (if any) | ____________________ | ____________ | ____________ | ____ of ____ | ____________________ |
| Month total | Total sends: ____ | Channels used: ____ | Any segment over cap? ____ | ____ of monthly budget | Adjust next month's caps? ____ |
Step 3: Run the monthly planning ritual
- 1
Inventory every send that already happens
List all automations before planning anything new: welcome series, abandoned cart, win-back, review requests, renewal reminders. They count against caps even though nobody schedules them by hand, and forgotten automations are where most over-notifying hides.
- 2
Confirm the caps worksheet as a team
Everyone who can trigger a send agrees to the same numbers, including the combined cross-channel cap and the written override policy. This meeting is short if the worksheet above is already filled in.
- 3
Draft the month on the grid
Place campaign sends first, then overlay the automated sends an average customer in each segment will receive that week. The grid should show what a customer experiences, not what each tool emits.
- 4
Hunt for collisions
Look for same-day sends on different channels, one segment hit by two campaigns, and a promotion landing next to a price change or service issue. Move, merge, or cut; do not stack.
- 5
Cut to the cap, never raise the cap to fit
If a week is over budget, remove the weakest send. We have something to say is not the bar; the customer benefits from hearing it now is the bar.
- 6
Close the loop at month end
Compare planned against actually sent, then review opt-outs, unsubscribes, uninstalls, and STOP replies per channel. If a channel's negative signals rose, tighten that cap before drafting next month.
Weekly pre-send review
Run this once a week before the week's sends go out. Every item should be checkable in under a minute if the grid is filled in.
Every send has a stated goal
If you cannot name the single action you want the customer to take, the send is not ready.
The combined cap holds for the busiest customer
Sum campaigns plus automations for the segment overlap that receives the most, not the average customer.
Automated sends are in the tally
Cart, win-back, and renewal triggers count against the week's budget; they are not free.
Nothing lands inside quiet hours
Checked in the recipient's local time zone for every region you send to.
Blackout dates are clear
Cross-checked against the blackout list, including regional holidays for international audiences.
Overlapping segments are deduplicated
A customer in two target segments gets the message once, on one channel.
Transactional stays transactional
Receipts and confirmations carry no promotional add-ons that blur the line the cap depends on.
Channel matches urgency
Only genuinely time-sensitive messages use interruptive channels; everything else goes to inbox-style channels or waits.
Every row has an owner and an approver
One named person accountable for content, one for timing and cap compliance.
Suppression lists are current on every channel
Recent opt-outs, unsubscribes, and STOP replies applied before sending, not after.
A skipped week is on the table
If nothing clears the worth-interrupting-for bar this week, send nothing and leave the budget unspent.
No active incident argues for a freeze
During an outage, billing problem, or public issue, promotional sends pause until it is resolved.
From the guide: Best Push Notification Tools (2026)
This resource accompanies the full article — worth reading before you commit to a tool.