How to keep on-site messages and Klaviyo from asking twice

Keep your popup, the feed and Klaviyo from repeating the same offer while a shopper browses. Ask on-site first and let Klaviyo follow up after the shopper leaves.

Atomato NotiEmail example: a single email ask inside the notification feed, with Klaviyo continuing after the shopper leaves, over a photograph of a gibbous moon

Sync your channels by moment, not by volume. While the shopper is on-site, one ask is enough. Klaviyo email and SMS can then pick up the job after they leave the store. If a shopper was already captured or converted on-site in the last hour, skip those flows.

This guide includes a channel handoff ladder and a list that matches moments to channels. It also has a before-and-after example and a wiring checklist. Keep Klaviyo and your popup. Pair Atomato with both so the welcome code isn't shouted four times before checkout.

Why same-hour stacks happen

When popup apps, feed cards, and Klaviyo welcome or browse flows are set up separately, they rarely run on the same timing. Each channel acts as if it owns the welcome job, so a new shopper can get a delayed popup, a feed card with the same 10% code, a welcome email while still on the PDP, and an SMS with the same offer. That is four asks, not coverage.

Principle: Keep one main ask per moment. Hand off to the next channel only when the situation changes. A shopper who leaves moves to the next channel. A shopper who signs up isn't asked again. A shopper who buys stops getting welcome messages.

The channel handoff ladder

Three rungs, not four channels firing in parallel:

  1. On-site interrupt (session open): only one popup or soft ask for the primary job (welcome, list capture, cart help).
  2. On-site follow-up in the feed: the same offer in a feed card the shopper can reopen without another interruption.
  3. ESP / SMS (after the shopper leaves): Klaviyo welcome, browse, or cart flows that fire only when the session ends without the outcome you wanted.

Atomato sits on rungs 1 and 2, beside your popup. Your existing popup or a NotiPop is the single interrupt for when you need the shopper's attention. A NotiPop has no form, so list capture stays in your popup or a NotiEmail card in the feed. NotiEmail and the Klaviyo integration are on Enterprise+. NotiFeed keeps the offer where shoppers can come back to it. That way you don't need a second popup (or an early email) to "remind" them. Klaviyo stays on rung 3. Do not remove it.

This pairs with when to use a popup, the feed, or both for the same offer and how to set Shopify on-site campaign frequency without training shoppers to ignore you. The lens here is which channel owns which moment.

A NotiEmail signup. Each address goes to the email platform chosen in the campaign.

Which channel owns each moment

This list maps each moment to its main channel, its follow-up and when to skip a message. Check it before you turn on another welcome path. The skip rule in each item keeps channels in sync. When it applies, Klaviyo or a second on-site message stays silent.

  • New shopper with the session open: one on-site welcome popup shows once. A feed card follows with the same code and threshold. Skip a second popup and hold the Klaviyo welcome until the session ends without a signup.
  • Email captured on-site this session: an optional quiet confirmation can sit in the feed, with no follow-up after it. Skip the Klaviyo step that asks for an email. Start the flow that follows a signup only after the shopper leaves or the next day.
  • Still browsing a product or collection page: a soft promo or progress message in the feed leads. Don't add a second fullscreen popup. The feed stays in place for shoppers to come back to. Skip the browse abandonment email and SMS while the session is active.
  • Added to cart, still on-site: the feed or a soft corner message offers cart help or free-shipping progress. The feed shows the threshold until the cart reaches it. Skip the Klaviyo cart email until the shopper leaves with items in the cart. See how to recover Shopify carts on-site before email fires.
  • Left the site with no signup and no purchase: a Klaviyo browse or welcome email leads. SMS can follow later, only with consent. Skip these messages if the shopper signed up or bought in the last hour.
  • Left the site after signing up, with no purchase: Klaviyo leads with its signup follow-up flow or a first-purchase nudge. SMS can follow later, but not in the same minute as the email. Skip a second "here's your 10% code" message if the on-site message already gave the code.
  • After a purchase: Klaviyo order and post-purchase flows lead, with no welcome follow-up. Skip the welcome popup, welcome flow and welcome SMS for this shopper.

What to do: List every Klaviyo flow that can trigger within one hour of the first visit, plus every on-site welcome creative. Moments while the session is open belong to on-site channels only. Moments after it ends belong to the email platform. Cut any path where both sides fire the same offer in the same hour.

Steps to wire the handoff

  1. Name the job once (for example, a first-order 10% welcome). One job, one code, one primary creative.
  2. Pick the session-open owner: one on-site interrupt, through NotiPop or your existing popup.
  3. Place the same offer in NotiFeed as a card shoppers can come back to (for optional quiet capture, see how email capture works inside the feed).
  4. In Klaviyo, hold welcome, browse, and cart flows until a leave signal, not "2 minutes after signup" while the shopper may still be browsing.
  5. Add filters to skip shoppers who already have the welcome tag or have redeemed the coupon. Also skip shoppers who ordered recently or signed up on-site in the last hour.
  6. Make sure the SMS does not arrive in the same minute as the welcome email for the same code.
  7. Track the on-site dismiss rate and welcome-flow complaints, not just "flows sent."

When one on-site interrupt and the feed cover the open session, Klaviyo can wait for the shoppers who left, and the storefront stops duplicating the ask. Atomato adds a marker property such as atomato_128 to each contact it sends to Klaviyo, so you can build a segment of on-site signups for these skip filters.

The saved email step. Edit changes the list or the platform for this campaign only.

For an account where Atomato passes captured contacts to an existing email and SMS program without taking part in sending the emails, see the Triquetra case study.

Before and after: same-hour stack vs. handoff ladder

Before (popup + feed + email + SMS in one hour):

  • 0:00, popup: Get 10% off. Enter your email.
  • 0:02, feed card: WELCOME10 still waiting
  • 0:05, Klaviyo email: Here's your 10% code (shopper still on PDP)
  • 0:06, SMS: Don't forget WELCOME10.
  • 0:12, exit popup: Last chance for 10%.

The problem: four channels push one offer while the shopper is still shopping.

After (on-site first, the offer kept in the feed and Klaviyo after the shopper leaves):

  • 0:00 to 0:12, one delayed popup: Welcome. 10% off your first order. Want the code?
  • Same session, feed card (waits until opened): WELCOME10 · free shipping at $50 · [Shop bestsellers]
  • If captured on-site: quiet feed confirmation, no second popup and no "enter email" email
  • After they leave without buying: one Klaviyo welcome or browse email with the same code
  • SMS: later in the flow, only with consent, only if the email did not move them
  • Exit interrupt: only if no on-site interrupt has fired yet this session

The after version fires the interrupt once. The offer stays in the feed, where shoppers can come back to it. Klaviyo speaks to shoppers who left instead of shoppers still reading a product page.

Mistakes checklist

  • Site popup and Klaviyo welcome email both firing while the session is still open
  • SMS with the same code within the same minute as the welcome email
  • Feed card, fullscreen popup, and email all repeating "enter your email"
  • Browse-abandon flow with no skip for a recent capture or a still-active session
  • Cart email firing before on-site cart recovery has had a chance to work
  • Measuring "messages sent" across channels rather than whether the primary ask converted once
  • Replacing Klaviyo with another on-site tool (or the reverse) instead of handing off by moment

If sign-up flow unsubscribes suddenly rise after you improve on-site capture, check for these same-hour double sends before you rewrite the subject line.

Next step

Audit every welcome path that can fire in the first hour. Keep only one on-site interrupt and one feed card shoppers can come back to. Move Klaviyo to after the shopper leaves, with rules that skip shoppers who signed up or bought. Atomato runs alongside your popup and Klaviyo. It does not replace either.

Install Atomato free on Shopify to pair a NotiPop interrupt with a NotiFeed card that waits for shoppers, alongside Klaviyo, or learn more about NotiPop and NotiFeed.

Written by

Atomato

Published 7 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.