Klaviyo Birthday Flow: Dates, Delays and Pitfalls
A birthday flow relies on a piece of data the customer gives you themselves: their date of birth. Klaviyo builds it with a date property trigger, which is also used for a customer anniversary, an appointment, a subscription date, a wedding or a reorder. Setup takes few steps, but several documented scheduling rules produce surprises at go-live.
TL;DR. A birthday flow needs a date property in a format Klaviyo accepts, collected through a form, a CSV import or an ecommerce integration. The trigger is set to the date itself or before it, with a yearly repeat. Klaviyo checks profiles every day, a full day ahead: a flow set live on a given day only enrolls people whose date falls at least one full day later. For a BFCM operation, we advise putting it live well in advance.
Want an outside look before you build? We offer a Q4 readiness audit: 30 minutes, free, no strings attached.
Before building: collect the date
The birthday flow page first asks you to have birthdays as a profile property (Klaviyo, how to build a birthday flow). It cites three ways to collect them.
- Add a date field to a sign-up form.
- Import dates manually with a CSV file.
- Let an ecommerce integration import them, if the property exists in the platform.
The date must be stored in a format Klaviyo accepts, for example YYYY-MM-DD or MM/DD/YYYY. A date in text format, or a malformed one, does not appear in the trigger's property list. Sign-up forms simplify the problem: they accept entries in DD-MM-YYYY or DD/MM/YYYY and convert them automatically to an accepted format (Klaviyo, how to create a date property-triggered flow).
One practical point: if the property does not show up in the menu, the page says the usual cause is that no profile carries the property yet, or that dates are badly formatted. It suggests setting the property on a test profile.
For a BFCM, it is also a collection opportunity: the waitlist described in our guide to the Black Friday waitlist can take a birthday field in its form. That field lengthens the form, which is a conversion trade-off we leave you to decide.
Creating the flow
In the Flows tab, Create flow opens the flow library, where prebuilt birthday flows can be found by searching in the top bar. You can also choose Build your own and then the Date property trigger. The menu then lists the account's date properties (Klaviyo, how to create a date property-triggered flow). Once the property is chosen, it can no longer be edited: to change the trigger, you have to clone the flow.
When to start
The flow can start on the date or before it. When it starts before, you choose a number of days, weeks or months, and Klaviyo creates an anchor point, the target date delay, on the actual date. This point works like a delay, except that it waits for a date instead of a duration. To start after the date, you start on the day itself and add a time delay.
Two constraints on the anchor to keep in mind: a flow can only have one target date anchor, and any conditional split placed before it is rejoined automatically, with no way to disconnect its branches.
Time, timezone and repetition
The birthday flow page recommends setting the time earlier in the day and using the recipient's local timezone, with an example at 9 a.m. For repetition there are three choices: monthly (a send scheduled on the 31st is picked up on the last day of shorter months), yearly, or no repeat for a date that does not recur, such as a wedding (Klaviyo, how to create a date property-triggered flow). A birthday is set to Yearly (Klaviyo, how to build a birthday flow).
Yearly repetition compares the day and month, not the year: a profile whose date is 01/01/1990 enters the flow every January 1. If a date contains a time, such as 2025-04-30 17:08:06, the time is ignored for triggering (Klaviyo, understanding how date-based flows schedule recipients). Triggering is calculated from the profile's point of view, in its timezone, or in the account's if the profile has none.
The messages
The page insists on having a message on the actual birthday. It shows three variants.
- A single message, on the day itself.
- A start before the date: useful for an in-store offer or a discount, which leaves time to plan its use. The page's example sends an email a week before, then an SMS or WhatsApp message, or an email, on the day itself.
- A half-birthday: you start six months before the date and add a message.
To go further, the page suggests adding personalization through conditional splits on profile properties, to show the products or styles the customer likes. Flow filters can also restrict entry to certain people.
Delays around the anchor
In a flow that starts before the date, a delay placed before the anchor takes a particular form: Wait until a number of days, weeks or months before the date, which lets you count down to the birthday. A delay placed after the anchor is an ordinary delay, which waits a duration after the previous step (Klaviyo, time delays in date property flows).
Going live: the one-day trap
This is the point that causes oversights. Klaviyo checks all the account's profiles every day, and whenever a date is added, changed or deleted, to enroll the people who should enter the flow. The check runs a full day ahead so that nobody is missed whatever their timezone. And the flow only schedules messages whose status is Live or Manual (Klaviyo, how to create a date property-triggered flow).
Documented consequence, with the example of a birthday flow set to Live on March 1 (Klaviyo, understanding how date-based flows schedule recipients).
- A person born on March 1 does not enter the flow.
- A person born on March 2 may not enter it, depending on what time it went live.
- A person born on March 3 or later enters the flow.
This example holds for profiles whose date already exists and has not changed. If a date is added or modified on the very day the flow goes live, the profile is rechecked and enters the flow, but it may miss the first email if the scheduled send has already passed.
A calendar tip follows from this rule, and it comes from us rather than from the documentation: for the flow to cover birthdays in late November, put it live several days before the BFCM opens, not the day before. Also think about how it fits with promotions: a birthday code that stacks with the Black Friday offer is a margin decision to make before the opening. Our guide to unique promo codes details the limits of Klaviyo codes.
When a date arrives late or changes
The scheduling page settles several cases (Klaviyo, understanding how date-based flows schedule recipients).
- A date entered on the day of a send. The recipient gets the message only if they entered their date before the send time. In the page's example, a person who enters their date at 10 a.m. receives the email scheduled for noon, while another who enters it at 1 p.m. does not, but continues in the flow if later steps remain.
- A date inside the flow's timeline. Klaviyo inserts the profile at the right point in the flow. For a flow that starts nine months before a wedding, a date received seven months ahead places the profile at the "7 months before" point and schedules the matching content right away.
- A date outside the timeline. The profile is not added for now. For a one-day birthday flow, a person who gives in February a birth date that falls in June only enters the flow on that birthday, in June.
- A date changed mid-flow. Before each action, Klaviyo checks that the trigger date is still the same. If the new date falls outside the flow's timeline, the profile receives no more messages, and Klaviyo then reschedules it according to the new date. The page specifies that a profile may therefore receive the same messages twice.
Checklist before going live
- The date property is collected in an accepted format, and at least one profile carries it.
- The trigger is set to the date or before, with a yearly repeat.
- The send time is set early in the day, in the recipient's local timezone.
- A message is planned for the day of the birthday.
- Messages are in Live or Manual status, and go-live happens several days before the operation.
- How it fits with BFCM codes and promotions has been decided.
- A test profile with a nearby date was used to check entry into the flow.
FAQ
Which date formats does Klaviyo accept?
YYYY-MM-DD and MM/DD/YYYY are cited as examples. A sign-up form automatically converts entries in DD-MM-YYYY and DD/MM/YYYY.
Why does my date property not appear in the trigger?
Either no profile carries the property yet, or the dates are badly formatted or in text format. The page suggests setting the property on a test profile.
Can you change the property of an already configured flow?
No, you have to clone the flow to use another date property.
Does a customer born on the day the flow goes live get the email?
Not in the documented example: the check runs a day ahead. A person born on the go-live day does not enter the flow, unless their date was just added or changed that day.
What happens if a customer changes their birth date?
Klaviyo checks the date before each action and reschedules the profile according to the new date. They may receive messages they already got.
Want an outside look at your flows? We run Q4 readiness audits, or you can talk to the Deliver team directly.
Provenance and verification
Each technical claim was compared on 2026-10-01 with the raw text of the Klaviyo pages listed in sources (collecting the date, accepted formats, automatic conversion by forms, a property that cannot be edited after setup, the single target date anchor, monthly, yearly or no repetition, the daily check a full day ahead, flows in Live or Manual status only, the example of going live on March 1, the profile's timezone, a date entered on the same day, a date changed mid-flow, delays before and after the anchor). Deliver's own advice on the BFCM calendar is flagged as such, with no measured result.
- Sources checked on
- Reviewed by
- Claude (Claude Code session, October 1, 2026) English localization of the French source, with every vendor-documentation claim checked against the Klaviyo help pages listed in sources, reopened the same day.
- AI assistance
- Yes
- Sources
Want to apply this to your stack?
Spend 30 minutes with Charlotte to review your CRM setup, size the opportunity and leave with a practical action plan.
Book a 30-minute call →