How to test on-site message changes one at a time

Change one thing at a time, write down what you expect and set a stop rule. Atomato has no built-in A/B testing, so results from separate runs can differ for reasons beyond the message.

Atomato analytics example: a single on-site test with two variants splitting the traffic and a written stop rule, over a photograph of a grey moon beside a small blue earth

Test one message job at a time: one hypothesis, two variants run in equal back-to-back windows, and a written stop rule. Do not change five things in one experiment, and do not leave tests running until every shopper has seen contradictory copy. Clean tests protect both what you learn and your shoppers' patience.

This guide gives you example test plans (hypothesis, variants A and B, test windows, stop rule and what not to change at the same time), a before-and-after example, and a mistakes checklist. Keep your existing popup and email tools. Atomato has no built-in traffic split, so to test in Atomato, duplicate a campaign and run each version in its own time slot.

Why messy on-site tests flood traffic

On-site messages reach a large share of sessions quickly. If you rotate the headline, offer, trigger, and design together, you may not be able to tell what worked. Changing frequency or stacking a second message mid-test also costs you shoppers' attention and trains them to ignore what they see. Low-traffic stores rarely reach a definitive read, so merchants keep "testing" indefinitely and add more noise.

Principle: one message job, one main change, enough traffic to make a decision, then stop.

What a good on-site A/B test looks like

Define the job first (welcome list sign-up, cart help, promo code, urgency). Then change only the variable that answers your question (usually copy, offer size, or timing) and hold the surface and frequency steady. Pair this guide with what makes an on-site message convert for the conversion principles you are testing against, and how to measure the revenue generated by your campaigns so you score attributed revenue carefully without inventing lift.

A campaign's menu in the list. Duplicate as draft opens the copy in the editor.

Keep display rules and targeting the same for both versions. Atomato has no frequency cap setting: once a shopper closes, clicks or hovers over a NotiPop, or it hides on its timer, it doesn't show again on later pages in that browser. See how to set Shopify on-site campaign frequency without training shoppers to ignore you.

Test plans: hypothesis, variants, windows, stop rule and freeze list

Before you go live, write one plan like the examples below. If you can't say what stays the same, you aren't ready.

  • Softer welcome copy raises acceptance without hurting adds to cart: variant A, the control, says "Get 10% off. Enter email." Variant B asks "Want a welcome code when you are ready?" Run A, then B, in back-to-back windows. End each one after the same fixed number of days or a preset session count. Stop early only on a clear sign of harm, such as a sharp drop in adds to cart. Don't change the trigger, frequency, placement or offer size at the same time.
  • Delaying until after the first scroll cuts dismissals: variant A, the control, shows right away. Variant B shows after a scroll or a short delay. Run A, then B, for the same fixed window each, and don't rewrite the copy each time you check the daily results. Don't change the headline or offer at the same time.
  • A feed promo beats an interrupt for returning shoppers: variant A, the control, is a soft popup shown once. Variant B shows only a feed card with the same offer. Run A, then B, in back-to-back windows, or add a window where neither runs. Stop each window at a preset session count, then compare how many shoppers claim the offer and add to cart. Don't change the discount percentage mid-test.
  • A cart help message lifts checkout starts: variant A, the control, is a generic "Need help?" Variant B says "You are $12 from free shipping." Run A, then B, in back-to-back windows, each shown only to shoppers who view the cart. Stop each window when cart viewers reach your target number. Don't change the sitewide welcome message at the same time.
  • A shorter urgency line is ignored less often: variant A, the control, is a long scarcity paragraph. Variant B is one honest stock line. Run A, then B, on product pages only, for the same fixed number of days each. Leave out Black Friday and Cyber Monday weeks with stacked messages if they're noisy. Don't add a second overlay at the same time.

What to do: pick the one plan that matches this week's question and ship only that plan. Record the freeze list in your campaign notes.

Steps to run one clean test without flooding your audience

  1. Write the hypothesis in one sentence: what changes, for whom, and what you expect.
  2. Pick one primary metric (acceptance rate, rejection rate, add to cart, checkout starts) and one guardrail (for example, no drop in mobile ATC).
  3. Use the same surface, display rules, and audience rules for both variants.
  4. Run the variants in back-to-back windows of equal length, such as whole weeks, so both cover the same weekdays. Don't run both at once, since Atomato shows every active campaign to every shopper who matches its targeting. On Scale and Enterprise+, use the Schedule tab so B starts when A ends. On Free, pause A and start B by hand.
  5. Atomato can't exclude shoppers who have already purchased or who saw another message that day. Give both versions the same Customer Segments setting, such as Visitors (not signed in), so the audience stays the same.
  6. Do not change the creative mid-campaign, except to fix a broken link or a legal issue.
  7. Stop when your stop rule says to. Declare either a winner or "no clear difference," then archive the loser.
  8. Make the winner your new baseline before you test the next hypothesis.

In Atomato, keep your NotiPop and NotiFeed jobs stable while you change one creative or timing variable. Do not replace your popup or email/SMS stack just to run a storefront test. Atomato sits alongside those tools. Score results with the honesty described in how to measure the revenue generated by your campaigns: attributed revenue is not the same as proven incremental lift.

Performance by message on a campaign summary. Revenue per 1k shows -- until a message has enough impressions.

Before and after: five things at once vs. one message job

Before (testing five things at once):

Week 1: new headline, new 15% offer, new exit trigger, new mobile layout, and a second feed card, all live for "the test."

Traffic split unclear. Some shoppers see both old and new in one session.

Team declares "the new stack won" with no single lesson to reuse.

Problems: unreadable results, flooded attention, contradictory messages, no playbook for next month.

After (one message job):

Hypothesis: softer welcome copy raises acceptance without hurting ATC.

A and B differ only in the headline. The 10% offer, the delay and the display rules stay the same.

A runs for a fixed window, then B for a window of the same length. The guardrail is mobile ATC.

Stop, pick a winner or call a draw, then queue the next single change (delay), not five at once.

The after version produces a reusable lesson and leaves most shoppers with one coherent story.

Mistakes checklist

  • Changing offer, copy, trigger, and design at the same time in one experiment
  • Repeatedly checking the daily report and editing the "losing" arm mid-test
  • Running test windows so short they never reach a decision, then leaving both variants live forever
  • Ignoring guardrails (ATC, bounce) while celebrating a higher email capture rate
  • Testing sitewide during a promo period that is already flooded with messages
  • Treating attributed revenue as proven lift without a holdout or careful reading
  • Replacing your whole popup stack "to enable testing" instead of just freezing one job

If results are unclear, narrow the test to a single variable before you add traffic.

Next step

Use the test plans above to write one hypothesis for this week. Freeze everything except that variable, set a stop rule, and ship. Atomato works alongside your existing popup and email tools. It does not replace them.

Install Atomato free on Shopify to keep on-site message jobs clear while you test one creative or timing change, or explore NotiPop and NotiFeed.

Written by

Atomato

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