Dynamic content in Email template - personalize customer specific fields | Community
Skip to main content
Amit_Shinde1
Level 2
October 19, 2023
Solved

Dynamic content in Email template - personalize customer specific fields

  • October 19, 2023
  • 1 reply
  • 1792 views

Hi Team,

I need to display dynamic content based on product/account type in the email template section. To achieve this, we created a schema and form to store content variation data based on product/account type. The workflow links dynamic content tables to target data based on products and maps dynamic content within the delivery.

 

 

The issue I am facing is that I want to personalize the title/body of a dynamic section based on customer data (e.g. product upgrade status). I tried adding targetData.fieldname or <%= targetData.fieldname %> to the schema with the following syntax, but when I link the dynamic content data in the workflow, the module 1 title retrieving as a string "You can upgrade to <%= targetData.upProduct  %>" and the column value 'upProduct' in the workflow transition table/delivery template in module 1 title is not getting personalized.

 

Please help me to resolve the scenario.   

 

Regards,

Amit

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Marcel_Szimonisz

Hello @amit_shinde1 ,

you need to add another = and then it will be handled as variable, that will be personalized, after you print it 

 

 

 

 

 

<%== targertData.upProduct%>

 

 

 

EDIT:

Hello @amit_shinde1 ,

i have tested this and seems like the "<%==" is used for another context in JSSP. I hoped it is similar to what SFDC has.


You can for now do a bit manual workaround, maybe later create function that would automatically replace all placeholders for delivery context variable.

 

 

 

 

 

 

<%= targetData.hello.toString().replace('{recipient.firstName}',recipient.firstName)%>

 

 

 

Also better option might be to save the contents in the personalization block as is and import it to delivery and it should work. This would need to add some synchronization on demand between your schema and personalization script

 

 

Marcel Szimonisz

MarTech Consultant
for more tips visit my blog
https://www.martechnotes.com/

1 reply

Marcel_Szimonisz
Community Advisor
Marcel_SzimoniszCommunity AdvisorAccepted solution
Community Advisor
October 19, 2023

Hello @amit_shinde1 ,

you need to add another = and then it will be handled as variable, that will be personalized, after you print it 

 

 

 

 

 

<%== targertData.upProduct%>

 

 

 

EDIT:

Hello @amit_shinde1 ,

i have tested this and seems like the "<%==" is used for another context in JSSP. I hoped it is similar to what SFDC has.


You can for now do a bit manual workaround, maybe later create function that would automatically replace all placeholders for delivery context variable.

 

 

 

 

 

 

<%= targetData.hello.toString().replace('{recipient.firstName}',recipient.firstName)%>

 

 

 

Also better option might be to save the contents in the personalization block as is and import it to delivery and it should work. This would need to add some synchronization on demand between your schema and personalization script

 

 

Marcel Szimonisz

MarTech Consultant
for more tips visit my blog
https://www.martechnotes.com/

Amit_Shinde1
Level 2
October 19, 2023

Hey Marcel,

 

Thank you for your response. But I am still not getting the personalization in Email. tried below.

 

 

 

Marcel_Szimonisz
Community Advisor
Community Advisor
October 19, 2023

Hello @amit_shinde1 ,

why it is censored.. from here it looks like it worked 🙂 is there product name printed under the yellow stripe? Is it empty? do you have that targetData.upProduct available in target data?

 

Also links used as above are not receommended due to:

  • security reason
  • cannot be tracked

Marcel Szimonisz