What’s “dry-run” mode and why use it?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

Imagine you've spent two weeks building a re-engagement automation. You're ready to turn it on. But what if the logic is wrong? What if the "unsubscribed" exclusion isn't firing correctly and 4,000 people who already opted out are about to get an email from you? That's exactly the kind of mistake dry-run mode exists to catch.

Dry-run mode runs your automation's logic against real data without actually sending any emails. Every trigger fires, every condition evaluates, every branching path gets followed. The only thing that doesn't happen is the final send. Instead, the platform logs what would have happened, so you can review it before you commit.

Think of it as a dress rehearsal where the audience never shows up, but you find out the lighting cues are wrong before opening night.

Here's what dry-run actually checks for you:

  • Logic validation. Does the "if purchased in the last 30 days" condition actually resolve the way you expect? Are your yes/no branches hitting the right paths?
  • Audience size sanity check. You might expect 200 people to enter a flow, but dry-run shows 4,000. That's a signal to look at your entry conditions more carefully.
  • Suppression and exclusion gaps. Dry-run logs will show you whether people who should be excluded are still slipping through, before they receive something they shouldn't.
  • Timing logic. Wait steps and delay conditions get evaluated, so you can confirm a 3-day wait isn't accidentally set to 3 minutes.

Not every ESP calls it "dry-run." Klaviyo lets you preview flow logic and test individual profiles through a flow. ActiveCampaign has a test mode for automations. HubSpot offers workflow testing with sample contacts. The feature is common, the name just varies. When in doubt, look for "test mode", "simulation", or "preview" in your automation settings.

What dry-run can't do is worth being clear about. It doesn't test actual email delivery, rendering, or spam filter behavior. It won't tell you if your subject line looks bad on mobile. For that you need live testing with real seed accounts. Dry-run is for logic. Live testing is for experience.

The smart workflow is simple. Run dry-run first to validate your logic and audience size. If the numbers look right and no unexpected contacts are entering, move on to a small live test with a seed list. Only then switch the automation on for real.

So if you're building out a full pre-launch testing checklist, dry-run should be step one, not an afterthought.

Contributors

Who worked on this answer

Every name links to their profile. Every company links to their site. Real people, real accountability.

Ask an AI · tailored to your setup

Paste your automation setup or describe it, and I'll walk through what dry-run should be catching.

I want to use dry-run mode to test my email automation in ESP name. Based on my setup, can you help me: (1) identify which conditions and branches are most likely to have logic errors, (2) tell me what to look for in the dry-run logs to confirm my exclusions and suppressions are working, and (3) flag any timing or audience-size red flags I should check before I go live?

Edit the yellow boxes, then send to the AI of your choice.