Keep your top on-site offer rare so shoppers notice it

Showing the same offer again and again can teach shoppers to close it on sight. You'll cap your popup by visit and by offer, then keep the offer in the feed for later.

Atomato NotiPop example: a free shipping message capped at once per session with the feed keeping it afterwards, over a photograph of a crescent moon with meteor trails

Shopify on-site campaigns are more likely to fail when their frequency rule is "show it again." Shoppers learn to ignore the overlays on sight. Cap the interrupt for your most valuable ask at once per session or once per day, then put the reminder in a feed shoppers can come back to, or in email or SMS after the shopper leaves, instead of another full-screen fight.

This guide gives you the frequency ladder (per session, per day and per offer). It also has a decision list and before-and-after copy. Keep using your popup and your ESP reminders, and add a feed beside them.

Why over-firing trains shoppers to ignore you

A typical stack looks extremely busy: a welcome message on first paint, a sale banner that also pops, a free-shipping message on every product page, a cart nudge after every add, then an SMS the same afternoon. Each tool, on its own, is doing its job. Together they teach a single habit: close first, then get back to shopping or leave.

On mobile, each interrupt puts the session at risk. After two dismissals, a third overlay very rarely wins attention back. Volume is not presence. Presence that shoppers can reopen beats covering the page again.

Frequency rules keep your best ask rare. Everything else stays available without training the dismiss reflex. Calendar start and end windows are separate, covered in how to schedule Shopify on-site campaigns to start and stop on time.

The frequency ladder: session, day, offer

Instead of one irritating global rule, think in three caps, and set them in your popup app. Atomato has no session, day or offer cap settings: a NotiPop's Display rules choose when it appears and how long it stays, not how often.

Display rules on a NotiPop campaign. Choose Delay, Scrolled or Inactivity, and how long the message stays.

Per session: How many triggers may fire during this visit? Most welcome or doorbuster popups only need to be seen once. After the shopper dismisses or converts, suppress sibling messages for the rest of that session.

Per day (or short cookie window): When a shopper returns to the store later, how many times should the same interrupt appear? Returning shoppers who already got the welcome offer should not see it again on every refresh. For list capture, this is commonly a 24-hour or multi-day suppression window.

Per offer: Which surfaces can carry the same promotion? A one-time popup plus a feed card is a ladder. The same 15% off in a popup, a sticky banner, a slide-up, and an SMS in one day is a stack.

Save the interrupt for the most urgent job. Move the reminder path to a surface shoppers choose to open.

Frequency decision list

Check the list below before you start a new campaign. Each item ends with a follow-up that adds no new interrupt. Give each current message its own line. If two messages claim the same interrupt, one of them loses.

  • Welcome or list capture: a timed popup leads and shows once per session. It stops after a dismissal or signup. After a dismissal, it stays hidden for a short cookie window. The follow-up is a feed card that offers the code again.
  • Sitewide percentage discount or promo code: the feed leads, with an optional quiet banner. Use a popup only if no welcome message showed this session. Keep to the promo dates and don't show the popup again on every page. The feed holds the code and end time, and email reaches known contacts.
  • Free-shipping or free-gift progress: a progress card in the feed leads. Use a popup only at the cart threshold. The progress card runs until checkout or until the shopper leaves. The feed keeps showing the threshold until the cart reaches it, with no extra overlay.
  • Cart nudge while browsing: a corner nudge or the feed leads. Show one or two soft nudges at most per session and stop them at checkout. Email or SMS follows only after the shopper leaves.
  • Flash drop or limited product: a small popup shows once per product per session on the product page. Don't loop the same drop on the homepage. After a dismissal, a feed card for that product follows.
  • Restock interest: an inline or quiet signup on the product page leads. Cap it per product and never stack it with the welcome message. The follow-up is a feed reminder and an email when the item is back.
  • Reminder after browsing: email or SMS leads, with nothing on-site. Keep to the frequency limits in your email platform. Don't add a fourth overlay as a follow-up.

For the one moment that needs it, use your existing popup or a NotiPop. It has no cap setting, but once a shopper closes it, hovers over it, taps it, clicks its button or lets it hide on its timer, it doesn't show again on later pages in that browser. One the shopper never touched can show again on the next page. Put the second touch in NotiFeed so shoppers can reopen the offer without another overlay covering the page. This split revisits when to use a popup, the feed, or both for the same offer, but here the main point is how often a message fires, not just which surface it uses.

Cap interrupts and trim the reminder path

