How to target on-site messages by page and cart
Match each message to the page the shopper is on and what's in the cart. You'll give each page type one clear message instead of the same discount everywhere.

Match each on-site message to the page the shopper is on and what is in the cart. Do not fire the same welcome discount on the homepage, every collection, every product page, and the cart. Spraying it everywhere trains shoppers to dismiss your messages and makes every later ask look like noise.
This guide gives you a decision list by page type and cart state. It also has a before-and-after example, a list of mistakes and a checklist. Keep your existing popup and email tools, and use Atomato beside them. That way one interrupt and the feed stay relevant to the page instead of running sitewide.
Why sitewide spray fails
A message that fits a first homepage visit often feels wrong on a product page, where the shopper is already reading reviews, or on the cart page, where they need shipping help rather than another list ask. When every URL shows the same overlay, dismiss rates rise and attributed claims fall. You also use up the one interrupt you should save for a high-intent moment.
Principle: match the page's job first and the cart state second, then pick the message job and a skip-if rule. When you stack more than one condition, decide whether the campaign needs all conditions or any one.
Map page type before you write copy
Homepages and landing pages suit a soft welcome or brand proof. Collections suit category offers or quiet social proof. Product pages call for size help, a restock notice, or a related add-on, not a second fullscreen welcome. The cart and the path into checkout call for free-shipping progress or a small cart help line. Account and post-purchase pages are for review or reorder asks later on, not a first-visit discount. To choose the surface, see when to use a popup, the feed, or both for the same offer, and keep frequency caps honest with how to set Shopify on-site campaign frequency without training shoppers to ignore you.
Visitor type still matters when choosing between welcome and returning-visitor offers, but it does not replace page and cart rules. See how to show different Shopify on-site offers to new and returning visitors.
Decisions by page type and cart state
Each item pairs a page type and cart state with a message. It also names where to show the message and when to skip it. Write one like it for each campaign before you publish. If you can't say when to skip a shopper, the campaign still targets everyone.
- Homepage or paid landing page, empty cart: show a soft welcome or brand proof. Use a soft interrupt shown once or a feed card. Skip shoppers who already subscribed or saw the welcome recently.
- Collection page, empty cart: show a category offer or quiet proof. Lead with the feed and use an interrupt only if the offer is rare. Skip the message on the wrong collection or once the shopper has closed it.
- Product page, empty cart: show size help, a restock notice or a related add-on. Use a small interrupt or the feed. Skip the message if the welcome campaign already showed this session or the shopper is adding to cart.
- Product page, items in the cart: show an upsell that fits the cart or leave the shopper alone. Prefer the feed. Skip the message if the shopper already declined the upsell or the cart already has the add-on. For product-specific cart conditions, see how to target Shopify on-site messages by products in the cart.
- Cart page, below the free-shipping threshold: show progress toward free shipping or a gift. Use the feed, which stays in place, or a non-blocking bar. Skip the message once the threshold is met or checkout has started.
- Cart page, above the threshold and ready to buy: show shipping reassurance or small help. Use the feed only. Skip any loud new discount.
- Blog or content page, any cart: show a soft list ask tied to the topic. Use the feed. Skip any aggressive promo interrupt.
- Checkout or payment page, any cart: show nothing, to protect the path to purchase. Keep on-site messages off here and skip every on-site promo.
Steps: turn spray into targeted rules
- List your live campaigns and the URLs they run on. If more than one interrupt can fire on the same page type, pause the extras before you rewrite copy.
- Assign one primary job per page type. For example: a welcome on the homepage, help on the PDP, and progress on the cart, not all three everywhere.
- Add cart conditions. An empty cart and a cart with items call for different jobs. Free-shipping progress belongs only when the cart is under the threshold.
- Write skip-if rules. Rules covering a prior welcome, a prior dismissal, an existing subscription, a started checkout, and "already has this SKU" save shopper attention. In Atomato, a Cart products rule set to Does not include any covers "already has this SKU", and a NotiPop that was closed, clicked or left to hide doesn't show again in that browser. Atomato can't skip shoppers who already subscribed or saw your popup's welcome, so keep those skips in your popup tool, or use Visitors (not signed in) under Customer Segments to keep signed-in customers out.
- Choose the surface after the match. Use one capped interrupt when the match is strong. Put supporting context in the feed, where shoppers can come back to it without a second overlay. Product recommendations still follow the logic in how to recommend the right products based on page and cart activity. Targeting decides where that message may appear.
- Review weekly. Drop campaigns that win only on spray volume while raising dismissals or hurting add-to-cart rate.
Before and after
Before (spray): One "10% off your first order" popup on every page, including the PDP and cart, with no cart condition and no skip for subscribed shoppers. Dismissals climb, shoppers on the cart page get interrupted while editing, and returning buyers see a first-order code again.
After (targeted): A soft welcome interrupt runs on the homepage and key landing pages only, skipped if the shopper is subscribed or saw it recently. The PDP gets size help or a related feed card when the cart is empty. A cart under the free-shipping threshold gets a progress line in the feed, not a new discount overlay. When you want to zoom in on cart value thresholds alone, see how to target Shopify on-site messages by cart value. Checkout stays clear.
Atomato observation
NotiPop is the place for the one interrupt that has earned a clear page and cart match. NotiFeed holds context cards (progress, proof, soft asks) that shoppers can reopen without another fullscreen overlay. Run Atomato beside the popup and email tools you already trust. Don't rip them out to "fix targeting." Targeting rules and fewer surfaces beat louder sitewide creative.
Mistakes to avoid
- Using "all pages" as the default include rule
- Showing a welcome discount on the cart page or at checkout
- Ignoring cart state, so shoppers with an empty cart and shoppers ready to check out see the same line
- Stacking a collection promo, a PDP interrupt, and a cart overlay in one session
- Treating visitor type (new or returning) as enough without page rules
- Measuring only impressions and claims, not dismissals and add-to-cart rate after the message
Checklist
- Each live campaign has a page-type include rule (not "everywhere")
- Cart state (empty or with items, plus the free-shipping threshold) is defined where it matters
- Skip-if rules cover subscribed shoppers, recently shown messages, dismissals, and checkout
- Only one primary interrupt job per session path
- Supporting info lives in the feed or another non-blocking surface
- The checkout path has no promo overlay
- A weekly review drops campaigns that win only on spray
Next step
Audit your live on-site campaigns against the list above. Tighten page includes and skip-if rules before you write new copy. Then install Atomato free on Shopify to run one matched interrupt and a feed shoppers can come back to, next to the tools you already use.
Related: match Shopify on-site offers to the landing page.
Related: how to use Shopify customer segments for on-site messages.
Related: how to target Shopify on-site messages with UTM tags from ads.
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



