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
Before migrating we have formatted Birthday dates as MM/DD/YYYY as seen below.
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,
Hi
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:
- Understanding data types : Date
- Acceptable date and timestamp formats for profile and event properties
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:
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!
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!
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:
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
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
Log in to the Community
Use your Klaviyo credentials
Log in with Klaviyo
Use your Klaviyo credentials
Log in with KlaviyoEnter your E-mail address. We'll send you an e-mail with instructions to reset your password.