How to choose popup triggers without stacking interrupts

Give each popup one main trigger so delay, scroll and exit intent don't all fire at once. You'll keep later reminders in the feed, where shoppers can open them anytime.

Atomato NotiPop example: one delay trigger chosen and the scroll and exit triggers dropped, over a photograph of a thin crescent moon

Choose one primary trigger per job instead of firing on page load, scroll, and exit in the same session. Stacked interrupts teach shoppers to dismiss on sight, so the welcome code, free-shipping progress, and cart nudge all lose.

This guide matches common Shopify popup triggers (time delay, scroll, exit intent, inactivity, add-to-cart, and page load) to the jobs and surfaces they suit. It includes a decision guide and a before-and-after plan. The rule is simple: one capped interrupt, then a feed card shoppers can come back to. Keep your popup app alongside your ESP and SMS tools, and stop burning the session with overlapping fires.

One primary trigger per job

A trigger determines when an interrupt can appear. The job is what you are asking for (welcome, free-shipping progress, cart help). Three triggers on one welcome creative mean three page covers, not better coverage.

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

Principle: each live interrupt should have one primary trigger, and only one. If you want a second moment, use a quieter surface or a feed card the shopper can reopen. Do not layer exit intent on top of scroll on top of load.

Example: a single delayed welcome popup (8 to 12s after the shopper starts browsing) is enough. Scroll and exit should not re-fire the same 10% off in that session. After add-to-cart, free-shipping progress belongs in the feed or a soft corner message, not a second fullscreen overlay.

What to do: list every popup and banner that can fire today. Next to each, write down its job and its trigger. If two rows can fire in the same session and both cover the page, demote one.

Trigger decision guide

Check this map before you turn on another trigger. Treat a page-load welcome as rare. Prefer a time delay for the welcome, so it fires after a short browse. Reserve exit intent for leavers when nothing else has interrupted them. Put any second reminder in the feed, where shoppers can come back to it.

  • Page load or immediate trigger: use it as the primary trigger only for a rare welcome. It suits an emergency notice, a legal notice or a rare welcome test as the page loads. Show a quiet banner or nothing. Use a popup only if you accept a high dismissal rate. After the shopper dismisses the message, stop showing it and keep the same offer in the feed. Never combine a page load trigger with scroll and exit triggers in one session.
  • Time delay trigger: use it as the primary trigger, since it's the best default for a welcome. It suits a welcome or list signup after a short browse. Show one timed popup. For a second chance, add a feed card with the welcome code and the free-shipping threshold. Stop other popups from firing for the rest of that session.
  • Scroll depth trigger: use it as the primary trigger only some of the time. It suits a promo that matches the content of a long product page or collection page. Show a small corner message or a quiet banner. Use a popup only if no welcome has shown yet. For a second chance, keep the same offer in the feed where shoppers can come back to it. Don't stack a scroll trigger with page load and exit triggers for the same creative.
  • Exit intent trigger: use it as the primary trigger only when nothing else interrupted the shopper this session. It suits a last offer for shoppers who are leaving and saw no other message. Show one popup at most. For a second chance, the feed already holds the offer. Your email or SMS platform follows up after the shopper leaves. Skip the exit trigger if a welcome or add to cart message already fired.
  • Inactivity trigger: use it as the primary trigger only some of the time. It suits a soft reminder after a shopper goes idle on the cart page or a product page. Show a quiet banner or a feed message and avoid full screen popups. For a second chance, a feed card stays available. This trigger can easily feel spammy, so keep the reminder soft and show it once.
  • Add to cart or cart change trigger: use it as the primary trigger for progress messages. It suits free-shipping or free-gift progress and a nudge toward a bigger order. Show a small corner message, a progress bar or a feed message. Use a popup only at the true threshold. For a second chance, the feed shows the threshold until the cart reaches it. Choose formats that don't block the page. Pair them with NotiFeed so shoppers can come back to the offer.

Use your existing popup or a NotiPop for the single interrupt when the job needs attention. A NotiPop appears after a Delay, a Scrolled depth or Inactivity, and Exit Intent is a targeting rule that only fires on desktop. Atomato has no frequency cap. Its built-in rule is that a NotiPop a shopper closed, clicked, hovered over or let hide doesn't show again on later pages in that browser. A NotiPop has no form, so list capture stays in your popup. Put the same offer in NotiFeed so shoppers who dismiss the interrupt can reopen the offer without another exit or scroll re-fire. This pairs with when to use a popup, the feed, or both for the same offer. Here the question is which trigger to use, not only which surface. To plan how often interrupts return, see how to set Shopify on-site campaign frequency without training shoppers to ignore you. This guide covers trigger choice, and that one covers frequency.

