Skip to main content
Collecting birthdays

Collect and store your subscribers birthdays to send them a recurring Birthday campaigns.

Updated over a week ago

You can store your contact’s birthdays in the date_of_birth field (shown as Birthday in the UI), with the option to collect only the day and month, or to include the year.

Supported date formats

  1. DD.MM

  2. MM-DD

  3. DD.MM.YYYY

  4. YYYY-MM-DD

We also support all ISO-approved date formats.

e.g. If your contact’s birthday is 18th October 1993, you can send the information in the following format.

  • 18.10

  • 10-18

  • 18.10.1993

  • 1993-10-18

Note: If the year is not included, we will mark the year as 1800 by default for system formatting purposes.

Methods

CSV import

Easily bulk import your contacts birthdays using excel files.

  1. Go to Audiences → Contacts import → Create import → Create import

  2. Give your import a name and select Next

  3. Download the excel template

4. Fill out the excel sheet with the contacts’ phone numbers with country codes or email IDs along with the date of birth

5. Drag and drop or click to add the filed out file. Select Next

6. Assign opt-ins, add to contact list or add tags (if required). Select Next

7. Select Process import 🚀 to finish the import

With a Journeys’ flow

It’s a good idea to start collecting new subscribers birthdays via flows when they’re opting in (or at other key times) and save it to the contact’s properties in charles:

Watch

In our March Product Release webinar, Grace showed us how to start collecting birthdays via flows.

  1. Create a flow and add a Send message node

  2. Click the node to Edit

  3. Go to ⚙️ → Customer response settings ****and toggle ON Store customer response

  4. Select Store in charles contact property and make sure the Birthday ****custom property ****is selected:

Now the customer’s response will be store as a 🎨Custom properties

Note: The first response from your customer is stored (no matter the value) and the flow will only continue once your customer has responded.

Website forms and webhooks

Use website forms and webhooks on your website and CRMs for seamless data integration.

Forms

Add a birthday field to your website sign-up or address forms to collect your contact’s birthday and on form submission pass the information to your charles universe using our API.

Please make sure to encrypt your charles API key when using it on website forms.

External CRMs

If you’ve collected the information in your CRMs, you can create a workflow to update the contact’s information on charles using our API.

API documentation

Update Contacts API:

To update your contact's date_of_birth in Charles Universe, you can uniquely identify and update them using their email or phone number through the "external_reference_id". Here's a guide on how to implement it:

Requirements:

  1. Your Charles Universe Domain:

  2. Your Charles Universe API Key:

    • your_charles_api_key: Charles Universe API Key

      • e.g., cbe***-****************

    • Where to find your Charles API Key:

      • Navigate to your Charles account > Settings > API Key

  3. External Reference ID:

    • external_reference_id: Contact’s email ID or phone number with the country code to uniquely identify the contact

  4. Contact’s date of birth:

    • date_of_birth: Contact’s date of birth in a supported date format

      • e.g., 18.10.1993

  5. Source type

    • source_type: Contact’s source of the update.

      • e.g., website, CRM, etc

Usage:

To identify and update a contact, use the "external_reference_id" parameter in your API calls, providing either the contact's email or phone number with country code. This ensures the contact’s date_of_birth is updated in your charles universe.

Sample Curl:

curl --location --request PUT 'https://{your_charles_universe_domain}/api/v1beta/contact/' \
--header 'accept: application/json' \
--header 'X-API-Key: {your_charles_api_key}' \
--header 'Content-Type: application/json' \
--data '{
"external_reference_id": "{contact's email or phone number with country code}",
"source_type": "{source of the contact update}",
"person_properties": {
"date_of_birth": "18.10"
}
}'

Did this answer your question?