If you want to send a birthday email to your customers every year (or for any occasion), it’s a challenge.
Account Engagement (Pardot) doesn’t have an easy drop-down button for annual email sending.
No worries! You can create a couple of custom fields and copy these Salesforce Flows to make it work in your system.
How it works
To send an email on every Contact’s birthday, create two Flows in Salesforce.
- Flow #1- Sets the Next birthday field to the current day (12/1/1980 birthday needs to be 12/1/2023). Creating or editing the Contact triggers the Flow.
- Flow #2- Resets the Next Birthday custom field to the following year. This Flow triggers on a schedule.
Once the Flows are in place, you need a dynamic list in Account Engagement (Pardot) to unleash the magic.
Custom Fields
First you need to create two custom fields.
- Next Birthday – Date field
- Days Until Next Birthday – Formula field (See formula in image below)
Flow #1 – Set next birthday field to the current day
This Flow sets the Next birthday field to the current day (12/1/1980 birthday needs to be 12/1/2023). Creating or editing the Contact triggers the Flow.
Next Birthday Calculation
You need a formula for the next birthday calculation. Here is the text for the calculation:
IF ( MONTH ({!$Record.Birthdate})=2 && DAY ({!$Record.Birthdate})=29,
DATE(
IF(Year(Today())<=Year({!$Record.Birthdate}),Year({!$Record.Birthdate}),
IF(
OR(MOD(Year(Today())+ 4-MOD(Year(Today()),4),400)=0,
AND(MOD(Year(Today())+ 4-MOD(Year(Today()),4),4)=0,
MOD(Year(Today())+ 4-MOD(Year(Today()),4),100)<>0)),
Year(Today())+ 4-MOD(Year(Today()),4),
Year(Today())+ 8-MOD(Year(Today()),4))
),
MONTH({!$Record.Birthdate}),DAY({!$Record.Birthdate})),
IF (DATE (YEAR(TODAY()),MONTH({!$Record.Birthdate}),DAY({!$Record.Birthdate})) > TODAY(),
DATE (YEAR(TODAY()),MONTH({!$Record.Birthdate}),DAY({!$Record.Birthdate})),
DATE (YEAR(TODAY())+1,MONTH({!$Record.Birthdate}),DAY({!$Record.Birthdate}))
)
)
Flow #2 – Resets the next birthday custom field to the following year
This Flow triggers on a schedule at midnight to set next birthday field after a birthday. For instance, if today is the customer’s birthday, tonight the Flow will reset the next birthday to the next year.
NOTE: See Next Birthday calculation to add the formula to the Flow.
Dynamic Lists
Now that your Next Birthday fields are correctly populating, create a dynamic list to pull in the Contacts on their birthday. This dynamic list will add the Contact on their birthday, and drop the Contact the next day. Use this dynamic list with an engagement studio program to send a birthday email every year on Contact’s birthday without any manual intervention. (Make sure you set the engagement studio to “Allow prospects to enter more than once.”)