Highlighted

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

Highlighted

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

Highlighted

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

Highlighted

Avatar

Avatar

sreev97350841

Avatar

sreev97350841

sreev97350841

23-07-2019

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

Highlighted

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