The post title is a bit of a mouthful, but if you've been bitten by a certain feature gap you'll know what I mean.
One of the first things you learn about Wait steps is they don't have a literal Add Choice option.
This can be frustrating when you want to vary the Wait delay based on runtime conditions (that is, conditions you can’t know until the person has qualified and entered the flow) importantly including no delay at all.
But with a tiny bit of work, you can simulate Wait step choices.
It’s a matter of managing a Date/DateTime field, earlier in the same flow, using Marketo’s simple plus/minus support.
Here’s such a field:
And here’s a flow that uses that field to manage a subsequent Wait step:
This approach works because of 3 convenient truths:
- Change Data Value is synchronous within a single flow[1]
- Date tokens understand a few math operators
- Wait steps using a Date token will be skipped if the Date token is empty
Truth be told, I don't always endorse this tack over multiple Smart Campaigns. Whatever’s making you want drastically variable Wait periods (other than implicitly variable periods like wait-until-anniversary) may mean the lifecycle is going to differ in other ways as well, in which case discrete SCs help you keep your sanity. But it's there if you want it.
P.S. Yes, you can also use a Number {{my.token}} for the delay itself, a setup that might be almost too cool to follow! Or a Text {{my.token}} (don’t know why you’d choose this over Number, though) as long as you don’t include the unit (“days”, “hours”) in the value, keep that hard-coded in the Change Data Value box.
Notes
[1] “Synchronous” meaning the New Value is guaranteed to be readable in the next flow step. Contrast this with, for example, webhook-based updates, which are asynchronous (background) value changes.