1. Wiki
  2. Use cases

Birthday treat: dessert on the house

Wish every customer a happy birthday on the day, with a dessert on the house, by WhatsApp or email. Segment, template and schedule ready to go.

Quick answer

Store the date of birth in a Date field, filter with Equals today and Birthdate mode, and send every day at 09:00 in a Recurring campaign. With Allow Lead Re-entry and a 300-day cooldown, each customer gets the birthday message once a year.

EffortNo-codeChannelWhatsApp + EmailPlanLite (paid)

Every day at 9 a.m., each customer who has a birthday gets a happy-birthday message from Padaria Aurora with a dessert on the house, and nobody on your team has to remember.

What you need

  • WhatsApp connected to BIP (paid plans) or, for email only, any plan
  • A spreadsheet of your customers with name, phone or email, and date of birth
  • Each customer's city, if you only want to reach people who live nearby
  • A WhatsApp template approved in the Marketing category (the text is ready below)
  • A house dessert and a fixed coupon, such as BDAYWHATS

What you'll get

  • Birthday wishes on the right day, every day, at the time you choose, with no birthday list taped to the wall.
  • One message a year for each customer: never forgotten, never repeated.
  • A reason for customers to come back during their birthday week, with dessert on the house.
  • Only people who live nearby, if you want: customers in cities within 30 km of the bakery.
  • A small draw on your balance each day: each run counts only that day's birthdays.

How it works

  1. 1Store each customer's date of birth in a Date field
  2. 2Every day at 9 a.m., BIP finds whose birthday is today
  3. 3Each of them gets the birthday message with dessert, once a year

The recipe has three parts:

  • The Date of birth field, of type Date. This is where Birthdate mode works: BIP compares only the day and month and ignores the year.
  • The Today's birthdays segment, with the date Equals today. BIP recalculates the segment on every campaign run, so each day it brings in the right people.
  • The Recurring campaign, Daily at 09:00, with Allow Lead Re-entry on. Without re-entry, each customer gets the campaign once in a lifetime, and the following year there's no birthday message.

Each campaign uses one channel. Here, the main path is WhatsApp; the email is ready in Ready to copy and in Variations.

On BIP Lite, each run reserves the segment's count at that moment from the month's balance. Since the segment holds only that day's birthdays, each run uses very little. If the balance doesn't cover everyone, that day's run doesn't go out: nobody receives part of the campaign.

Step by step

1. Create the date and city fields

  1. In Settings → General, go to Fields and click Add Field.
  2. In Field Type, choose Date. In Field Name, type Date of birth and click Save.
  3. Click Add Field again, choose Location, type City and click Save.

The City field is what lets you filter by region. First / Last Location stays empty for anyone who comes in through a spreadsheet or the API; a Location field stores the city from your spreadsheet.

dash.bip.marketing/…/settings
Custom fields Date of birth, of type Date, and City, of type Location, in Settings

Screenshot coming soon

Custom fields Date of birth, of type Date, and City, of type Location, in Settings

2. Bring in your customers with their date of birth

  1. In Leads, click Import Leads and upload the spreadsheet. The template is in Ready to copy.
  2. In Map Columns, link the date column to Date of birth and the city column to City, under Custom Fields.
  3. In Validate Data, leave Default Country Code set to Brazil (+55) and, in Tags, add the batch tag, such as aurora-customers.
  4. Click Next Step, then Import N Record(s), and wait for Import Complete.

Write the date as dd/mm/yyyy (day first) or yyyy-mm-dd, and the city with the state, like Curitiba, PR. If your list only has the day and month, fill in any year, such as 2000: Birthdate mode ignores the year. Anyone already in BIP with the same email or phone is updated, not duplicated.

dash.bip.marketing/…/leads/import
Map Columns step with the date and city columns linked to the custom fields

Screenshot coming soon

Map Columns step with the date and city columns linked to the custom fields

3. Build the segment of today's birthdays

  1. In Segments, click New Segment. In Settings, set the Name to Today's birthdays · WhatsApp and click Save.
  2. Click 0 filter(s) selected to open the Filter Editor. Click Add Criteria → Field and choose Date of birth.
  3. In Operator, choose Equals.
  4. Click Value. In Date Mode, switch on Relative. Leave Relative Time at 0 Days and switch on Birthdate. GMT Offset already comes with the account's time zone: for Brasília, -03:00. Preview shows only the day and month, and Value now shows Today.
  5. Click Add Criteria → Field → City (Geo), with In radius. In Select Region, search for Curitiba, set Radius to 30 and Unit to km, and click Close.
  6. Click Add Criteria → Phone, with Starts with and the value +55. This way, WhatsApp goes only to people with a Brazilian number, and you don't spend balance on contacts without a phone.
  7. In Match, choose All (AND). Click Close, check N matches of T and click Save.

On a day with no birthdays, the count is 0, and the rule is still correct. The radius selects the cities whose center falls inside the circle: location in BIP is always by city.

