Sending birthday emails right at 12:00 AM in the recipient's local time is an excellent way to enhance personalization and customer engagement. For example, a customer in Paris should receive the email at 12:00 AM Paris time, while a US-based customer will receive theirs at 12:00 AM in their respective time zone.
This approach ensures your message arrives at the perfect time, making the customer feel special. Here’s a guide on how to set up and schedule such birthday emails effectively using Adobe Journey optimizer tool.
- Key Prerequisites
- Ensure the time zone field is available in the customer's profile. This can be sourced from the Preference Details field group.

- Timezone attribute would hold a string value. Make sure to add the correct timezone value to the profiles.

- Audience creation
- Use filters to identify profiles whose birthdays fall within a one-day timeframe. This ensures the journey targets the correct audience each day.

- Journey Logic

Journey Properties
Schedule journey daily and enable profile time zone. This configuration helps to use the time zone defined at the profile level in waits and conditions

Condition Activity: Check for Upcoming Birthdays
- Add logic to verify if the birthday (based on the current year) is greater than today’s date. Here’s how it works:
- Construct a date using the current year and the customer’s birth month and day.
- Compare this constructed date to today’s date (excluding the time).
- Return “True” if the constructed date is in the future.

Wait Activity
- Configure a Wait Activity to pause the profile at this step until midnight of their birthday (local time). Set this using a date and time object for the profile’s birthday at 00:00:30.

- Email Delivery
After the Wait Activity, set up the delivery of the birthday email. This ensures the email is sent precisely at midnight of the recipient’s birthday, adhering to their local time zone.
- Monitoring and Audit Logs
Use the following query to monitor journey execution and verify the timing of each step. Note that while the wait step executes based on the profile’s local time zone, audit logs display timestamps in UTC.
Sample Query
SELECT
identityMap['Email'][0].id,
TIMESTAMP,
_experience.journeyOrchestration.stepEvents.nodeType AS NodeType,
_experience.journeyOrchestration.stepEvents.nodeName AS nodeName,
FLOOR((_experience.journeyOrchestration.stepEvents.processingTime / 3600) / 1000) AS hours,
FLOOR(((MOD(_experience.journeyOrchestration.stepEvents.processingTime / 3600, 1000) / 10) * 60) / 100) AS minutes,
NOW()
FROM
journey_step_events
WHERE
_experience.journeyOrchestration.stepEvents.journeyVersionID = '05ccf4e50ba9'
ORDER BY
identityMap['Email'][0].id, TIMESTAMP;
This query helps you track when specific journey steps, like the wait or email delivery, were executed.
Conclusion
Personalized birthday emails delivered at midnight in the customer’s local time add a thoughtful touch to your communication strategy. By ensuring proper data setup, journey scheduling, and monitoring, you can make this process seamless and impactful.