How to Send Birthday Emails with Klaviyo and Loyalty Program for WooCommerce

Loyalty Program for WooCommerce integrates deeply with Klaviyo. When a customer saves their birthday in their WooCommerce account, the plugin syncs it to their Klaviyo profile. When the loyalty program awards birthday points on their actual birthday, Klaviyo receives a Points Updated event with the source set to Birthday bonus. Both of these signals can be used to trigger a birthday email flow.

Prerequisites

  • Klaviyo integration enabled under Loyalty Program → Settings → Integrations → Klaviyo with a valid API key.
  • Birthday points action enabled under Loyalty Program → Settings → Earning Points so the birthday field appears on the customer account page.

What Gets Synced to Klaviyo

The integration sends two types of data related to birthdays:

  • Profile property loyalty_birthday — synced the moment a customer saves their birthday in My Account. This is a date value you can use for date-based flow triggers.
  • Points Updated event — fired when birthday points are awarded by the daily cron. The event includes a reason_title property set to Birthday bonus and a source property, so you can filter flows specifically to birthday point awards.

Option A: Date-Based Flow Using the Birthday Profile Property

This approach sends the birthday email on or around the customer’s birthday each year, regardless of whether points have been awarded yet. It is the most reliable option for sending a birthday email in advance.

  1. In Klaviyo, go to Flows and click Create Flow.
  2. Choose Create from Scratch.
  3. For the trigger, select Date Property.
  4. Choose the profile property loyalty_birthday.
  5. Set the timing to 0 days after (on the birthday) or a negative value to send in advance, such as 1 day before.
  6. Add an Email action and design your birthday email. Personalise it with the {{ person.first_name }} variable and include a link to the customer’s loyalty page.
  7. Set the flow to Live.

Option B: Event-Based Flow Triggered by Birthday Points

This approach triggers the email exactly when the birthday points are awarded, which confirms the customer has received their bonus.

  1. In Klaviyo, go to Flows and click Create Flow.
  2. For the trigger, select Metric and choose Points Updated.
  3. Add a Trigger Split immediately after the trigger.
  4. Set the condition to: reason_title equals Birthday bonus. This ensures the flow only continues for birthday point awards, not every points update.
  5. On the Yes branch, add your Email action with the birthday email.
  6. Set the flow to Live.

Tips for the Birthday Email

  • Use {{ person.first_name }} to personalise the greeting.
  • Mention the exact number of birthday points awarded using the {{ event.delta }} variable (available in event-based flows).
  • Include a CTA button linking to the loyalty program page where they can see their updated balance and redeem points.
  • Consider pairing with a limited-time birthday discount coupon to increase conversions.
Browse our plugins

Lightweight WooCommerce plugins built for speed. No bloat, no frameworks -- just clean code that works.

View all plugins
Stay in the loop

Get notified when we launch new plugins. No spam, just product updates.