dash.bip.marketing/…/segments/…
Filter Editor with Date of birth Equals Today and Birthdate mode on, City in radius and Phone starting with +55

Screenshot coming soon

Filter Editor with Date of birth Equals Today and Birthdate mode on, City in radius and Phone starting with +55

4. Create the WhatsApp template

  1. In WhatsApp, open the Templates tab and click Create template.
  2. In Identity, fill in Name (lowercase) aurora_aniversario_sobremesa_en, Category Marketing and Language English (US).
  3. In Header, choose Text and paste the header. In Body, paste the text and fill in the {{1}} sample with Marina. In Footer, paste the footer.
  4. In Buttons, add a Quick reply Book a table and a URL See the menu, with your menu's address.
  5. Click Save Template and wait for the Approved status.

The full text is in Ready to copy. The coupon is fixed text in the body: the same for everyone, with no extra field.

dash.bip.marketing/…/whatsapp/templates/create
New WhatsApp template with header, body, footer, buttons and the preview of the birthday message

Screenshot coming soon

New WhatsApp template with header, body, footer, buttons and the preview of the birthday message

5. Create the recurring campaign

  1. In Campaigns, click New Campaign.
  2. In Campaign Details, fill in the Campaign Name, choose the 🎂 emoji and write the Description.
  3. In Schedule Type, choose Recurring. The tab opens on Daily, at 09:00.
  4. Check the Time and choose the Timezone: for Brasília, BRT (Sao Paulo) (-03:00). Below, BIP spells out the schedule: Every day at 09:00.
dash.bip.marketing/…/campaigns/…
Recurring Schedule Type with Daily Frequency, Time 09:00 and BRT Timezone

Screenshot coming soon

Recurring Schedule Type with Daily Frequency, Time 09:00 and BRT Timezone

6. Turn on re-entry: it's what guarantees next year

This is the step people forget most. With Allow Lead Re-entry off, the default, each contact receives the campaign only once, forever. Marina gets her birthday message this year and, on her next birthday, BIP holds the message back.

  1. In Lead Re-entry Window, switch on Allow Lead Re-entry.
  2. In Cooldown Period (Days), type 300.

With 300 days, nobody receives it twice in the same year, and next year's message, 365 days later, goes through with room to spare. Use a value well below 365: with the exact number, a difference of a few minutes in the send time can hold back next year's birthday message.

dash.bip.marketing/…/campaigns/…
Lead Re-entry Window with Allow Lead Re-entry on and a 300-day Cooldown Period

Screenshot coming soon

Lead Re-entry Window with Allow Lead Re-entry on and a 300-day Cooldown Period

7. Choose the channel, the template and the segment

  1. In Channel, click WhatsApp.
  2. In Template, choose aurora_aniversario_sobremesa_en. In Phone Number, leave Use account default phone number or choose another number.
  3. In Variable mappings, click Add variable mapping. In Variable, choose Body · {{1}}; in Lead field, choose first name.
  4. In Segments, switch on Today's birthdays · WhatsApp.
dash.bip.marketing/…/campaigns/…
WhatsApp channel with the birthday template, the variable mapping and the birthday segment switched on

Screenshot coming soon

WhatsApp channel with the birthday template, the variable mapping and the birthday segment switched on

8. Test and activate

  1. Click Save → Save Draft.
  2. Click Test Campaign, type the phone or email of one of your contacts in BIP, ideally yourself, and click Send Test. The message arrives on that contact's WhatsApp, with their first name, and doesn't use any sends.
  3. Click Save → Save and Activate and confirm with Activate Recurring Campaign.

The campaign becomes Active and runs every day at 09:00. The test doesn't have to happen on your birthday: it goes to the contact you choose.

dash.bip.marketing/…/campaigns/…
Ready to Activate Recurring Campaign? confirmation dialog

Screenshot coming soon

Ready to Activate Recurring Campaign? confirmation dialog

Ready to copy

Spreadsheet template

Copy it, paste it into a text editor and save it as aurora-customers.csv. First, create the Date of birth (type Date) and City (type Location) fields.

aurora-customers.csv
name,email,phone,tags,date_of_birth,city
Marina Alves,marina.alves@exemplo.com,41 99876-5432,customer,12/05/1990,"Curitiba, PR"
Tiago Pereira,tiago.pereira@exemplo.com,41 98765-4321,customer,03/11/1985,"São José dos Pinhais, PR"
Sofia Costa,,41 99123-4567,customer,27/08/1994,"Colombo, PR"
Rafael Lima,rafael.lima@exemplo.com,,customer,15/02/1988,"Curitiba, PR"
ColumnLead field
nameName
emailEmail
phonePhone
tagsTags
date_of_birthDate of birth (custom field, Date type)
cityCity (custom field, Location type)

Segment

Name: Today's birthdays · WhatsApp. Combine the three criteria with All (AND).

CriterionOperatorValue
Field → Date of birthEqualsRelative: 0 Days, Birthdate on
Field → City (Geo)In radiusSearch Curitiba, Radius 30, Unit km
PhoneStarts with+55

