Personalised Body Content | Community
Skip to main content
June 13, 2017
Solved

Personalised Body Content

  • June 13, 2017
  • 2 replies
  • 1834 views

Hi,

We are trying to pull in personalised data into email body content.  We can make this work for any data field on the recipient table but are not able to pull in data held in another data table within Adobe Campaign.  We have carried out enrichment in the workflow but just get <%=undefined returned for the non Recipient table data field.

Any suggestions!

(email address removed, please do not post personal info as this is a public forum)

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 pauls51819491​,

is it one to one or one to many relation to the other tables?

One to one you can include into an email by following the attribute's XPath e.g.:

For one to many relations you will have to use additional data but you need to know how much of records you want to retrieve

And it the delivery you can loop additional data for each reciepient by XPath e.g.

[targetData/workflowLog1/@id]

//infinite loop :)

var i = 1

for(;;){

     //do we have additional data?

     if ("workflowLog"+i in targetData){

          //do something

          i++;

     }else{ break;}

}

Marcel

2 replies

Level 2
July 5, 2017

Hi,

This is difficult to resolve without seeing the instance and workflow, is the other table linked to the recipient table?

You can try adding the field in additional data as complementary information so that it is passing through the workflow and then you should be able to pull it in the email body content.

Thanks

Marcel_Szimonisz
Community Advisor
Marcel_SzimoniszCommunity AdvisorAccepted solution
Community Advisor
July 17, 2017

Hello pauls51819491​,

is it one to one or one to many relation to the other tables?

One to one you can include into an email by following the attribute's XPath e.g.:

For one to many relations you will have to use additional data but you need to know how much of records you want to retrieve

And it the delivery you can loop additional data for each reciepient by XPath e.g.

[targetData/workflowLog1/@id]

//infinite loop :)

var i = 1

for(;;){

     //do we have additional data?

     if ("workflowLog"+i in targetData){

          //do something

          i++;

     }else{ break;}

}

Marcel