Campaigns · Orchestration

Campaigns that span days, channels and decisions

A single broadcast is rarely the campaign. Real growth runs in steps — touch, wait, branch, fallback, convert — with A/B arms and a clean holdout so you can prove lift. SabNode multi-step campaigns let you orchestrate this without code, then attribute the outcome back to the specific step that moved the needle.

  • Sequence templates over days with wait nodes
  • A/B arms with traffic splits and significance
  • Holdout groups for clean lift measurement
  • Cross-channel fallback to email and SMS
The problem

One-shot broadcasts leave money on the table

A single WhatsApp blast captures the intent of the audience that was ready to convert in that moment. Everyone else — the 80 percent who saw it, did not click and moved on — is gone unless you have a follow-up plan. The teams that win on WhatsApp do not send one message; they orchestrate a sequence: a hook, a 36-hour wait, a reminder for non-clickers, a different angle for non-openers, a cross-channel fallback to email or SMS for the unreachable.

Building this in most tools is painful. You end up scheduling individual broadcasts, manually deduplicating audiences, writing fragile spreadsheets to track which contact got which step. A/B testing degenerates into manually splitting a CSV and comparing in Looker a week later. Attribution is a fiction — you guess which message drove the conversion and write a slide.

Multi-step campaigns make the sequence a first-class object. You design it once as a journey, the platform handles audience deduplication, message timing, A/B arm assignment and holdout suppression, and at the end you get a campaign report that shows lift by arm, by step and by segment. The result is fewer slides, more decisions you can defend.

What it is

Multi-step Campaigns, in depth.

A SabNode campaign is a journey with multiple steps that share an audience, a goal and a measurement frame. Each step can be a WhatsApp template broadcast, an email send, an SMS fallback, a wait, a branch on contact behaviour or a synchronisation point with the flow builder. You design the journey on a canvas, the platform handles per-contact state, and contacts move through the steps at their own pace — not in lockstep batches.

A/B testing is structural. You can split traffic at any step into two or more arms, each running a different template variant, audience filter or wait length. The platform handles random assignment, tracks per-arm conversion against the goal you defined, and surfaces a significance signal once you have enough volume. This is the difference between "we tried the new copy and it felt better" and "the new copy lifted reply rate by 7.2 percent at 95 percent confidence on 18,000 exposures".

Holdouts are equally structural. Set a holdout percentage at campaign launch and the platform randomly suppresses that fraction of the audience from receiving any campaign message, while still tracking their conversion behaviour. After the campaign concludes, the report shows treated-versus-holdout lift on the campaign goal — the cleanest version of attribution you can run on a channel that does not give you click IDs by default.

Cross-channel fallback is built in. If a WhatsApp send fails (opted out, undeliverable, outside the 24-hour service window), the contact can route to an email or SMS step automatically. The campaign report stitches these touches together, so the conversion is attributed to the campaign even if the conversion-driving message was email rather than WhatsApp. Real lifecycle marketing, not channel-locked broadcasts.

Capabilities

Everything you get with Multi-step Campaigns.

7 capabilities
01

Visual journey canvas

Drag and drop steps, waits, branches and fallback nodes onto a canvas. The journey runs as a single object with per-contact state, so a contact who pauses at step 2 picks up correctly even after you edit step 4.

02

A/B arms with significance

Split traffic at any step into 2–4 arms. The platform handles random assignment, tracks per-arm conversion against the campaign goal and surfaces a statistical significance signal once enough volume has flowed through.

03

Holdout groups

Define a holdout percentage at launch. Held-out contacts receive no campaign message but their conversion behaviour is still tracked, giving you a clean lift estimate without infrastructure work.

04

Cross-channel fallback

When WhatsApp delivery fails (opted out, 24-hour window expired, undeliverable), contacts can route automatically to an email send or SMS aggregator step so you do not lose the touch.

05

Branch on behaviour

Branch downstream steps on whether a contact opened, clicked, replied or hit a conversion event. Non-openers can receive a different angle; clickers can skip to a checkout-recovery step.

06

Goal-based reporting

Define a campaign goal — a conversion event, a revenue target, a reply rate. The campaign report surfaces lift against goal by arm, by step and by segment, with raw event-level data exportable for warehouse analysis.

07

Audience dedup and pacing

A contact in two overlapping campaigns is automatically deduplicated based on rules you set (one promotional message per 48 hours, for example). Pacing prevents bombarding any single contact across active campaigns.

Use cases

Built for the way teams actually work.

SaaS
Case 01

Welcome series for new signups