If your whole customer base is in the region, remove the city criterion. Contacts without City filled in are left out of the radius criterion.

Campaign

OptionValue
Schedule TypeRecurring
FrequencyDaily
Time09:00
TimezoneBRT (Sao Paulo) (-03:00)
Allow Lead Re-entryOn
Cooldown Period (Days)300
ChannelWhatsApp
Templateaurora_aniversario_sobremesa_en
SegmentsToday's birthdays · WhatsApp
Campaign name and description
Daily birthday · WhatsApp
Dessert on the house for everyone whose birthday is today. Recurring, daily at 09:00; each customer gets it once a year.

WhatsApp

Buttons: Book a table is a Quick reply; See the menu is a fixed URL, like https://www.exemplo.com.br/cardapio. A tap on Book a table within 24 hours of the send counts as a reply in the campaign's Reply Rate, and the booking continues in the WhatsApp Business app.

Variable in the campaignLead fieldSample value
Body · {{1}}first nameMarina

Email

In Emails Templates, click New Template. In Settings, set the Name to Birthday · Padaria Aurora, choose English as the Language and paste the Subject and the Preview. Build the blocks in this order:

OrderBlockSuggested setting
1Add ImagePhoto of a house dessert
2Add HeadingBirthday wishes with the first name
3Add TextTwo short paragraphs, with the coupon
4Add ButtonSee the menu, with Width at 50
5Add SignatureSimple, with the bakery's name and website

Wherever you see [@first name], type @first, choose lead.firstName() and use friend as the Fallback Value.

Subject
Happy birthday, [@first name]! Dessert is on us 🎂
Preview
Stop by Padaria Aurora in the next 7 days and pick a sweet treat on us.
Heading
Happy birthday, [@first name]! 🎉
Text
Today is all about you, and Padaria Aurora wants to celebrate with you. Come have a coffee with us in the next 7 days: dessert is on us.

Show this email at the register or mention the coupon BDAYEMAIL. One dessert per person, in store.

Button — Name
See the menu

How to measure

  • Before sending: open the segment. The N matches of T count shows how many customers have a birthday today.
  • To check the rule: in the date's Value, change Relative Time to the number of days left until the birthday of a customer you know, close the editor and see if they show up. Then set it back to 0 and save.
  • After the runs: in Campaign Stats, Processed (N runs) adds up every day. Track Sent, Delivered, Read Rate and Reply Rate.
  • Re-entry: in Recipient Interactions, filter by Rejected. The reason Lead has already received this campaign means re-entry is off.
  • At the register: count the BDAYWHATS and BDAYEMAIL coupons each week. One coupon per channel shows which one brings more people into the bakery.

Variations

Email or WhatsApp

  • Email only: create the email template from Ready to copy and, in step 7, choose Email in Channel and pick the Email Template. In the segment, remove the Phone criterion. Email works on any plan, including the free one.
  • Both channels, one message per person: in the campaign list, click Duplicate. In the copy, switch the Channel to Email, choose the Email Template and, in Segments, use the second segment. The copy keeps the schedule and the re-entry settings. Each customer gets it through one channel only:
SegmentCriteria
Today's birthdays · WhatsAppDate of birth (Birthdate) + City (Geo) + Phone Starts with +55
Today's birthdays · emailDate of birth (Birthdate) + City (Geo) + Tags Does not include any whatsapp

To split the channels, tag everyone who has a phone with whatsapp at import: in the sample spreadsheet, write "customer,whatsapp" in the tags column of every row with a phone. Rafael has no phone and no tag: he gets his birthday wishes by email.

First-purchase or customer anniversary

Birthdate mode works on any Date field. Create a field such as First purchase or Customer since, fill it in at import and use the same rule: Equals, Relative 0 Days, Birthdate on. Creation Date doesn't have Birthdate mode and, for anyone who came in through a spreadsheet, it records the import date; that's why the real date belongs in a field.

With Easy Auth Wi-Fi

If you use Easy Auth Wi-Fi, the date of birth can come straight from EasySpot, with no spreadsheet. See Today's birthdays on the Easy Auth hotspot.

Frequently asked questions

Why didn't the customer get a message on their next birthday?

The Lead Re-entry Window was off. When it's off, each contact receives the campaign only once, forever. Pause the campaign, switch on Allow Lead Re-entry with a Cooldown Period (Days) of 300 and activate it again.

Do contacts without a date of birth enter the segment?

No. The criterion only finds contacts with Date of birth filled in. Complete the spreadsheet and import it again: anyone already in BIP is updated by email or phone, not duplicated.

Can I send only to people who live in the restaurant's neighborhood?

Not by location: it's always by city, and the radius selects cities. Store the neighborhood in a String field (for example, Neighborhood) or in a tag at import, and filter by Field or Tags.

How many sends does the campaign use?

On each run, the campaign reserves the segment's count at that moment from the month's balance: that day's birthdays. If the balance doesn't cover everyone, that day's run doesn't go out and nobody receives it. Track your usage in Settings → Billing.

See also