Skip to main content
Adobe Champion
Sep 12, 2025 5:06 AM UTC
Solved

Compare birth date if it is x years old in Expression editor in Condition

Hi AJO experts, 
I would like to see birthdate is equal to 59 years old and 60 and 65. How can I do it in Expression editor in AJO condition.

{%= ageInMonths(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}) >= 714 %}

It is not working.


Please suggest.

Kind regards,

Vidhi

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Mohan_Dugganab
Mohan_DugganabAccepted solution
Adobe Employee
Sep 15, 2025 4:29 AM UTC

Also @mohan_dugganab : Would you know if I need to check for 59.5 years age then the same logic will work?

 

Kind regards,

Vidhi


@vidhikh1 By slightly tweaking the above logic as follows, yes

( ( ((toInteger(substr(toString(now()),0,4))) * 12 + (toInteger(substr(toString(now()),5,7)))) - ((toInteger(substr(toString(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}),0,4))) * 12 + (toInteger(substr(toString(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}),5,7)))) ) / 12 == 59 ) or ( ( ((toInteger(substr(toString(now()),0,4))) * 12 + (toInteger(substr(toString(now()),5,7)))) - ((toInteger(substr(toString(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}),0,4))) * 12 + (toInteger(substr(toString(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}),5,7)))) ) / 12 == 59.5 )

12 replies

Mohan_Dugganab
Adobe Employee
Adobe Employee
Sep 12, 2025 6:24 AM UTC

Kindly use the following expression 

Age -> {%= toInt((ageInMonths(toDateTimeOnly(profile.person.birthDate))/ 12)) %} {%# if toInt((ageInMonths(toDateTimeOnly(profile.person.birthDate))/ 12)) = 59 or toInt((ageInMonths(toDateTimeOnly(profile.person.birthDate))/ 12)) = 60 or toInt((ageInMonths(toDateTimeOnly(profile.person.birthDate))/ 12)) = 65 %} Display Relevant Content {%else%} Fallback {%/if%}
Translate
Mayank_Gandhi
Adobe Employee
Adobe Employee
Sep 12, 2025 6:46 AM UTC

@vidhikh1 try this

(
  yearsBetween(now(), profile.person.birthDate) == 59
  ||
  yearsBetween(now(), profile.person.birthDate) == 60
  ||
  yearsBetween(now(), profile.person.birthDate) == 65
)
Translate
VidhiKh1Adobe ChampionAuthor
Adobe Champion
Sep 12, 2025 7:49 AM UTC

Hi these solutions are not working in expression editor: I get error that it is invalid.

 

 

Translate
Mohan_Dugganab
Adobe Employee
Adobe Employee
Sep 12, 2025 8:07 AM UTC

Previous example I shared was with respect to personalization editor. You can adapt your condition by looking at the example mentioned here https://experienceleaguecommunities.adobe.com/t5/journey-optimizer-questions/getting-age-field/m-p/675198#M2041 

 

( ( (toInteger(substr(toString(now()),0,4))) - (toInteger(substr(toString(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}),0,4))) ) == 59 ) or ( ( (toInteger(substr(toString(now()),0,4))) - (toInteger(substr(toString(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}),0,4))) ) == 60 ) or ( ( (toInteger(substr(toString(now()),0,4))) - (toInteger(substr(toString(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}),0,4))) ) == 65 )
Translate
Mayank_Gandhi
Adobe Employee
Adobe Employee
Sep 12, 2025 8:59 AM UTC

@vidhikh1 In the advanced expression editor you can compare age in years directly with the age() helper, then combine the three values with OR logic:

(age(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}) = 59
 or age(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}) = 60
 or age(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}) = 65)

• age(date) returns the number of whole years between now and the date you pass (it already handles leap years for you).
• The = operator checks for equality, and the or operator lets any of the three comparisons pass.If you prefer a more compact form you can use the in() collection operator:

in([59,60,65], age(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}))
Translate
Mayank_Gandhi
Adobe Employee
Adobe Employee
Sep 13, 2025 3:44 AM UTC

@vidhikh1 did you try the suggestions? 

Translate