Skip to main content
All CollectionsAdobe Campaign Standard
ACS - Personalisation Fields
ACS - Personalisation Fields

How to prep your workflow for personalisation

Updated over a week ago

In the Adobe Campaign Standard workflow snippet, personalisation does not come standard.

The reason for this is two-fold:

  1. To pull personalisation fields in via the Jacquard API those fields must then be reprocessed via the Replace function.

  2. We cannot account for what your individual fields in your unique instance might be named.

You can make a simple edit to one of the steps in your workflow snippet template to ensure the personalisation fields in your language model render correctly for your subscribers.

Locate and open the activity

In your workflow snippet template, find the Add Phrasee data to target step. It looks like this:

Click on the step and then click the pencil icon that appears.

Click the Additional data tab.

We're now going to add a Replace function to the expression for the field labeled Phrasee - Variant Text. By default, the field is configured to pull in the text from your Jacquard variants as it appears in Jacquard.

You can simply click directly on the value in the Expression column you want to edit.

Enter Replacement function

To force Adobe Campaign Standard to process the personalisation variable, we're going to replace the variable with itself.

For reference, Adobe's documentation on the Replace function appears below:

Replace
โ€‹

Replaces all occurrences of a specified string (2nd parameter) value with another string value (3rd parameter) in a string (1st parameter)
โ€‹

Replace(<String>, <String>, <String>)

For our example, we'll assume we want to add first name personalisation to our variant and the field we need to target to do that is called [target/@firstName].

Please ensure you're not simply copying these examples directly. Your actual personalisation fields may be different than our example fields.

In the Expression column, the default is:

[phraseeVariant/text]

We want to wrap that in a Replace function that targets our first name field and replaces it with itself. Using Adobe Campaign Standard's function logic, our code expression should change to this:

Replace([phraseeVariant/text],"[target/@firstName]",[target/@firstName])

You'll note our first parameter in the Replace function is the variant itself, the second parameter is what we want to replace and the third parameter is what we want to replace it with.

We've also put our second parameter in double quotations to ensure it only replaces that exact string.

Adding more than one field

Taking this a step further, if you are using more than one personalisation field in your language model, you can simply wrap the Replace function in another Replace function to target additional fields.

For example, if we wanted to leverage our first name field and a last name field, such as [target/@lastName], our expression would look like this:

Replace(Replace([phraseeVariant/text],"[target/@firstName]",[target/@firstName]),"[target/@lastName]",[target/@lastName])

Note, our first Replace function has become the first parameter of a second Replace function.

Using this method, if your Jacquard variant has the personalisation field in it, it will be replaced and processed. If it doesn't, the function simply finds nothing and moves on as normal.

Did this answer your question?