FLOWS

Customer anniversary email: is it worth adding after your birthday flow?

A customer anniversary email is worth adding after your birthday flow, but only once your core flows are built, and only for customers who have bought more than once. Lead with a thank-you, not a discount, and let your winback flow handle the one-time buyers who went quiet. This is for Shopify founders on Klaviyo who already have a birthday email flow running and are wondering what to automate next.

Jack White
Jack White Founder, Bardown Digital
Updated · 10 min read
KEY TAKEAWAYS
  • An anniversary email marks the date of a customer's first order. It's a nice extra, not a core flow.
  • Build it after welcome, abandonment, post-purchase, replenishment, winback and birthday. Those flows carry more of your revenue.
  • Send it to repeat and VIP customers. A one-time buyer from a year ago belongs in winback.
  • In Klaviyo it's a date property-triggered flow, so you need a first order date stored on each profile first.
  • Open with thanks. If you add a reward, make it store credit or a gift, and keep it in line with your birthday and VIP offers.

What is a customer anniversary email?

It's an email sent on (or around) the date someone first bought from you. "One year ago today you placed your first order. Thanks for sticking with us."

Klaviyo's own blog describes it the same way: "Send an email using the date your customer made their first purchase." It suggests three jobs for it: thanking customers, winning lapsed ones back, and collecting reviews and UGC.

You'll also see "anniversary" used for signup dates or your brand's birthday. Those are different emails. This post is about the customer's first order date, because that's the one tied to how they buy.

Should you add an anniversary email after your birthday flow?

Yes, if three things are true:

  1. Your core flows are live and working. Welcome, abandoned checkout and cart, browse, post-purchase, replenishment and winback come first. They fire on what people do, which is why they earn more. Across 4 brands, replenishment flows earn $2.23 per person, about 28x the best campaign, and only 2 of the 4 had one. A once-a-year email is not going to beat that.
  2. Your birthday flow is done. It's the closer cousin. Same trigger type, same "this one's about you" tone. Build it first and you'll already know how date-triggered flows work in your account.
  3. You have enough repeat customers. If most of your buyers order once and disappear, an anniversary email lands on a lot of people who stopped caring a year ago. Fix your repeat purchase email strategy first.

If those are true, it's a small build with a clear purpose: tell your best customers you noticed them.

Who should get a customer anniversary email?

This is where most of the value is. I'd split it like this:

  • Repeat customers (2+ orders) who bought in the last year. They get the anniversary email. A thank-you, a nod to how long they've been around, and something useful.
  • VIPs. Same email, plus whatever your VIP perks are. If you don't have a VIP segment yet, my VIP email segment guide covers how I'd set one up.
  • One-time buyers who never came back. I'd leave them out. They're a winback problem, not an anniversary moment. A year later, a cheerful "happy anniversary!" to someone who bought once can read a bit odd. Later winback emails still earn: across 4 brands, winback email #3 earns about 2x email #1 ($0.23 vs $0.11). Give that flow room to work instead. See how long a winback flow should be.

Klaviyo's blog takes a slightly different route: it suggests an anniversary email without a discount for people who bought in the past year, and a separate discounted one for people who haven't ordered since their first purchase. That's a fair option if you don't have a winback flow. If you do, I'd keep the two jobs apart so the same lapsed customer isn't getting offers from two flows.

Non-customers don't come into it. No first order, no anniversary. That's one place it's simpler than birthday, where I split customer, non-customer and VIP, and non-customers get the welcome offer and never a bigger one.

How do you set up an anniversary flow in Klaviyo?

It's a date property-triggered flow, the same type as a birthday flow. Two steps: get the date onto profiles, then build the flow.

Step 1: Store a first order date on each profile

Klaviyo's help center says date-based flows are "triggered by a date that is stored as a property within a profile." Your order history alone isn't enough. You need a profile property, something like First Purchase Date.

For new customers going forward. Klaviyo's update profile property action can set a Date property to "use current date when step is reached." Klaviyo's own use-case guide gives this exact example: in a thank-you series for new customers, add the action near the start, name the property First Purchase Date, choose Date, and check that box.

The catch: Klaviyo says to "restrict the flow to first-time purchasers," because "a returning customer who enters the flow could have the property set to their latest purchase date." So put the action in the first-order branch of your post-purchase flow, not in a flow every order goes through. If you're shaky on where filters go, read Klaviyo flow filters vs trigger filters.

For customers you already have. The action only stamps people who reach it from now on. For your existing customers, pull each one's first order date from your order history and import it as a CSV column. Klaviyo says extra columns in an import become profile properties, and existing values get overwritten. Two things to watch:

  • Format. Klaviyo accepts YYYY-MM-DD, MM/DD/YYYY or MM/DD/YY for dates without a time.
  • Data type. Klaviyo warns that a date-only value imported as the Date type is set to midnight UTC, which "can shift the calendar date used by date-property triggered flows." Its advice for date-only values is to keep a supported date-only format and select Text. Check a few profiles after the import to make sure the dates look right.

