I was building a new journey in journey builder this week and saw this message:

Journey Builder captures a snapshot of the entry source data upon Journey entry >that is then used in email personalization strings and journey activities. If you >update the attribute values in your entry data source and want to use the updated >values for email personalization, you must use AMPscript in your email.

We have a few emails in one particular journey which have dynamic content blocks in them based upon their 'subject preference' - so the block looks like this:

enter image description here

Now, we have an 'update preferences' cloudpages form which allows subscribers to update their subject preferences (this refers to academic subjects - eg 'ARTS', 'MATH', etc), which does an updateDE to their record in the journey data extension. However, by the looks of this message, any changes to subject preferences won't make any difference to the content they receive as the criteria for which content block they see is determined by a snapshot of the data made at point of entry, so basically, they'll receive content aimed at their OLD preferences. This is no good!

On this page it details how to update any personalization strings to use contact data instead of entry snapshot data by using the ampscript variables instead of the standard %% markup, so


instead of


But how do I make the dynamic content use contact data rather than the snapshot event data?

1 Answer 1


You are going to want to do a lookup for each person against the DE that has the updated information.

set @subject = Lookup("updated_de_name","subject","EmailAddress",[EmailAddress])

Then you can use the variable @subject wherever you need If you want to display it --> %%=v(@subject)=%%

See more at: https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-programmatic-content.meta/mc-programmatic-content/lookup.htm

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .