Dynamically change Personalization Blocks

Avatar

Avatar

sreev97350841

Avatar

sreev97350841

sreev97350841

19-07-2019

Hello,

We have several variations of an email and wanted to come up with a dynamic solution to change the email content based on each recipient data.

One simple variation is Country, Language, Salutation..etc

Instead of using a big "If..else" section we are thinkking of using a table to store the names of all the different personalization blocks.

Example:

Email1 US, English, Mr, PB_VIEW1

Email1 US, Spanish, Mr, PB_VIEW2

Email1 CA, English, Mr, PB_VIEW3

But when building the email I'm having trouble dynamically changing the PB name.

"<%@ include view=" + w.$PB_NAME + "%" +">"

It looks like this type of functionality is not supported in Adobe. I've also tried extracting the HTML by querying the nms:IncludeView schema but this does not work if there are any javascript variables in the block's.

Are there any other alternate options? Please help.

Thanks

Sree

Replies

Avatar

Avatar

Anita_p

MVP

Avatar

Anita_p

MVP

Anita_p
MVP

22-07-2019

Hi Sree,

It seems that your PB is not correct as per the syntax, it should be something like <% include view = 'abc' %>.

Please check the same .

Regards,
Anita

Avatar

Avatar

kapilKochar

MVP

Avatar

kapilKochar

MVP

kapilKochar
MVP

22-07-2019

Hi Sree,

I am not sure i understand your problem statement correctly.

If I want to avoid multiple if else inside Email delivery what i will do is to create one personalization block  and include that block in delivery source code.

Something like below

Creating PB

1796968_pastedImage_0.png

Using above created PB in Email source code.

1797101_pastedImage_1.png

Thanks,

Kapil

Avatar

Avatar

sreev97350841

Avatar

sreev97350841

sreev97350841

23-07-2019

I'm working with Adobe Pro services on this issue. Thank you for your responses.

Avatar

Avatar

wodnicki

MVP

Avatar

wodnicki

MVP

wodnicki
MVP

23-07-2019

Hi,

One solution is to include a personalization block that includes all personalization blocks, then inside each wrap content with a conditional:

<% if (PB_NAME === 'name of this block') { %>

...

<% } %>

Thanks,

-Jon