Skip to main content

Birthday Automation

Learn How to automate Birthday messages in Omnisend

Written by Ira
Updated this week

Use Birthday Automation to send automated greetings on your contacts' birthdays. This workflow helps you strengthen customer relationships and drive sales with personalized messages and offers – no manual follow-up needed.


Before You Begin

⚠️ Birthday dates must use the YYYY-MM-DD format. If you imported birthdates as a custom property, the automation won't recognize them. Export your contact list and re-upload it, mapping the birthdate column to the Birthday field.

Collect Birthday Dates

Birthday emails are sent only to contacts with birthdates saved. You can collect this data in two ways:

  • For new subscribers: Add a birthday field to your Signup Forms or Landing Pages.

  • For existing subscribers:

    • Create a segment of subscribed contacts where Birthday is not set.

    • Create a Landing Page with a birthday field.

    • Send an Email Campaign to the segment with a link to the landing page.

Alternatively, enable the birthday field in your preference management page so contacts can update their own profile.

💡 Tip: Encourage submissions by mentioning a birthday gift or discount.

Create the Workflow

Step 1. Go to AutomationCreate Workflow → Select Birthday Automation from the preset library.

Configure Trigger Settings

The workflow triggers on the contact's birthday by default. You can adjust the timing:

  • Trigger before or after: Send the message 1–14 days before or after the birthday.

  • Time of day: Use a Delay block to send at a specific time (e.g., 9:00 AM) instead of midnight.

Date format: Birthdates must use YYYY-MM-DD (e.g., 1990-05-15). If birthdates were added as a custom property, export and re-upload your contacts with correct field mapping.

Audience Filters

Target your workflow by profile data (Country, Gender, Tag) or segment membership. For example:

  • Send different offers based on location.

  • Exclude contacts who've purchased in the last 7 days.

Exit Conditions

By default, contacts exit after receiving all messages. You can set custom exit conditions (e.g., if a contact makes a purchase or unsubscribes).

Frequency

Control whether contacts can re-enter the workflow in future years:

  • Every year: Contact receives a birthday message annually (each year on their birthday).

  • One-time only: Contact receives the message only once, never again.

Conditional Split

Personalize messages based on contact data or behavior. For example:

  • Offer higher discounts to frequent buyers.

  • Send different messages to VIP contacts.

  • Offer free shipping based on the contact city or country.

Delay

The Birthday Automation preset includes a Delay block set to send at a specific time of day (instead of midnight). This prevents messages from arriving too early in the morning.

You can adjust the delay to match your audience's timezone or preferred sending time. For example:

  • Send at 9:00 AM in the contact's local timezone.

  • Send at a specific time in your account timezone.

💬 Learn more: Delay Blocks in Automation.

Add Messages

When you create a Birthday workflow, you can choose from two presets:

  • Email only – One birthday email message

  • Email + SMS – Birthday email followed by an SMS reminder

You can also add Push notifications or additional messages at any point in the workflow.

Email Content

Use the Email Builder to design your birthday message:

  • Add a personalized greeting (use {{ contact.firstName }}).

  • Include a Discount Code block with a birthday offer.

  • Showcase product recommendations or bestsellers.

💡 Need inspiration? Read our Blog post: Birthday Emails: 7 Tips and Best Practices.

SMS Content

Keep SMS messages short and actionable:

  • Mention the offer clearly (e.g., "Happy Birthday! Enjoy 15% off today with code BDAY15").

  • Include a link to your store or a specific product.

  • Send the SMS on the birthday itself for maximum impact.

Push Notifications

Use Push to deliver timely, mobile-friendly birthday greetings:

  • Keep the message concise (e.g., "🎉 Happy Birthday! Claim your gift inside").

  • Link directly to the offer or landing page.

Test the Workflow

To test your Birthday Automation, follow these steps:

  1. Create a test contact with a future birthdate at least 2 days away (e.g., if today is April 14, use April 17 or later).

  2. The workflow triggers one day before the birthdate at 00:00 in your account's timezone.

  3. If the workflow includes a Delay block, factor that into your test timing.

Example: A contact with a birthday on April 17 triggers the workflow on April 16 at 00:00. If you set a delay to send at 9:00 AM, the email sends April 16 at 9:00 AM.

FAQ

How do I find contacts without birthdates?

Go to AudienceSegmentsCreate Segment. Add the condition: Birthdate does not exist. Use this segment to send a campaign encouraging contacts to share their birthday.

Why do I have a lot of exits if no emails were sent, and I don't have exit conditions? Contacts enter the workflow if subscribed to at least one channel (Email, SMS, Push). If you only have an email message and a contact is subscribed to SMS only, they'll enter but skip the email and exit immediately. Ensure your workflow includes messages for all subscribed channels.

How can I create a segment for contacts with birthdays in a specific month?

Use the Birthdate filter with the "contains" condition. For example:

  • March birthdays: birthday contains -03-

  • December birthdays: birthday contains -12-

Can I use a custom property for birthday automation?
No. Birthday Automation only works with the default Birthday field in contact profiles. If you've collected birthday data in a custom property, export your contacts and re-import with the data mapped to the Birthday field. Custom properties can be used for personalization, but not as automation triggers.

Why didn't my contact receive the birthday email even though their birthday is today?
Birthday Automation triggers one day before the birthday at midnight by default. If today is the birthday, the trigger window already passed. Also, if your automation has a scheduled greeting time (e.g., 9:00 AM), contacts added after that time on the trigger day won't enter until next year. Check the Trigger Preview Tool to see why specific contacts were excluded.


Looking for help? Contact our award-winning Support Team right in the app or email [email protected].

Did this answer your question?