# Today's birthdays on the Easy Auth hotspot

> Turn on Birthdate in EasySpot before connecting Easy Auth to BIP, and it becomes a Date field. Filter with Equals today and Birthdate mode, send every day at 09:00 in a Recurring campaign and turn on re-entry with 300 days so it repeats every year.

Fonte: https://wiki.bip.marketing/en-us/wifi-birthday · Atualizado: 2026-10-08

<UseCaseMeta effort="nocode" channel="whatsapp,email" plan="lite" />

Anyone who entered their date of birth on Padaria Aurora's Wi-Fi gets birthday wishes on the right day, with a dessert on the house, with no spreadsheet and without anyone on the team having to remember.

<Checklist items="An Easy Auth license with EasySpot asking for the Birthdate|Easy Auth connected to BIP with the date of birth checked in the field list|WhatsApp connected to BIP (paid plans) or, for email only, any plan|A WhatsApp template approved in the Marketing category (the text is ready below)" />

## What you'll get

- Each visitor's date of birth in BIP, straight from EasySpot, with no copying and pasting.
- Automatic birthday wishes every day at 9 a.m. for everyone with a birthday, including visitors who show up tomorrow.
- One message a year for each person: never forgotten, never repeated.
- A reason for visitors to come back during their birthday week, with dessert on the house.
- A small draw on your balance each day: each run counts only that day's birthdays.

## How it works

<Steps items="The visitor enters their date of birth in EasySpot|BIP stores the date in a Date field on the contact|Every day at 9 a.m., the campaign wishes that day's birthdays a happy birthday" />

When you connect Easy Auth to BIP, each EasySpot field you check becomes a custom field. **Birthdate** becomes a field of type **Date**, and on every connection the Easy Auth webhook carries the date to the contact.

From then on, the recipe has two parts:

