Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Dynamically change Personalization Blocks

sreev97350841
Level 2
Level 2

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

4 Replies
Anita_punmiya
Community Advisor
Community Advisor

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

kapilKochar
Community Advisor
Community Advisor

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

sreev97350841
Level 2
Level 2

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

Jonathon_wodnicki
Community Advisor
Community Advisor

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