Free resource · use it on this page
Retail Campaign Calendar
Plan a retail year in two layers — dated calendar moments and always-on triggered campaigns — each tied to a loyalty role and a single metric.
How this calendar works
Most retail calendars mix two different kinds of campaign into one list, and the mix is why they quietly fail. Calendar moments happen on a date whether or not any customer does anything — Black Friday, back-to-school, a spring launch. Triggered campaigns fire off a customer's behavior — a pass install, a birthday, a lapse — and run all year with no date attached. This planner keeps them in separate layers so you can see both at once.
Fill the twelve-month grid with your dated moments, one row per month, and give each a loyalty role so it stays a loyalty calendar and not just a discount calendar. Keep the always-on triggered campaigns in their own layer — you set them up once and they work in the background. Then add the local events only you know about. The wallet-campaign column assumes a wallet-marketing tool such as PushNotice that can update Apple and Google Wallet passes and send to their lock screens; swap in whatever channel you use.
Give every row exactly one primary metric, and capture its baseline before you launch. A plan you cannot measure is a wish list, and a metric you record only after the fact cannot prove lift.
Layer 1 — Calendar moments (the twelve-month grid)
One row per month for the dated moments in your retail year. The examples below assume a Northern-Hemisphere seasonal calendar — overwrite each cell with your own moment, then confirm the loyalty role earns the row a place beyond the discount it carries.
| Moment | Loyalty role | Wallet campaign | Primary metric |
|---|---|---|---|
| January — New-year reset | Reactivate holders who went quiet over the holidays | Lock-screen offer to dormant pass-holders | Reactivation rate |
| February — Valentine's / gifting | Turn loyal buyers into gift buyers | Limited-time gifting offer on the pass | Redemptions |
| March — Spring refresh | Move new-season stock to your base first | Early-access pass drop for members | Early-access redemption share |
| April — Spring event / holiday | Drive footfall on a fixed date | Dated event pass with location relevance | In-store visits |
| May — Late-spring gifting | Capture new members around a gifting peak | Offer pass promoted at point of sale | New pass installs |
| June — Summer kickoff | Reward frequency as visits rise | Summer stamp or streak campaign | Repeat-visit frequency |
| July — Mid-year sale | Give members the sale first | Members-only lock-screen sale alert | Member share of sale revenue |
| August — Back-to-school | Capture households and bundle baskets | Back-to-school offer pass | New pass installs |
| September — Autumn launch | Preview the new range to top-tier members | New-collection preview pass | Preview open rate |
| October — Pre-peak warm-up | Grow the wallet base before the holidays | Install drive with a seasonal offer | Install growth |
| November — Black Friday / Cyber week | Reward and retain through the discount surge | Early lock-screen deal for pass-holders | Redemptions in the peak window |
| December — Holiday gifting peak | Maximize gift purchases and capture recipients | Holiday / gift-card offer pass | Average transaction value |
Layer 2 — Always-on triggered campaigns
These are not on the calendar. Each one fires off a customer's behavior and runs continuously in the background, so you build it once rather than scheduling it. Keep it in its own layer — a triggered campaign with a date on it is really a calendar moment in disguise.
| Trigger | Fires when | Wallet campaign | Primary metric |
|---|---|---|---|
| Welcome | A pass is installed | Welcome message plus a first-visit incentive | First-visit redemption rate |
| Birthday | The customer's birthday month arrives | Birthday reward added to the pass | Birthday redemption rate |
| Win-back | No visit or scan within your lapse window | Reactivation offer to the lock screen | Win-back rate |
| Milestone / tier | A stamp, spend, or visit threshold is hit | Reward or tier-up notification | Tier-progression rate |
| Post-purchase | A transaction is recorded | Thank-you plus a replenishment reminder | Repeat-purchase rate |
| Nearby | A pass-holder is near a store | Location-relevant lock-screen prompt | Visit lift from the prompt |
| Back-in-stock | A watched or waitlisted item returns | Availability alert to interested holders | Alert-to-visit conversion |
Add your local events
Head office rarely knows the moments that move footfall on your street — a festival, a market day, a sports final, term dates, a neighborhood event. Add each one as a row here so it sits alongside the national calendar rather than getting lost.
Event and date
The local moment and when it lands. Note whether the date is fixed or shifts year to year.
Why your customers care
The reason this event changes footfall or spending for your specific base. If you cannot name one, it does not belong on the grid.
Loyalty role
What the campaign should do for loyal customers here — reward, reactivate, capture new members, or drive a visit.
Wallet campaign
The pass update or lock-screen message you will send, and to which holders.
Primary metric
The single number that tells you it worked. One per event, with its baseline recorded before launch.
Lead time needed
How many days ahead you must start creative, offer approval, and pass updates so nothing ships late.
Sanity-check before you lock the year
One primary metric per row
If a campaign is chasing two goals, split it into two rows so each has a clean number to judge it by.
No two calendar moments stacked in the same week
Space your dated sends so pass-holders are not fatigued into muting or deleting the pass.
Every triggered campaign has an owner and an off-switch
Always-on campaigns need someone watching them, not just someone who launched them.
Lead time booked before each dated moment
Creative, offer approval, and pass updates take days; work backward from the date, not forward from today.
Baseline captured before launch
Record the current value of each primary metric first, or you will never be able to prove lift afterward.
Discounts do not cannibalize full-price loyal buyers
Give members early access or a better experience, not only a deeper cut on what they would have bought anyway.
Local events reviewed with store staff
The people on the floor know the calendar that actually moves your footfall — ask them before you finalize.
Quiet months still have a plan
A light triggered layer keeps you present in slow months; going dark trains customers to ignore the pass.
An install drive precedes your peak
You can only reach pass-holders you already have, so grow the base before the moment you most want to send.
Each moment maps to a loyalty role, not just a sale
The loyalty-role column is the guardrail that keeps this from collapsing into a plain discount calendar.
From the guide: In-Store Marketing: Wallet Loyalty for Retail Stores
This resource accompanies the full article — worth reading before you commit to a tool.