A SaaS runs a 5-step onboarding campaign over 14 days: welcome, product tour reminder, integration setup, billing prompt, upgrade offer. Two A/B arms test reminder timing (24h vs 72h) and reveal a meaningful retention lift on the shorter cadence.

E-commerce
Case 02

Cart recovery with cross-channel fallback

An e-commerce brand runs a 3-step abandoned-cart sequence: WhatsApp reminder at 1h, WhatsApp discount at 24h, email fallback at 48h for non-WhatsApp-reachable contacts. Holdout group proves a 12 percent lift in recovered revenue.

Real Estate
Case 03

Lead nurture for high-ticket products

A real-estate developer runs a 7-step lead nurture over three weeks: brochure, site visit invitation, video walkthrough, financing options, agent call CTA, urgency message, final close. Branching on video views routes hot leads to agents.

EdTech
Case 04

Course re-engagement

An edtech platform re-engages inactive learners with a 4-step sequence over 10 days. A/B arms test motivational vs progress-led messaging and the platform attributes course resumption rate to the winning arm at 95 percent confidence.

Financial Services
Case 05

Loan application follow-up

An NBFC follows up on incomplete loan applications with a 5-step sequence — document reminder, OTP resend, pre-approved amount nudge, agent-call CTA, expiry warning. Conversation-based pricing keeps spend predictable across 60k applicants.

How it works

From signup to first send in minutes.

Multi-step Campaigns is included on every SabNode workspace. No separate billing, no extra setup — flip it on from your workspace settings.

  1. 01

    Define the goal

    Pick the conversion event the campaign optimises for — a purchase, a reply, a signup, a custom event. Goals come from triggers, payments, contacts or external webhooks.

  2. 02

    Design the journey

    On the canvas, sequence template sends, waits, branches and fallbacks. Add A/B splits and a holdout percentage. Every node has a live preview.

  3. 03

    Attach an audience

    Select a saved segment or list. Pacing rules apply — contacts already in another active campaign are excluded according to your global dedup policy.

  4. 04

    Launch and run

    Campaigns run as a single object. Contacts move through at their own pace, and the platform handles state, retries and fallbacks per contact.

  5. 05

    Read the report

    The campaign report shows per-arm, per-step conversion, treated-vs-holdout lift, revenue attributed and significance. Export raw event data to your warehouse.

Plays well with

Works with the tools you already ship on.

MetaShopifyHubSpotSalesforceRazorpayStripeGmailMixpanel
Frequently asked

Questions about Multi-step Campaigns.

Can't find what you're looking for? Talk to our team.

How is a multi-step campaign different from a flow?
Flows are reactive, triggered by an event and run per contact. Campaigns are proactive — you start with an audience and orchestrate timed touches against a goal. They share the same template library and reporting, and you can call a flow from a campaign step if you need branching logic that exceeds what the campaign canvas supports natively.
Can a contact be in two campaigns at once?
Yes, but you control the policy. The default is one promotional campaign at a time per contact, with utility and transactional sends unrestricted. You can override this per campaign — for example, a retention campaign can be allowed to run alongside a cart-recovery campaign because they target different intents.
How do A/B arms actually split traffic?
Random assignment happens at the moment a contact enters the split node. Each contact is hashed against the campaign ID and the split node ID, so a contact who re-enters the campaign lands in the same arm. The split is sticky across the entire campaign, which is important for clean per-arm conversion measurement.
What conversion events can I attribute to?
Anything that lands as an event in SabNode — purchases via Shopify, payments via Razorpay or Stripe, custom webhooks from your backend, replies from contacts, label changes in the inbox, or CRM stage advances. The campaign report attributes every event in the window to the relevant campaign and arm.
How does holdout measurement work in detail?
At campaign launch, a hash of the contact ID against the campaign seed assigns each contact to treated or holdout. Held-out contacts receive zero campaign messages but their conversion events in the campaign window are tracked. The report shows treated conversion rate minus holdout conversion rate as lift, with a confidence interval based on sample size.
Can I edit a running campaign?
Yes, with guardrails. You can edit downstream steps a contact has not yet reached, pause individual steps, adjust pacing and extend the audience. You cannot retroactively change A/B arm assignment or holdout fraction once contacts have entered, because that would invalidate the measurement.
How does revenue attribution handle the holdout?
Revenue from held-out contacts is counted as baseline, and treated-group revenue minus baseline (scaled to the same audience size) is reported as incremental revenue driven by the campaign. This is the closest you can get to a randomised controlled trial without losing operational simplicity.
Campaigns · Orchestration

Ship multi-step campaigns into production this week.

No credit card. No sales call required. Spin up a workspace, plug in a number, and your team is live in under an hour.