Hi All,
I have a trigger campaign which keeps the SFDC custom field (Suppression Reason) updated whenever a person's marketability updates.
For example, let say a person is marked Email invalid as "True" (with Email invalid Reason text as True) and marked as Unsubscribed as "True"(with Unsubcribed Reason text as Unsubscribed: No longer needed;). So the current Suppression Reason text field would show as:
Now, let say I manually unchecked the Email invalid box, so what should be the campaign logic set in such a way that the Email invalid Reason should be removed and only the Unsubscribed Reason should be populated in the above text field ?
Any help would be very helpful for me. Thanks in advance !!
Solved! Go to Solution.
Hi @Darshil_Shah1 , thank you for your response.
The texts in the suppression triggers (email invalid, unsubscribed, Marketing suspended, Email suspended etc) will be dynamic and I would capture these texts via {{lead.Email Invalid Reason}}, {{lead.Unsubscribed Reason}} etc and I have just added them for demo. Also, I am taking Email invalid and Unsubscribed Reasons only as of now for simplicity.
I created the trigger campaign that looks for all the marketing delivarability status to change to False from True as shown below:
However, I tested a couple of scenarios and feels that there is no need to add Suppression Reason filter as I believe the campaign would be triggered anyways if there would be any change in the delivarability status of a person. Please let me know if I am missing any use case here.
In the flow, If I check for Unsubscribed field is "True" , update the Suppression reason to
"Unsubscribed: {{lead.Unsubscribed Reason}}; {{lead.Suppression Reason}}"; in the Default choice (i.e., if the Unsubscribed field is False), then Supression Reason as "Null", then the functionality is not working as Marketo just blanks the Suppression Reason completely, without stampimg {{lead.Email Invalid Reason}} in it. Please refer snapshot below:
Flow:
Result:
This may be due to the fact that Marketo is getting the last value of Suppression Reason from the Default choice as shown in the snapshot above.
Solution: To tackle this, I made a couple of changes in the logic:
1. Clearing out the Suppression Reason field at first, once the campaign triggers in case of any Data value changes in the Suppression triggers from True to false.
2. Once, it clears the Suppression Reason field, I am now checking all the Suppression triggers one by one and including the last Suppression Reason (if any) through {{lead.Suppresion Reason}} after every primary suppression trigger, keeping the default choice as blank now.
Result:
Please let me know if there is any use case which can break down this logic.
Is the Email Invalid and Unsubscribed reason texts always static, i.e., "True" and "Unsubscribed: No longer needed;" respectively? Do you wish to include all marketable fields for this or a subset of them (like in your example)?
You could create a trigger campaign that looks for Email Invalid value to change to False from True and have a filter that checks whether the Suppression Reason field contains the "True" text or not. In case the Email Invalid Reason text is not static (i.e., it's not always "True"), you could also use the "not starts with" operator (say something like, "not starts with": "Unsubscribed") and in the flow, if the Unsubscribed field is "True" update the Suppression reason to "Unsubscribed: No longer needed;", in the Default choice (i.e., if the Unsubscribed field is False), you'd want to clear out the Suppression Reason field. Let me know if this makes sense or if you're able to find holes in it.
Also, IMO instead of just stamping "True" when the Email Invalid is True in the Suppression Reason field, you should also include some context, i.e., "Email Invalid is True" so people seeing the Suppression Reason field could easily make sense of the data in it, instead of referring to the documentation/resources to find what True means.
Hi @Darshil_Shah1 , thank you for your response.
The texts in the suppression triggers (email invalid, unsubscribed, Marketing suspended, Email suspended etc) will be dynamic and I would capture these texts via {{lead.Email Invalid Reason}}, {{lead.Unsubscribed Reason}} etc and I have just added them for demo. Also, I am taking Email invalid and Unsubscribed Reasons only as of now for simplicity.
I created the trigger campaign that looks for all the marketing delivarability status to change to False from True as shown below:
However, I tested a couple of scenarios and feels that there is no need to add Suppression Reason filter as I believe the campaign would be triggered anyways if there would be any change in the delivarability status of a person. Please let me know if I am missing any use case here.
In the flow, If I check for Unsubscribed field is "True" , update the Suppression reason to
"Unsubscribed: {{lead.Unsubscribed Reason}}; {{lead.Suppression Reason}}"; in the Default choice (i.e., if the Unsubscribed field is False), then Supression Reason as "Null", then the functionality is not working as Marketo just blanks the Suppression Reason completely, without stampimg {{lead.Email Invalid Reason}} in it. Please refer snapshot below:
Flow:
Result:
This may be due to the fact that Marketo is getting the last value of Suppression Reason from the Default choice as shown in the snapshot above.
Solution: To tackle this, I made a couple of changes in the logic:
1. Clearing out the Suppression Reason field at first, once the campaign triggers in case of any Data value changes in the Suppression triggers from True to false.
2. Once, it clears the Suppression Reason field, I am now checking all the Suppression triggers one by one and including the last Suppression Reason (if any) through {{lead.Suppresion Reason}} after every primary suppression trigger, keeping the default choice as blank now.
Result:
Please let me know if there is any use case which can break down this logic.
Well, this looks cool! I could have never known the entire context/requirements from your initial question. Thanks so much for giving the complete idea of requirements in your most recent comment though. And yes, if you have multiple CDVs in the flow, the Suppression reason would end up with a NULL in case the field in the last CDV is False, and of course, the data in it even if the field in the last CDV is not null would be highly in-accurate. With that being said, I think you could either do it this way through a single campaign or create separate campaigns for each of the marketable fields. I like managing this via a single trigger campaign better though.
Thanks @Darshil_Shah1 for giving it a green and apologies if I was not able to understand my exact requirement in my earlier comments.
Of course and no worries at all, @MMundra1! End of the day, I'm so glad that you were able to solve this. 🙂