← All articlesAutomations

How to test a Shopify marketing automation before launch

4 min read

Testing a marketing automation means checking who enters, what happens while they wait, and why they stop receiving messages. A polished email preview cannot tell you whether a customer who purchases will still receive a recovery reminder. Build a small set of Shopify customer scenarios around those decisions, then verify the outcome as well as the appearance of each message.

Define the expected path first

Write down what should happen for an eligible subscriber, an unsubscribed contact, a customer who buys during a delay, someone with missing personalization data, and someone who qualifies for two journeys. Choose scenarios that match the automation's actual purpose.

Record the expected message, channel, timing, and stopping point for each case. Do this before running the test so an unexpected result cannot quietly become the new expectation. Use controlled records and keep test activity separate from real customer sends.

Give each case a visible pass condition

Use the automation's real purpose to define the outcome. For a checkout-recovery journey, these are useful starting cases. Adapt the details to the configured trigger and supported controls rather than treating the list as a universal test suite.

  • Eligible subscriber: enters once as intended, receives the correct language and checkout context, and reaches the right destination.
  • Unsubscribed contact: does not receive marketing through the excluded channel, even if the checkout event otherwise qualifies.
  • Purchase during the delay: later recovery sales messages stop according to the intended purchase condition.
  • Missing personalization: the message remains complete, readable, and accurate without the missing value.
  • Overlapping journeys: the combined messages follow the priority and exclusion decisions your team defined.

Follow the conditions through the journey

In Sendvio, review the trigger and every condition before a send step. Confirm that an email subscription does not stand in for SMS permission and that invalid contact details do not become eligible because another field changed.

Check time-dependent behavior. A purchase, unsubscribe, or order-state change can occur while the customer waits. Verify that later actions respond as intended, and inspect whether another active automation could send a conflicting message in the same period.

Record both the expected and observed result

Use a simple sheet with case name, starting data, event, expected message or exclusion, observed result, and evidence. Include the relevant version of the automation and template. A note saying “tested” is not enough to tell a colleague what was actually checked or why a later change matters.

Keep tests controlled. Use appropriate test records and supported preview or testing methods, and avoid generating accidental live promotions or real customer events merely to move through the flow faster. If a condition cannot be simulated safely, inspect it with the responsible team and document the verification limit instead of marking it passed.

When a case fails, identify the smallest responsible part: entry condition, state change, delay, channel eligibility, content, or destination. Fix that part, then repeat the affected case and any adjacent case the change could alter. Changing several unrelated rules at once makes it harder to know which repair worked.

Test content after the logic

Preview long names, missing fields, different product titles, and each language version. Follow the links and check discount eligibility at the destination. Then review the final audience and activation settings with the person responsible for the journey.

Keep the scenario sheet with the automation's notes and repeat the relevant cases after a meaningful change. You do not need to retest every unchanged detail each day. Focus on the parts affected by new conditions, templates, offers, or data sources so the checks remain practical enough to keep using.

Include one boundary case around the rule that matters most. If the audience uses a time window, inspect a record just inside and one just outside it. If an offer has a minimum spend, try an eligible and an ineligible basket. Boundary cases often expose assumptions that ordinary examples miss.

Before activation, have the owner confirm that unresolved failures are closed or that the affected step remains inactive. After launch, sample real outcomes without exposing unnecessary customer data and compare them with the scenario sheet. Testing is useful because it makes the intended customer experience explicit; it is not a ritual of clicking through the editor until every block looks familiar.