Behavioral triggers on Shopify: five shopper moments a NotiPop can answer
A guide to the five shopper moments a NotiPop can respond to, and the setting and message that fit each one.

A shopper who scrolls halfway down a product page is doing something different from one who has sat still for 30 seconds, or one whose cart is $10 short of free shipping. Behavioral triggers let your store answer each of those moments with a message written for it, instead of one note for everyone two seconds after the page loads.
This guide covers the five shopper actions a NotiPop can respond to: time on page, scroll depth, inactivity, cart activity and exit intent. You will be able to set up a few NotiPops that each wait for their own moment, then see which ones earn clicks.
What a NotiPop is, and where triggers live
A NotiPop is a small message with an optional image or emoji and a button. It appears over the page without blocking it, alongside your feed and any popup, email or SMS tools you already run. On desktop it shows at the top right or top left. On phones it shows across the bottom of the screen.
Triggers sit in two places in the editor:
- Appear after, under Display rules, holds the three timing triggers: Delay, Scrolled and Inactivity.
- Target visitors based on holds the rules, including the cart rules and Exit Intent. A NotiPop waiting on a cart or Exit Intent rule shows as soon as the rule is met and skips Appear after.
Next to Appear after, Hide after sets how long the message stays, from 4 to 120 seconds, or until the shopper closes it.
Three timing triggers: time, scroll and pause
Each NotiPop gets one Appear after setting. Pick it by asking what the shopper has to be doing for the message to make sense.
Delay: time on page
Delay shows the NotiPop 2 to 60 seconds after the page loads. It suits news every shopper should see early, such as a shipping update. It restarts on every page, so a long delay can outlast a quick visit.
Scrolled: scroll depth
Scrolled waits until the shopper has scrolled 10%, 25%, 33%, 50%, 75% or 100% of the page. It suits messages for someone who is reading, such as a note about reviews or materials on a long product page. It never appears on a page too short to scroll, and at 100% the shopper has to reach the very bottom.
Inactivity: a pause
Inactivity waits 5 to 60 seconds with no mouse movement, clicks, key presses, taps or scrolling. It suits a short "still deciding?" note, such as your returns policy.
Cart activity: respond to what is in the cart
Cart rules show a NotiPop when the cart matches and take it away when it stops matching. Atomato checks the cart when a page loads and again when your theme updates the cart. With some themes, a change only counts from the next page load.
Cart value compares the cart total with your amount, in the shopper's currency and without conversion. Cart items counts the items, including quantities. Cart products checks for products you pick.
The classic use is a free shipping nudge: Cart value Is lower than your threshold, plus Cart items Is greater than 0 with all conditions, so empty carts don't see it. An add-on works the same way: Cart products Includes any with the main product and Does not include any with the add-on. The help guide Show messages based on what is in a shopper's cart has more recipes.
Exit intent: a last word on desktop
Exit Intent is a rule, not an Appear after option. It fires when the mouse pointer leaves through the top of the browser window, once per message on each page view.
Phones and most tablets have no pointer, so exit intent works on desktop only. For phone shoppers, use scroll depth, time on page, inactivity or cart activity instead. Keep the exit message to one reason to stay.
A worked example: three NotiPops for a skincare store
A skincare store on Scale might set up one campaign with three NotiPops. Scale and Enterprise+ allow up to six NotiPops per campaign, each with its own trigger and audience.
- Reading a product page. Scrolled 50%, with Page URL Contains /products/. Title: "Not sure it suits your skin?" Description: "Read how our 30-day returns work." Button: Returns policy.
- Close to free shipping. Cart value Is lower than 50 and Cart items Is greater than 0, with all conditions. Title: "Free shipping from $50." Button: Shop minis, linking to a collection of small items.
- About to leave with a cart. Exit Intent and Cart items Is greater than 0, with all conditions. Title: "Your cart is saved." Button: View cart. This one only reaches desktop shoppers.
One catch: a Scrolled or Inactivity NotiPop may not show on a page where another NotiPop showed first, especially one still on screen. The free shipping message leaves by itself once the cart reaches $50.
Before and after, for the first message:
Before: Delay 2 seconds on every page. "Check out our bestsellers." Button: Shop now.
After: Scrolled 50% on product pages. "Not sure it suits your skin? Read how our 30-day returns work." Button: Returns policy.
How often shoppers see each message
Plan on one showing per shopper. Once a shopper closes a NotiPop, clicks it, hovers over it, taps it or lets it hide on its own, Atomato doesn't show it again in that browser.
With the default Sticky alert tab, a small tab at the screen edge lets shoppers reopen your NotiPops, except ones waiting on a cart or Exit Intent rule. With Hide it completely, a closed NotiPop can't be reopened. Editing a NotiPop doesn't reset it for shoppers who saw it, so put new wording in a new NotiPop. See Choose the right time to show a NotiPop.
Zibra's case study shows one focused NotiPop: "NotiPop is the only timed module. It fires once, late in the visit, and carries a single add-on rather than a general offer." The Zibra case study reports NotiPop earned $409 from 37 clicks between launch in late June 2026 and 2 October, and says itself that the sample is small and not a forecast.
See which trigger is working
On any plan, open the campaign's name under Campaigns for its Campaign summary. Its Performance by message table has a Trigger column that shows each NotiPop's trigger, or Multiple when it also has a cart or Exit Intent rule. On Scale and Enterprise+, the same table also appears in Analytics under the Notipop tab.
Change one thing at a time, such as the trigger or Hide after, and compare clicks and orders over similar periods. With no traffic split, tests run as back-to-back campaigns.
What triggers can't do
- Exit intent doesn't fire on phones or most tablets.
- There is no setting for how often a NotiPop shows. One a shopper has seen stays hidden in that browser, and one they never touched can show again on the next page.
- You can't target by location, browsing history, or new versus returning visitors. Customer segments work for signed-in customers in a segment, on every plan.
- A NotiPop has no form and doesn't apply a discount code. Link to a page where the offer works.
- Preview on desktop and Preview on mobile skip the rules, so test triggers on your live store in a private window.
- On Starter, the free plan, one NotiPop campaign can be active, with one message.
Next step
Pick the moment shoppers most need a nudge, write one NotiPop for it and match the trigger. Follow Set up a NotiPop and choose when it appears for each setting, and see pricing if you want several NotiPops in one campaign. For feed message ideas, read On-site notification examples for Shopify.
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.
Five-minute setup. No theme code or developer needed.
1