- **The _Today's birthdays_ segment**, with the date **Equals** today and **Birthdate** mode, which compares only the day and month. BIP recalculates the segment on every run, so each day it brings in the right people, including anyone who connected for the first time yesterday.
- **The Recurring campaign**, **Daily** at 09:00, with **Allow Lead Re-entry** on. Without re-entry, each visitor 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](#ready-to-copy).

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. Ask for the date of birth in EasySpot

1. In the Easy Auth Dashboard, open **EasySpot** and the **Fields** section.
2. Click **Add Field** and choose **Birthdate**.
3. Fill in the **Name**, the label the visitor sees, in each language. For example, _Date of birth_.
4. Click **Save**.

The visitor enters the date in dd/mm/yyyy format, and EasySpot checks that it's valid.

<Shot src="/img/wifi-aniversariante/1-en-us.png" alt="EasySpot Fields section with the Birthdate field added" url="app.easyauth.net" />

### 2. Connect Easy Auth to BIP with the date checked

1. At the bottom of the Easy Auth Dashboard sidebar, click **bip.marketing** and follow the guide [Connect Easy Auth to BIP](/en-us/wifi-connect-easy-auth).
2. On the authorization screen, check the **Timezone**: for Brasília, **America/Sao_Paulo (-03:00)**. It's what defines "today" in the segment.
3. In the field list, leave the date of birth checked. Next to it you'll see `DATE`: BIP will create a field of type **Date**. If you like, rename it to _Date of birth_.
4. Click **Authorize & Create Account**.

The connection creates in BIP the fields EasySpot has at that moment. That's why you turn on the date of birth in EasySpot before connecting. Already connected without it? See the [Frequently asked questions](#frequently-asked-questions).

<Shot src="/img/wifi-aniversariante/2-en-us.png" alt="Easy Auth authorization screen with the date of birth field checked and the DATE type next to it" url="dash.bip.marketing/easyauth-authorize" />

### 3. Check the date on your contacts

1. In **Settings** → **General**, go to **Fields**: the _Date of birth_ field shows up with type **Date**.
2. In **Leads**, sort by **Updated (Newest)** and click a visitor who filled in the date, such as _Marina Alves_.
3. In **Fields**, check the _Date of birth_.

<Shot src="/img/wifi-aniversariante/3-en-us.png" alt="Profile of a Wi-Fi visitor with the Date of birth under Fields" url="dash.bip.marketing/easyauth-…/leads" />

### 4. Build the segment of today's birthdays

1. In **Segments**, click **New Segment**. In **Settings**, set the **Name** to _Today's birthdays · Wi-Fi_ 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`. **Value** now shows **Today**.
5. 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. If your EasySpot uses email as the key and the phone is optional, add the criterion **Phone** → **Starts with** → `+55`, with **All (AND)**: this way, WhatsApp goes only to people with a Brazilian number.

<Shot src="/img/wifi-aniversariante/4-en-us.png" alt="Filter Editor with Date of birth Equals Today and Birthdate mode on" url="dash.bip.marketing/easyauth-…/segments/…" />

### 5. Create the WhatsApp template

1. In **WhatsApp**, open the **Templates** tab and click **Create template**.
2. In **Identity**, fill in **Name (lowercase)** `aurora_aniversario_wifi_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 **URL** _See the menu_, with your menu's address.
5. Click **Save Template** and wait for the **Approved** status.

The coupon is fixed text in the body: the same for everyone, with no extra field. The full text is in [Ready to copy](#ready-to-copy).

<Shot src="/img/wifi-aniversariante/5-en-us.png" alt="New WhatsApp template with the birthday message and its preview" url="dash.bip.marketing/easyauth-…/whatsapp/templates/create" />

### 6. 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_.

<Shot src="/img/wifi-aniversariante/6-en-us.png" alt="Recurring Schedule Type with Daily Frequency, Time 09:00 and BRT Timezone" url="dash.bip.marketing/easyauth-…/campaigns/…" />

### 7. 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. The visitor gets the birthday message this year and, on their 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.

<Shot src="/img/wifi-aniversariante/7-en-us.png" alt="Lead Re-entry Window with Allow Lead Re-entry on and a 300-day Cooldown Period" url="dash.bip.marketing/easyauth-…/campaigns/…" />

### 8. Choose the channel, the template and the segment

1. In **Channel**, click **WhatsApp**.
2. In **Template**, choose `aurora_aniversario_wifi_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 · Wi-Fi_.

<Shot src="/img/wifi-aniversariante/8-en-us.png" alt="WhatsApp channel with the birthday template, the variable mapping and the segment switched on" url="dash.bip.marketing/easyauth-…/campaigns/…" />

### 9. 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 after going through EasySpot, and click **Send Test**. The test 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, with the visitors who have arrived by then.

<Shot src="/img/wifi-aniversariante/9-en-us.png" alt="Ready to Activate Recurring Campaign? confirmation dialog" url="dash.bip.marketing/easyauth-…/campaigns/…" />

## Ready to copy

### Segment

Name: _Today's birthdays · Wi-Fi_.

| Criterion             | Operator | Value                                |
| --------------------- | -------- | ------------------------------------ |
| Field → Date of birth | Equals   | Relative: `0` Days, **Birthdate** on |

If the phone is optional in your EasySpot, add with **All (AND)**:

| Criterion | Operator    | Value |
| --------- | ----------- | ----- |
| Phone     | Starts with | `+55` |

### Campaign

| Option                     | Value                        |
| -------------------------- | ---------------------------- |
| **Schedule Type**          | **Recurring**                |
| **Frequency**              | **Daily**                    |
| **Time**                   | 09:00                        |
| **Timezone**               | **BRT (Sao Paulo) (-03:00)** |
| **Allow Lead Re-entry**    | On                           |
| **Cooldown Period (Days)** | `300`                        |
| **Channel**                | **WhatsApp**                 |
| **Template**               | `aurora_aniversario_wifi_en` |
| **Segments**               | Today's birthdays · Wi-Fi    |

<Copy label="Campaign name and description">
Wi-Fi birthday · WhatsApp
Birthday wishes with dessert for Wi-Fi visitors whose birthday is today. Recurring, daily at 09:00; each person gets it once a year.
</Copy>

### WhatsApp

<WaTemplate name="aurora_aniversario_wifi_en" category="MARKETING" header="Happy birthday!" footer="Padaria Aurora · One dessert per person" buttons="See the menu">
Hi, {{1}}! Thanks for stopping by Padaria Aurora and using our Wi-Fi. Today is your birthday, and dessert is on us on any visit in the next 7 days. Just show this message at the register or mention the coupon BDAYWIFI. We look forward to seeing you! 🎂
</WaTemplate>

Fixed **URL** button: `https://www.exemplo.com.br/cardapio`.

| Variable in the campaign | Lead field     | Sample value |
| ------------------------ | -------------- | ------------ |
| **Body · {{1}}**         | **first name** | Marina       |

### Email

In **Emails Templates**, click **New Template**. In **Settings**, set the **Name** to _Wi-Fi birthday · Padaria Aurora_, choose **English** as the **Language** and paste the **Subject** and the **Preview**. Use the **Add Image** (a house dessert), **Add Heading**, **Add Text** and **Add Button** blocks.

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

<Copy label="Subject">
[@first name], dessert is on us today 🎂
</Copy>

<Copy label="Preview">
Happy birthday! Stop by Padaria Aurora in the next 7 days and pick a sweet treat on us.
</Copy>

<Copy label="Heading">
Happy birthday, [@first name]!
</Copy>

<Copy label="Text">
Thanks for stopping by Padaria Aurora and using our Wi-Fi. Today is all about you, and we want to celebrate with you: for the next 7 days, dessert is on us.

Show this email at the register or mention the coupon BDAYWIFI. One dessert per person, in store.
</Copy>

<Copy label="Button — Name">
See the menu
</Copy>

## How to measure

- **Before sending**: open the segment. The **_N_ matches of _T_** count shows how many visitors have a birthday today.
- **After the runs**: in **Campaign Stats**, **Processed (_N_ runs)** adds up every day. Track **Sent**, **Delivered** and **Read Rate**.
- **Re-entry**: in **Recipient Interactions**, filter by **Rejected**. The reason **Lead has already received this campaign** means re-entry is off.
- **Who came back**: each new Wi-Fi connection updates the contact. In **Leads**, sorted by **Updated (Newest)**, anyone who came in for the dessert and connected shows up at the top.
- **At the register**: count the `BDAYWIFI` coupons each week.

## Variations

### Email or WhatsApp

To send by email, EasySpot needs to ask for the email, as the key or as a field. Create the template from [Ready to copy](#ready-to-copy) and, in step 8, choose **Email** in **Channel** and pick the **Email Template**. Email works on any plan, including the free one. To use both channels, click **Duplicate** in the campaign list and, in the copy, switch the **Channel** to **Email** and choose the **Email Template**. The copy keeps the schedule and the re-entry settings. Anyone with both email and phone gets it on both channels.

### Only people who live in the area

If EasySpot also asks for the **City** and it was checked when you connected, BIP has a field of type **Location**. Add **Field** → _City_ **(Geo)** → **In radius** to the segment, with `Curitiba` and `30` `km`, and combine them with **All (AND)**. Location is always by city: the radius selects the cities whose center falls inside the circle.

### One year since the first visit

**Creation Date** marks the first Wi-Fi connection. It doesn't have **Birthdate** mode, but a relative criterion finds people who made their first visit exactly one year ago: **Creation Date** → **Equals** → Relative `-1` **Years**. Use it in a **Recurring** **Daily** campaign, like the birthday one. For contacts that came in through an import, **Creation Date** is the import date.

### A different coupon for each person

Fixed text is the simplest path. For one code per person, create a field of type **String**, such as _Coupon_, fill it in through an import and replace the code in the template with a variable mapped to **"Coupon" field value**. See [WhatsApp templates](/en-us/whatsapp-templates).

## Frequently asked questions

### I already connected Easy Auth without the date of birth. Now what?

The connection creates in BIP the fields EasySpot had at authorization time, and the connection's webhook sends those fields. Clicking **bip.marketing** again doesn't create fields: BIP shows **Namespace already exists**. To bring in the dates:

1. Turn on **Birthdate** in EasySpot.
2. In BIP, create the _Date of birth_ field, of type **Date**, in **Settings** → **General** → **Fields**.
3. In Easy Auth, go to **Statistics** → **Users** tab, choose **All Data** in **Report**, click **Download** and choose **Csv** or **Excel**.
4. In BIP, import the file in **Leads** → **Import Leads**. Link the name, phone and email columns to the standard fields and the date column to the _Date of birth_ field. The date must be in dd/mm/yyyy or yyyy-mm-dd format.

Anyone already in BIP is updated by phone or email, not duplicated. Repeat the import from time to time to bring in the dates of new visitors. See [Import contacts](/en-us/import-contacts).

### Does someone who connects for the first time on their birthday get the message?

Yes, if they arrive before the campaign's time. The campaign goes out once a day, at 09:00, to whoever is in the segment at that moment. Anyone who connects for the first time after that, on their birthday, gets the birthday message the following year.

### Why didn't the visitor 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. Click **Pause Campaign to Edit**, switch on **Allow Lead Re-entry** with a **Cooldown Period (Days)** of `300` and activate it again.

### 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. The account created through Easy Auth starts on BIP Lite with 1,000 free sends per month; WhatsApp comes with the paid plan. See [Plans and limits](/en-us/plans-and-limits).

## See also

- [Connect Easy Auth to BIP and receive your Wi-Fi visitors](/en-us/wifi-connect-easy-auth)
- [Birthday treat: dessert on the house](/en-us/birthday)
- [Segments: the 10 criteria to filter contacts](/en-us/segments)
- [Campaigns: one-time, recurring and API-triggered](/en-us/campaigns)
- [WhatsApp templates: create, sync and use](/en-us/whatsapp-templates)
- [EasySpot on the Easy Auth Wiki](https://wiki.easyauth.com.br/en/easyspot)
- [Birthdays on the BIP website](https://bip.marketing/en-us/use-cases/birthday)
