This question is applicable for any flow step changing a data value, changing an engagement stream, changing stream cadence, etc. But for simplicity, let's use a change data value example: in a smart campaign flow step, I want to change the date value to "1". Here are the two scenarios that can occur for the same change data value flow step if the data value is already "1" when the lead executes that step:
Option 1:
- The lead will execute and skip this step in the flow and the campaign results will log a "Skipped value was already '1' " activity (or something similar) for that flow step
Option 2:
- The lead will only execute this choice step if the value is not "1", the default is to do nothing, and the campaign results will log a "Skipped 'Do Nothing' was set for this choice"
Both options will work in skipping the step whether it executes the step and skips because the value if already "1" (Option 1) or skips the step entirely if it is not "1" and gets the default choice (Option 2). My question is this, which option is preferred? Does Option 1 slow down performance because it qualifies every lead to execute the step even though some will skip it? Does Option 2 perform faster than Option 1 because it only executes the step for those that qualify and those that do not get the default step?
Solved! Go to Solution.
Strictly speaking, option 1 should be (minutely) faster if the value is the same, option two a bit slower if the value ends up changed. Both will query the value to see if a change is necessary, but option two will do it twice since the flow step isn't smart enough to see that the flow step choice clause was the same as the query that would normally be performed for a Change Data Value step. If you can figure out a method to short circuit the lead's qualification for the campaign without doing a query (a smart list filter or a flow step choice), then you'll be better off altogether.
I think this is one of those "6 one way, half a dozen the other" things... either is not ideal because you are having Marketo run unnecessary actions, but it's the same number of actions either way.
Is this happening for every lead that runs through the flow step, or just some? if it's every lead, you should just remove that flow step. It's unnecessary.
Basically, this flow step example would only be in a case where leads needed to go through earlier flow steps, so I cannot include value is not "1" in the smart list because I would need leads to qualify for earlier flow steps.
Ah I see. Well, like I said, I don't think it really matters which one you use from a performance stand point.
Strictly speaking, option 1 should be (minutely) faster if the value is the same, option two a bit slower if the value ends up changed. Both will query the value to see if a change is necessary, but option two will do it twice since the flow step isn't smart enough to see that the flow step choice clause was the same as the query that would normally be performed for a Change Data Value step. If you can figure out a method to short circuit the lead's qualification for the campaign without doing a query (a smart list filter or a flow step choice), then you'll be better off altogether.