Adaptive Journeys
Build the path. Prove it changed behavior.
Build event-triggered customer journeys across email, inbox, web push, and mobile push. Wait, branch, send, and run an Experiment from the behavior already reaching Apex. A workspace-wide Global Holdout shows the lift each Journey added.
No credit card to start.
The Journey builder
Customer behavior decides what happens next.
Start an Adaptive Journey from a customer event, a schedule, or Segment entry. Build the path with Wait, Branch, Send, Experiment, Webhook, and Exit steps.
An Engagement Branch can route on a click, bounce, push open, or no action after the window closes. The same customer events start Journeys, resume waits, change branches, and credit Outcomes.
Activation onboarding
Skill Shot sample workspace
Choose a customer moment
Canvas steps
Communications built in
The Journey chooses when. The Composer owns the message.
Every Send or Experiment step points to a communication you build in the same Communication Composer.
Open the letter from the canvas, edit every word and variable, preview email, inbox, web push, or mobile push, then return to the same step. There is no second, smaller editor to learn.
Cart recovery · linked to the 72-hour Send step
Edit the communication here. The journey keeps the timing and path.
Variables
Found in Skill Shot and ready to merge.
Three ways to insert
- Type
{{in any field for autocomplete. - Drag a variable onto a field.
- Click one to drop it where you’re editing on the canvas.
Added to cart(app)
Apex found these details in the moment that starts this message.
Customer
Details Apex knows about the person receiving this message.
To: me


Experiment inside the path
Compare the message against the action you want.
Use an Experiment step to compare Variants of one communication against the Conversion that matters.
Opens can tell you that someone looked. The Experiment asks whether they signed up, purchased, upgraded, or completed the product action you chose. Apex names the Winner when every evidence gate clears. You decide whether to apply it to the Communication.
Trial conversion · Experiment step
Skill Shot sample workspace
Previewing Deadline-led
3 days left on your trial, Alex
Compare the message
- Traffic
- 50 / 50
- Conversion window
- 14 days
- Winner
- You approve it
Journey templates
Start with the whole Journey, not an empty canvas.
Start with a complete journey for welcome, trial conversion, cart recovery, or win-back.
Choose a template and Apex creates a draft with the starting event, every step, and the communications it needs. Review everything before you turn it on.
Welcome (new signup)
Greet every new signup and compare two subject lines in a ready-made Experiment.
- Trigger
- user_signed_up
- Segment
- Every new signup
Prior impact
+18% welcome click-through
Trial conversion (T-7d)
Send at seven, three, and one day before trial expiry, with the Conversion already chosen.
- Trigger
- trial.expiring (T-7d)
- Segment
- Trial users, 7 days before expiry
Prior impact
+12% paid conversion
Abandoned Cart Recovery
Send push first, email later, and exit the moment the cart empties or purchase happens.
- Trigger
- add_to_cart
- Segment
- Anyone who adds a product to cart
Prior impact
+15% cart-recovery conversion
Bring what already works
Import the graph. Review the details.
Import exports from AWS Pinpoint, Customer.io, Iterable, or SendGrid into draft Journeys and Segments.
Nothing imported sends until you review the canvas, attach the right communications, and publish. Apex shows what imported successfully and what you still need to review. It does not guess at missing letter content.
Migration preview
Review the translation before creating any drafts
Import from
What Apex brings over
- Journey steps and connections
- Segments and trigger contracts
- Warnings for anything that needs a person
- [step: send-day-3] Attach or create this letter in the Communication Composer before publishing.
- [global] Everything was imported as a draft. No customer can enter yet.
Translated journeys (1)
- Trial conversionpinpoint-trial-conversion · 7 steps · trigger=trigger-trial-expiring
Translated segments (1)
- Trial customers, 7 days from expirypinpoint-trial-customers · predicate kind=event_fired
Publish without surprises
Try it in Dev. Open it to Beta. Turn on Production.
Turn a Journey on for Dev, Beta, Production, or more than one at once. Every publish creates a new version while current customers finish the version they started.
Before a marketing message sends, Apex checks suppression, opt-out, frequency caps, and the Global Holdout. Apex also checks the trigger, every variable, every linked communication, and overlapping Journeys before it publishes.
Activation onboarding · Draft ahead of Production v3
Skill Shot sample workspace
Production v3 keeps running
Publishing creates v4. People already inside finish on v3.
Turn on for
Environments
Before Apex publishes
- Every trigger and letter is ready
- Every variable has a value
- Overlapping triggers get a warning
Global Holdout + Calibrated Impact
Know what happened because the Journey ran.
A Global Holdout keeps a fixed group from every marketing Journey, and Calibrated Impact compares its Conversion rate with the customers who received the Journey.
One send report tells you what recipients did. The control group estimates what they would have done anyway. The difference is the lift the Journey added.
Trial conversion · Production
Skill Shot sample workspace
What counts
- Conversion window
- 14 days
- Global Holdout
- 5%
Measure the Conversion, not the open
The held-out customers receive no marketing sends from any Journey. Their behavior is the control.
Calibrated impact
Production onlyv4People who received the Journey converted at 12.98%. The randomly assigned control group converted at 10.53%. Apex sent that group no Journey messages. Confidence: high based on 1,810 exposed.
How these numbers are computed
Single-touch, journey-scoped. Each conversion event is credited to journeys that exposed (or held out) this subject within the configured attribution window.
Window. Events withingoalEventWindowDays(fallback attributionWindowDays, default 7) of the journey’s start credit. Journeys that opt intopostExitAttributionWindowDaysalso credit events within that many days of successful exit.
Multi-journey overlap. When the same conversion qualifies for multiple journeys and at least one sets attributionPriority, we credit a single winner per a deterministic stack (highest priority → most recent exposure → highest version). Otherwise every overlapping journey credits independently.
Censoring. Failed, stopped, and timed-out executions are dropped from both the numerator and denominator — the cohort split you see above is the censored census.
Your move
Build a Journey that proves it worked.
Start with a template or bring the graph you already run. Attach the communications, choose the Conversion, and keep the Global Holdout honest. You do not need a sales call to begin.