Here is your to-do list for this week:

  1. List every on-site message that can fire (popup apps, banners, feed cards, theme bars).
  2. Separate true interrupts (messages that cover the page) from messages shoppers can reopen.
  3. Cap primary interrupts at one per session, and suppress sibling messages after a dismissal or conversion.
  4. Set a day or cookie suppression window on the welcome message and sitewide sale popups.
  5. For each offer, show no more than one interrupt plus one feed card, not three overlays.
  6. Hand shoppers who leave to your email or SMS platform. Don't reuse the same creative as another overlay in the same hour.

Busy sale weeks need these caps even more. See how to plan Shopify BFCM on-site messages without stacking interrupts for more tips.

The Design window on a NotiPop campaign, opened from the Design tab.

Before and after: over-firing vs. a frequency ladder

Before (over-fire stack):

Popup on load: Get 15% off. Enter your email.

…dismiss…

Banner popup two pages later: FREE SHIPPING over $50. Don’t miss out.

…add to cart…

Full-screen: Wait. Complete your order for 15% off.

…leave…

SMS same afternoon: Your 15% code expires tonight.

Problems: four asks for related jobs, fake urgency on a real code, and a shopper already trained to close everything. The SMS then repeats the same creative as another interrupt, though the shopper never asked to see it again.

After (laddered path):

Popup in your popup app (once, delayed 8 to 12s, session + 3-day dismiss suppress): Welcome. 15% off your first order. Want the code in your inbox?

Email: ________ [Send code]

Feed card (waits until opened): Your 15% code is WELCOME15 · free shipping at $50 · [Shop bestsellers]

Progress card after add-to-cart: Free shipping at $50. Add a pouch?

Email/SMS only if they leave with items in cart (different subject, not a fourth overlay)

The after version uses the interrupt once and saves outbound messages for shoppers who leave. The code and threshold stay in the feed, where shoppers can come back to them. This approach follows the same principle as the quieter follow-ups in what makes an on-site message convert: timing and one clear action beat volume.

Mistakes that train the dismiss habit:

  • Displaying welcome and sale popups on the same first paint
  • Re-showing a dismissed popup on every page view
  • Sticky banner + slide-up + modal for one promo code
  • Treating views as success while the dismiss rate climbs
  • Matching SMS cadence to on-site popup cadence for the same offer
  • Turning off frequency caps during a sale week instead of tightening them

In most cases, if dismissals rise while you show the same number of popups, that is evidence the ladder is broken, not a sign that you need more volume.

Frequency checklist before you launch a campaign

  1. What is the main interrupt for this session?
  2. Is there a session cap after a dismissal or conversion?
  3. Is there a day or cookie suppression window for returning shoppers?
  4. Where does the second touch live (in the feed, or in email or SMS)?
  5. Does another app show an overlay at the same time?
  6. Can a shopper who has opted out still get the information without another overlay?

Caps also depend on who is on the storefront. Keep welcome interrupts for shoppers who aren't signed in separate from loyalty and refill cards in the feed for signed-in customers: how to show different Shopify on-site offers to new and returning visitors.

Next move

Frequency caps keep interrupts rare. Trigger choice decides which event is allowed to fire first: how to choose Shopify popup triggers without stacking interrupts.

Audit your current campaigns against the decision list today. Cap the highest-value interrupt at once per session and suppress it for a short cookie window after dismissal. Move reminders to a feed shoppers can come back to, alongside your current popup and email service.

Install Atomato free on Shopify to add a notification feed for second touches without stacking another interrupt, or explore NotiFeed and NotiPop.

Urgency creatives need the same caps, and the claim must be true: how to use real urgency on Shopify without fake countdown timers.

Frequency caps keep on-site interrupts rare. Channel handoff keeps Klaviyo quiet while the session is still open: how to sync Shopify on-site messages with Klaviyo without double-messaging shoppers.

Frequency caps alone are not enough if every mouse-out still fires a hard discount: how to use Shopify exit-intent without killing the session.

Hold frequency steady for both versions when you test copy or timing one after the other, so the habit of ignoring messages does not confound the result: how to A/B test Shopify on-site messages without flooding traffic.

Related: page and cart targeting for on-site messages.

Related: sequencing campaigns so welcome and cart help do not collide.

Related: stopping Shopify on-site messages after opt-in or purchase.

Written by

Atomato

Published 8 min read

Ready to show the right message to the right shopper?

Start showing targeted on-site messages without changing your marketing setup. Atomato works alongside the popup, email and SMS tools you already use.

INSTALL FREE ON SHOPIFY

5.0 on the Shopify App StoreFive-minute setup. No theme code or developer needed.