Solved

Birthday property date formatting

  • 29 April 2024
  • 5 replies
  • 76 views

Badge

Hi,

We have migrated our contact list from another ESP to Klaviyo. We have included a custom property Birthday and mapped it as a “date” format.

Currently I’m seeing this in our account:

- Imported contacts include date written as

o1kC_gCzn4sg77y3O4sBv9277zgBUjVFzpcVRurenhMm5zPQS2ZiM4Y8E_L50tq8-xDwjQTyRoaYp3JDW3YCZ0c3iRALSvx8YMH2zwp69YRpFL6Led0sdHl9ZtpkevkV_KJ_C1cEUpP5dG6nyUA0kwU

Before migrating we have formatted Birthday dates as MM/DD/YYYY as seen below.

pfqJ0rvhN9XjKc7xzf6hksY88_SlzSB4Xq3vDEDRNGTOucOGhkxIkORiQA2s6fcytvKS_sFKW-fTciCbAqp1SBmKN1J4bL-vWAPl9SqIW2ioMSds6OBVClWnBCyalqFzfULyDMICwEQk4VLvtN-jTVs

Our pop-up form collecting birthdays is using the same profile property “Birthday” and date data type formatted as MM/DD/YYYY.

We wish to know if this is a common and correct way for our data to be displayed on a profile or do we have to re-import our Birthday data field from the primary exported list and change formatting in the mentioned corresponding pop-up and preferences page setup?

I would also like to clarify why the source property in imported contacts is set as “-6”?

If we do have to re-import Birthday data to the account, will it automatically update only the existing Birthday property assigned to a specific e-mail?

Thank you,
 

icon

Best answer by retention 29 April 2024, 20:15

View original

5 replies

Userlevel 7
Badge +58

Hi @MW2024, first welcome to the community!

So Klaviyo can recognize a few date formats so that it will properly work with your Segmentation rules and any date triggered Flows.

You can see the documentation of acceptable date formats here:

As for the “-6” source value - if you don’t provide a $source value, then Klaviyo will set one for you according to the general source table here:

When profiles get added to Klaviyo, you can specify the Source value so you can differentiate them a Lists Growth Report

Commonly, this is done via the Klaviyo Signup Form where you can define the source value, but it also applies to any external email capture tools and/or via the API.

See this example:

Create a “Source” value for this Popup

However, if none is given, or if it’s added via a known Partner integration, the source value will default to one of those values.  

A “-6” just means the Profile was created via a “Manually initiated” method (e.g. You uploaded the email manually).

Hope that helps!

Badge

Thank you for an explanation!

However, I have some additional questions regarding date formatting.

As understood, Klaviyo reads dates as YYYY-MM-DD HH:MM:SS.

My related questions are:
 

  • Will imported birthdays as seen from a screenshot above still work in a birthday flow or do we have to override them again and format them as YYYY-MM-DD HH:MM:SS (set time as recommended) 
  • If birthdays in a signup form are collected as MM/DD/YYYY, is Klaviyo still going to read them correctly (and automatically due to assigned MM/DD position) to be used in a birthday flow? The ones we’re collecting that way are being collected differently than ones in imported profiles. 
  • We would prefer to collect birthdays as DD/MM/YYYY or just DD/MM as it resonates with our local rules on writing down dates. Will that cause that the birthdays won’t be written in the system correctly and therefore not trigger the birthday flow? Or should we collect them as in a text format?

 

Thank you in advance!

Userlevel 7
Badge +58

@MW2024 - glad to help!

A few answers to your follow-up questions:

  • If you are doing a one-time import, I would recommend you reformat your date/time data to the supported date/time format.  As far as I know, from the documentation, it should be in YYYY-MM-DD HH:MM:SS format for it to work with your Segments, Conditional Logic around dates, and Date Triggered Flows down the road.
  • If you are using the “Date” Block in Klaviyo Signup Forms, I think behind the scene, it stores the data in YYYY-MM-DD (even though the interface shows MM/DD/YYYY or otherwise)
  • Just to reiterate, I think you can present the date/time format to the users in the way that is conventional to your local region, but the actual data is stored in Klaviyo in the supported format.  If this is all done in a Klaviyo Signup Form, it should be good!

As a quick reference, her are the various date formats in the Date Block within Klaviyo Signup Form:

 

Badge

@MW2024 - glad to help!

A few answers to your follow-up questions:

  • If you are doing a one-time import, I would recommend you reformat your date/time data to the supported date/time format.  As far as I know, from the documentation, it should be in YYYY-MM-DD HH:MM:SS format for it to work with your Segments, Conditional Logic around dates, and Date Triggered Flows down the road.
  • If you are using the “Date” Block in Klaviyo Signup Forms, I think behind the scene, it stores the data in YYYY-MM-DD (even though the interface shows MM/DD/YYYY or otherwise)
  • Just to reiterate, I think you can present the date/time format to the users in the way that is conventional to your local region, but the actual data is stored in Klaviyo in the supported format.  If this is all done in a Klaviyo Signup Form, it should be good!

As a quick reference, her are the various date formats in the Date Block within Klaviyo Signup Form:

 


Hi,

it worked flawlessly! I’ll keep monitoring our flows, but our birthday flow is now queuing contacts as it should (manually checked all the contacts that should receive an e-mail tomorrow). 

I’ll also test formatting the date as recommended above in our signup forms and see if it stores correctly and post the outcome here, I’m sure it could help other users encountering the same issue.

Thank you!

Thank you

Badge

Hi,

I have an additional question related to discussed issues above.

I have been monitoring our birthday flow in the last 3 days and mostly it sends out birthday email correctly (especially to contacts from the bulk import list where I made changes to how the birthday date is formatted).

However, I’ve noticed one trend that applies to contacts that were added to our contact list via Klaviyo pop-up form that also collects birthdays. Please note that this doesn’t apply to contacts added via mentioned bulk import.

 

And this is what happened:

 

  • A new contact has subscribed and went through the double opt-in process on April 29th.
  • Contact’s birthday is today (05/03) and it has been written to the profile on April 29th. Our birthday flow is scheduled to send emails at 8 AM local time on the persons’s birth date (which already happened).
  • I can see in analytics, that this specific contact has been skipped in the birthday flow due to “Date property value changed”


Why would this happen and how to avoid it? Should we manually check every skipped contact in the flow?

I have checked documentation on how date based flows schedule it’s recipients but wasn’t able to find an answer. Could it be that Klaviyo writes down birthdays collected via Klaviyo in backend as YYYY-MM-DD 00:00:00 and not  YYYY-MM-DD 12:00:00?

Thank you!

Reply