Daisy Chains or Race Conditions?

Level 4

Daisy Chains or Race Conditions?

We have observed that many errors in Marketo nurtures are because of the race conditions. In most of the cases the marketo instance users creates different smart campaigns with the same audience. In such scenarios, you cannot control the sequence of the steps and lead can qualify for any of those campaigns which results in sending wrong email, overwriting the values and many other.

Here are the few steps to avoid this:

  1. Follow daisy chains (use of requested campaigns) to create a sequence of campaigns.
  2. Test the daisy with a series of scenarios
  3. Document the results

What are your thoughts? What would you prefer: Race conditions or daisy chains?


Please feel free to add more value to it.



Level 5 - Champion

Re: Daisy Chains or Race Conditions?

Hi Vinay, I'm trying to understand the scenario. Can you share more about the purpose of the smart campaigns within the engagement programs? Or are they actually smart campaigns with "send email" flow steps within default programs rather than engagement programs? Is there concern about people qualifying for multiple programs concurrently? A few more details will help me provide a relevant suggestion. 🙂


General note: If you're interested in a possible solution for race conditions other than daisy-chaining, definitely check out the Executable Campaign function that is currently in beta. I'll be presenting about this at a virtual MUG meeting next week: https://mugs.marketo.com/events/details/marketo-houston-mug-presents-everything-you-need-to-know-abo...

Level 10 - Community Moderator

Re: Daisy Chains or Race Conditions?

What would you prefer: Race conditions or daisy chains?

This is a strange question. You never prefer a race condition — ever.


A race condition is a bug. It means multiple processes are "racing" to complete, you can't control the order, yet your preferred outcome depends on a specific order.


Maybe you mean "serial execution or parallel execution?" Because in some cases letting processes run in parallel is better for performance, as long as there is not a race condition.