Step 2: Build the flow

From the Flows tab, create a flow. Klaviyo says you can start from a prebuilt anniversary flow in the library or build your own with the Date property trigger. Then:

  • Pick the property. Klaviyo notes you can't edit the date property after you set the trigger. You'd have to clone the flow. Choose carefully.
  • Timing. Start on the date, or a set number of days before it.
  • Repeat yearly. Klaviyo's yearly option re-enters people on the same month and day each year. "Never" only fires once, on the full date including the year.
  • Filters. Add a flow filter so only repeat customers get it (placed order at least twice), plus a recent-purchase window if you want it.
  • Go live. Klaviyo checks profiles daily, and that only starts once at least one message is set to manual or live.

Also note: the property only shows up in the trigger dropdown once at least one profile has it. Do the import first.

What should a customer anniversary email say?

Keep it short. One email is enough. Here's what I'd put in it:

  1. Thanks first. "A year ago you placed your first order. Thanks for coming back since." That's the whole point of the email. Same idea as the restart email I'd send after a break: gratitude, not a pitch.
  2. Something about them. Their first product, how many orders, or how long they've been around. Even a general line works if your data can't pull specifics.
  3. Their loyalty balance, if you have a program. This is a natural spot. I like reminding customers of the actual value of their points in dollars, not only inside the reorder email. More in loyalty and referral emails.
  4. A referral ask. I time referral asks by order count: wait longer for 1-2 order customers, ask sooner for 3rd and 4th+ order customers. Someone getting an anniversary email is in that second group.
  5. An optional gift. Free gift with purchase, early access or store credit. "Our gift to you" framing works here like it does for birthdays.

Should the anniversary email include a discount?

It can, but I wouldn't make it the headline. The thank-you does the work. If you add a reward, two rules:

  • Store credit over a gift card. That's how I like cash back to work in loyalty programs too, so the brand isn't paying out a gift card.
  • Keep the offer tiers consistent. Same logic as birthday: a reward for your best customers shouldn't be beaten by a promo anyone can get. A made-up example: if VIPs get $10 in store credit on their birthday, I wouldn't give a 2-order customer $20 on their anniversary.

Will a once-a-year reward train people to wait for codes? I don't think a birthday discount does, and an anniversary one is the same kind of thing. It's tied to a date they can't move.

How should you measure it?

Judge it on revenue per recipient, and give it time. It only fires once a year per person, so a small store may need months to get a read. Klaviyo's blog quotes one brand saying its anniversary emails "typically see open rates of 43% and click rates of 2.8%." That's one brand, with no sample size given, so treat it as a public example, not a benchmark. And I'd look at clicks over opens anyway. Across 4 consumable brands and 2,897 campaigns, click rate tracked revenue far more closely than open rate (0.65 vs 0.32 correlation). More in revenue per recipient.

FAQ

What's the difference between a birthday email and a customer anniversary email?

A birthday email uses a date the customer gives you. An anniversary email uses the date of their first order, which you record yourself. Both are date property-triggered flows in Klaviyo.

Does Klaviyo have an anniversary flow template?

Yes. Klaviyo's help center says you can pick a prebuilt anniversary flow from the flow library, or build your own with the Date property trigger.

Why isn't my first purchase date showing in the flow trigger?

Klaviyo says the property only appears once at least one profile has it, and dates in text-only or wrong formats won't show. Import or stamp the date on a test profile and check the format.

Should one-time buyers get an anniversary email?

I'd leave them to your winback flow. The anniversary email works best as a thank-you to repeat and VIP customers.

How many emails should an anniversary flow have?

One is enough. It's a once-a-year touch, not a sequence.

Jack White, founder of Bardown Digital
WRITTEN BY Jack White

Founder of Bardown Digital, a Chicago-based Klaviyo email and retention agency for Shopify brands. He's worked with brands doing $500K to $100M a year, with $100M+ in email-attributed revenue across them.

SOURCES

Keep reading

All posts →
FLOWS · 10 MIN READ

Failed payment emails for subscription brands: who sends what

How failed payment emails work for Shopify subscription brands: what Recharge, Skio and Loop send, what Klaviyo should add, and how to prevent failed charges.

Read the post →
FLOWS · 10 MIN READ

Preorder email sequence: selling stock you don't have yet

How to write a preorder email sequence: the launch, the confirmation, the wait, delay notices, and the ship email, plus the FTC shipping rules to know.

Read the post →
FLOWS · 9 MIN READ

Why Klaviyo can't see your anonymous shoppers (and how to identify more)

Klaviyo only tracks shoppers it can identify. Here's how identification works, why known visitors go anonymous again, and the settings that help.

Read the post →

Not sure what to build next?

If you've got birthday running and you're wondering whether anniversary, VIP or something else should come next, that's a good use of a strategy session. It's free, it's one hour, and we do it live inside your Klaviyo account. You walk away with a fix list whether we ever work together or not. Not ready to book? Grab one of my free resources instead.

Book a strategy session
Or email me at jackwhite@bardowndigital.com