How to Automatically Celebrate Customer Name Days on Shopify

Adam Charvat
Adam Charvat
Automatic name-day greeting for a customer on Shopify

If you sell to Czechia, Slovakia or Poland, there is a marketing occasion your competitors barely use: the name day. Birthday campaigns have a fundamental problem in these markets — you need a birth date, and only a fraction of customers will hand it over. A name day is the opposite case: all you need is a first name, and you have that from the address of every single customer. A name-day greeting reaches almost your whole customer base, not just the sliver that filled in a birthday.

You will not do this by hand, of course. We built a free app for it — Vocato — which adds each customer's name-day date and a correctly declined greeting to metafields. The rest is handled by a customer segment and a single Shopify Flow. The whole setup takes ten minutes and works with the Czech, Slovak and Polish calendars.

How the automation works: Vocato writes the metafields, the "Name day today" segment catches customers on their day and Flow sends an email with a correctly declined greeting

Step 1: Install Vocato

Install Vocato from the App Store — it is free. After installation the app automatically fills in these metafields for every customer:

  • vocato.nameday_cz — the name-day date (for segments),
  • vocato.nameday_text_cz — the name day in readable form, e.g. "June 29",
  • vocato.vocative_cz — the greeting in the vocative case, so "Petře" instead of "Petr".

It works for new and existing customers alike, and for the Slovak and Polish markets you just swap _cz for _sk or _pl in the keys.

Step 2: Create a "Name day today" segment

In your admin, open Customers → Segments and create a new segment with this query:

1
anniversary('metafields.vocato.nameday_cz') = today
Segment query — name day today

The anniversary() function compares only the day and month, so the segment works again every year. And it is dynamic: each customer enters it on the morning of their name day and leaves it the next day. Vocato has already enabled the name-day metafield for use in segments — nothing else to configure.

One recommendation: a congratulation is a marketing email, so add consent to the query:

1
email_subscription_status = 'SUBSCRIBED' AND anniversary('metafields.vocato.nameday_cz') = today
The same, limited to customers subscribed to marketing

Step 3: Set up Shopify Flow

In Shopify Flow, create a new workflow:

  1. Trigger: "Customer joined segment" — and pick the "Name day today" segment.
  2. Action: "Send email" with {{ customer.email }} as the recipient.

The workflow runs on the name day for every customer who enters the segment. In the email body, use the greeting from the metafield, falling back to the plain first name when no declined form exists:

1
Milý {{ customer.metafields.vocato.vocative_cz | default: customer.first_name }},
Correctly declined greeting for the Flow email

What to put in the email

A short congratulation with no sales pressure works on its own — it is an email your competitors do not send, and it arrives on a day when everyone else is congratulating the customer too. If you want to add a token, prefer a gift or store credit over a blanket discount: a name-day discount teaches customers to wait for discounts. And if you run a loyalty program on Charm, it can award name-day points automatically — no segment or Flow needed, Vocato is all it takes as the data source.

Alternative: Klaviyo or Omnisend

If you send email through Klaviyo or Omnisend, you do not need Flow. Their Shopify sync pulls in the vocato.nameday and vocato.vocative metafields as profile properties — just create a flow triggered on the name-day date property, repeating yearly (only day and month are compared, the placeholder year is ignored).

Bonus: declined greetings in every email

Once you have Vocato, the declined greeting is worth using in notification emails too — order confirmation, shipping updates and so on. Guests without a customer account shop there as well, which is why Vocato keeps a shop-level name dictionary. Here is the snippet with the complete fallback chain (dictionary by checkout name → customer metafield → plain first name):

1
2
3
{%- assign fn = billing_address.first_name | downcase -%}
{%- assign key = fn | slice: 0 | prepend: "vocatives_cz_" -%}
Milý {{ shop.metafields.vocato[key][fn] | default: customer.metafields.vocato.vocative_cz | default: billing_address.first_name }},
Greeting for notification emails — works for guests without an account too

Snippets tailored to your exact market — including email subject lines — are generated by the app in its Documentation section based on your shop's country.

If you would like a hand with the setup, get in touch.

Frequently Asked Questions

Yes, Vocato is a free app. Install it from the Shopify App Store and the name-day and greeting metafields fill in automatically for both new and existing customers.

Vocato works with the Czech, Slovak and Polish name-day calendars — the metafields carry _cz, _sk and _pl suffixes, so you use the variant for your market in the segment and in the email. Slovak deliberately keeps first names in the nominative case, since modern Slovak does not use the vocative for names.

When a name has several name days, Vocato stores the most common date (and all of them in a supplementary JSON metafield). When a name is not in the calendar, the metafield is simply not written — the customer never enters the segment and never receives an email. The automation never congratulates by mistake.

No. Vocato reads the first name from the customer's address and fills in the name-day date and the greeting by itself — unlike birthdays, where you need a birth date from the customer and most never provide one.

Interested in collaborating on a project?