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
BedrockMission!

Learn more

View all

Sign in to view all badges

Adding default value when first name personalization is blank

terricurry
Level 2
Level 2

Hello,

How can I add a default value to my firstName personalization in my email, such as "Valued Customer" if firstName is empty? Right now, it shows as a blank space followed by a comma).

 

<span class="nl-dce-field mobile_header_text nl-dce-done" id="span161662637290731" data-nl-expr="/context/profile/firstName" data-nl-type="string" data-contenteditable="false" data-nl-format="datetime">First name (firstName)</span>

 

Thanks in advance.

 

Terri

Personalization
4 Replies
ramon_bisswanger
Employee
Employee

you could define a dynamic content and then use a condition "firstname is not empty" and the default value

Xyborg
Level 1
Level 1

I would go with Ramon's solution, but you could use a content block as well.

 

Here is the code of one we have already in place in our ACS:

 

<%
// Displays a greeting formula appropriate for the profiles' fields
// populated in the database (first name, last name and title)
// The following table defines the formula to use in each case
// (#0 is replaced with the title, #1 with the first name and #2 with the last name)

var aGreetings =         // **bleep** Fir Las
['Hello,'         ,    //
 'Hello,'         ,    //          X
 'Hello,'         ,    //      X
 'Hello #1 #2,'   ,    //      X   X
 'Hello #0,'      ,    //  X
 'Hello #0 #2,'   ,    //  X       X
 'Hello #0,'      ,    //  X   X
 'Hello #0 #1 #2,'];   //  X   X   X

var aField = [context.profile.salutation,  // field corresponding to #0
              context.profile.firstName,   // field corresponding to #1
              context.profile.lastName];   // field corresponding to #2

var iIndex = 0, iCount = aField.length;
for( i=0 ; i<iCount ; i++ )
{
  if( aField[i] != '' )
    iIndex += Math.pow(2,(iCount-i-1));
}

var sToDisp = aGreetings[iIndex];
sToDisp = sToDisp.replace(/#0/, aField[0]);
sToDisp = sToDisp.replace(/#1/, aField[1]);
sToDisp = sToDisp.replace(/#2/, aField[2]);
document.write(sToDisp);
%>

 

You can use the code above and modify it to only use the first name if exist.

terricurry
Level 2
Level 2
@Xyborg - thanks so much for the info. I will check out Ramon's first and then yours.