Steps: map jobs, pick one trigger, use the feed for the second touch

  1. List every on-site interrupt and its current trigger (load, delay, scroll, exit, idle, ATC).
  2. Write the job next to each (welcome, progress, cart nudge, drop, restock).
  3. Collapse duplicates: one job → one primary trigger.
  4. Set the welcome to fire once on a time delay. After the shopper dismisses the welcome, suppress it for the rest of the session. If you already use a multi-day cookie, suppress it across days too.
  5. Move free-shipping or gift progress to the feed or a soft add-to-cart message, not a second fullscreen overlay.
  6. Gate exit intent: fire it only if no other interrupt has fired this session.
  7. Keep ESP/SMS for shoppers who leave, and don't replace email with a third overlay.
  8. After the rewrite, measure dismiss rate and whether the primary ask still converts, not only popup views.

In Atomato, a NotiPop is the one interrupt. Once a shopper closes it, clicks it or lets it hide, it doesn't show again on later pages in that browser, and NotiFeed keeps the same offer where shoppers can come back to it. You don't need exit or scroll triggers to show it again. Atomato can't check whether another message already fired this session, so gate exit intent in your popup app, or leave the Exit Intent rule off a NotiPop when another campaign already interrupts the same pages. The stack stays the same (popup, feed and email platform), and trigger discipline comes first. For quieter copy and one clear action, see what makes an on-site message convert. In the Heights case study, a feed that shoppers open themselves was tested against a control on one product page.

Exit intent: the pointer leaves the top of the page on desktop.

Before and after: stacked triggers vs one delayed welcome and feed progress

Before (welcome on load, scroll, and exit):

Popup on first paint: Get 10% off. Enter your email.

…dismiss…

Scroll 50%: Wait, still want 10% off?

…browse…

Exit intent: Last chance for 10%

…add to cart…

Another overlay: You're $18 from free shipping.

Problems: four covers for related jobs, the same code three times, and a shopper trained to close everything. Exit never gets a clean shot.

After (one delayed welcome and feed progress, with exit only if the session is clean):

Delayed popup, once (8 to 12s, suppressed for the session after dismiss): Welcome. Get 10% off your first order. Would you like the code?

Feed card (shoppers can come back to it): WELCOME10 · Spend $50 to get free shipping · [Shop bestsellers]

After add-to-cart, soft progress in the feed: You're just $12 away from free shipping. How about adding a pouch?

Exit intent: only if no interrupt has fired yet this session (otherwise skip)

ESP/SMS: sent only after they leave with items in the cart, not a fifth overlay

The after version uses the interrupt once and keeps the offer where shoppers can come back to it. It saves exit intent for shoppers who never saw a popup.

Mistakes checklist

  • Page-load welcome plus scroll plus exit for the same code in one session
  • Exit intent always on, even after a welcome or ATC interrupt has already fired
  • Scroll-depth popup stacked on top of an immediate load popup
  • Using a fullscreen inactivity popup as a second "welcome"
  • Free-shipping progress as another cover instead of the feed or a soft corner message
  • No suppression after dismiss, so a reload brings back the same stacked triggers
  • Measuring trigger fires instead of dismiss rate and whether the primary ask still converts

If dismiss rates spike after you add a trigger, you have probably stacked interrupts, not under-triggered.

Next step

Audit today's triggers against the decision guide. Give each message one primary trigger. Move any second reminder into a feed card shoppers can come back to. Gate exit intent so it only runs when the session is still clean. Keep the popup and ESP you already use.

Install Atomato free on Shopify to pair a single NotiPop interrupt with a NotiFeed card shoppers can come back to, or explore NotiPop and NotiFeed.

Trigger choice decides when a message fires. Mobile layout decides whether it covers Add to cart. See how to show Shopify on-site messages on mobile without covering Add to cart.

When the trigger is a leave signal, keep the exit soft and capped so the session survives. See how to use Shopify exit-intent without killing the session.

Related: sequence Shopify on-site campaigns so they do not collide.

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.