Automation Journeys
Driven by behaviour, not by your calendar.
A welcome one day after signup, a reminder an hour after an abandoned cart, a win-back after thirty silent days. The trigger comes from your system; we run the rest.
Why it exists
A campaign runs once; a journey runs always
A campaign depends on a marketer's calendar: somebody has to sit down, pick the list, write the copy and press send. The moment a customer abandons a cart does not follow a calendar. Automation is communication you set up once and that then runs by itself.
What it does
6 capabilities, one screen.
Your own events
You name the event: cart_abandoned, page_abandoned, signup, order_completed. Signalbird does not know what the event means and should not, you make the decision in your own code, we run the journey.
Multi-step sequences
Every step has its own delay, channel and content. The first step can be email, the second an SMS three days later.
Exit conditions
The "abandoned cart" journey stops when the purchase arrives. Without this the customer gets a reminder for something they already bought, the most irritating mistake in automation.
Quiet hours
An automation SMS at 03:00 loses you the customer. The step is not skipped, it is DEFERRED to the opening of the window, the sequence stays intact.
One person does not enter twice
A repeating event (page abandonment) does not push the same person into the journey every minute. If you allow re-entry, you set the cooldown.
Event data in the content
The abandoned product, the cart total, the page address, all become template variables: "{{product}} is waiting in your cart".
How it works
In 4 steps.
Build the journey
Trigger event, steps, delays.
Report the event
One SDK call from your own system.
The person enters
A contact is created if needed; data is merged into the template.
Steps run in order
The journey stops when the exit condition arrives.
Connect it in code
A few lines are enough.
This call really exists in the package. Every language and surface is on the developers page.
For developersawait sb.track({
event: 'cart_abandoned',
contact: { email: 'customer@example.com' },
data: { product: 'Red shoes', total: 1250 },
})
// the journey stops by itself once the purchase happens
await sb.track({ event: 'order_completed', contact: { email: '...' } })Specifications
Does it really do that?
- Steps
- Up to 20 per journey
- Delay
- From a minute to a year
- Channels
- Email · SMS · Push
- Tick rate
- Every minute
Questions
Things you might wonder.
How does it talk to my e-commerce system?
Through a single HTTP call. Your code decides what abandonment means (say, 30 minutes of inactivity); we take the event and run the journey. That is why the same engine works in every industry.
Does journey mail need consent?
Yes. Even a "welcome" message is promotional in content and counts as a commercial message; it passes the consent gate.
What happens to people waiting if I pause a journey?
Nothing is cancelled, they wait. When you fix the journey and resume it, they continue from where they were.
Works well with