Journey Builder includes a Data Binding feature to bind data in the context of a Contact, Interaction or Event.
This is feature is primarily used for developing Custom Activities or programatically creating Interactions. However, Data Binding can also be used with the Update Contact Data Activity. What this means is that instead of setting a static value in an Update Contact Data Activity, you can retrieve a specific value from an Attribute Set in your Contact Model, or insert data related to the Interaction, or Event.
I'm using this feature to update a field in a Data Extension by retrieving a value from a different Data Extension. I'm using the following string as a value in the Update Contact Data Activity:
{{Contact.Attribute.MemberData.Cont_Member_Pre_Last_Amount}}
MemberData
is the Attribute Set name (which is a linked Data Extension in Contact Builder to the Contact Record with a 1:1 relationship) and Cont_Member_Pre_Last_Amount
is a field in the Data Extension.
This works; when a Contact reaches the Update Contact Data Activity in a running Interaction, the selected Data Extension field (in the Contact Data Activity) is updated with the value of Cont_Member_Pre_Last_Amount
from the MemberData Attribute Set/Data Extension.
So far, so good. However, if there is no value in the Cont_Member_Pre_Last_Amount
field, then the Contact fails in the Update Contact Data Activity. We can see this in Contacts Administration; the log shows us that the Activity Failed and it appears that the Contact becomes trapped in the Interaction and cannot progress to other Activities in the Interaction's branch.
Does anyone know how to fix this so that the Update Contact Data Activity does not fail when resulting value from the Data Binding expression is null?