Solved

Birthday flow setup


Badge

Total newbie here so bear with me …

I set up a signup form for my website to collect email addresses and birthdays. I am now trying to create a flow to send an email (with discount) on the customer’s birthday. In “Flows” I chose the standard Happy Birthday Email and it shows the flow on the right with “Start on person’s Birthday at 8am”. There is a Trigger dropdown menu on the left but there’s no option to select “date” just “Created”, “First Active” or “Last Active”. What am I doing wrong?

Also, my Klaviyo account is integrated with Shopify -- can I only use the Flows with the Shopify icon?

icon

Best answer by julie.accardo 28 March 2021, 14:43

View original

10 replies

Userlevel 5
Badge +4

Hi @michellebiggs,

 

When you create the flow from our flows library, you should have the option set the trigger as the date profile property you’re using to collect birthday (DOB, Birthday, etc.). If this profile property does not already exist on a user’s profile within your Klaviyo account (this could be the case if you’re starting new with collecting this data and no one has provided you with their birthday upon signup), you will not see it as a trigger option in the dropdown menu when creating the flow. 

 

Once the first subscriber provides their birthday at signup, you will see it as a trigger option for this flow. From there you can adjust the trigger settings to control the behavior of this flow.

 

The flows in your flow library with the Shopify icon indicate that events syncing from your Shopify store are the triggers for those prebuilt flows. Some of the other prebuilt flows without the Shopify icon such as the browse abandonment flow can also be used. The browse abandonment flow is triggered off of web tracking and not a Shopify event coming through the Shopify integration which is why you see a gear icon for the prebuilt browse abandonment flow. You can also create your own flows from scratch.

 

I hope this helps!

Julie

Badge

Thank you so much, yes, that helps!

Hello, 

 

How do you add birthday as a date property to set up a birthday flow? 

Userlevel 6
Badge +4

Hello @hannahbradford

Welcome to the Community! The easiest way to collect a Birthday property to trigger a Birthday Flow/Date Triggered flow off of would be asking your contacts and site visitors through a signup form. Not only does this allow you to reward your site visitors to subscribe to your marketing emails/lists, it’s also a great way to get to know your audience! 

@mike.hoang actually elaborates on this quite nicely in the following forum post: 

-David

Hello there

I have the same issue. when I want to make a new flow, the Birthday option does not appear as a trigger, although we now have a profile with a Birthday Property, which was generated in a Sign up form. (See the screenshots below). The Format should also be acceptable. (MM/DD/YYYY)

 

Userlevel 6
Badge +5

Hello @Thea,

Thanks for your reply and thank you @david.to  for your answer.

@Thea, the reason you do not see the option for "Birthday" as a date-based trigger for your flow, is because one or more of the values for the "Birthday" property is incorrectly formatted.

The first step of the solution is to create a segment defined like the following: Properties about someone > Birthday > is set (text data type). 


?name=Create_segment___Klaviyo.png

Next, export that segment into a .csv file with the "Email Address" and "Birthday" fields selected (note that only users with an owner, admin or analyst role can export lists and segments) and reformat the dates in the .csv file to ensure they are all in a valid format, typically folks use MM/DD/YYYY.  This should be consistent with the format you’re using in your sign-up forms as well.

Next, create a flow triggered off of this segment and use a Remove Profile Property action selecting “Birthday” as the value and then backpopulate the flow using bottom radio button “schedule for each step relative to when I click the backpopulate button”. That will “clean this property” from all profiles. Images below as well for reference.

Finally, re-upload the "cleaned" .csv file into a new or existing list. Please upload both the "Email Address" and "Birthday" fields as "string" data types on the .csv mapping page. This will re-map the “Birthday” field correctly onto all profiles who previous had Birthday set on their respective profiles.

After this is done, all of the date formats for “Birthday” will be correct and you will be able to trigger a date-triggered flow off of “Birthday”. You can continue to collect birthdays via a sign-up form or subscribe page as well that will not "corrupt" any of the birthday formats.

Hope this is helpful. Thanks and have a great day.

Hello @Thea,

Thanks for your reply and thank you @david.to  for your answer.

@Thea, the reason you do not see the option for "Birthday" as a date-based trigger for your flow, is because one or more of the values for the "Birthday" property is incorrectly formatted.

The first step of the solution is to create a segment defined like the following: Properties about someone > Birthday > is set (text data type). 


?name=Create_segment___Klaviyo.png

Next, export that segment into a .csv file with the "Email Address" and "Birthday" fields selected (note that only users with an owner, admin or analyst role can export lists and segments) and reformat the dates in the .csv file to ensure they are all in a valid format, typically folks use MM/DD/YYYY.  This should be consistent with the format you’re using in your sign-up forms as well.

Next, create a flow triggered off of this segment and use a Remove Profile Property action selecting “Birthday” as the value and then backpopulate the flow using bottom radio button “schedule for each step relative to when I click the backpopulate button”. That will “clean this property” from all profiles. Images below as well for reference.

Finally, re-upload the "cleaned" .csv file into a new or existing list. Please upload both the "Email Address" and "Birthday" fields as "string" data types on the .csv mapping page. This will re-map the “Birthday” field correctly onto all profiles who previous had Birthday set on their respective profiles.

After this is done, all of the date formats for “Birthday” will be correct and you will be able to trigger a date-triggered flow off of “Birthday”. You can continue to collect birthdays via a sign-up form or subscribe page as well that will not "corrupt" any of the birthday formats.

Hope this is helpful. Thanks and have a great day.

 

Thank you @david.to for the answer
Sadly it didnt work. There are 2 things that I think could be the issue.

  1. While doing the advised steps by you, I realized that for a lot of profiles, where we don’t have a birthday (since the birthdayfield in the old tool was optional) the value NULL is set. Maybe it has to do with that?
  2. We have 3 different properties regarding the birthday. (Birthday, $birthday, birthday) In all of them we have datas, the most in the “Birthday” property.
Userlevel 6
Badge +5

Hi @Thea,

Thanks for your reply.

  1. The value for the property will not matter in this case. This is because the step where you backpopulate the flow with the remove profile property block will clear any existing value that exists for the Birthday field, whether it’s Null or anything else.
  2. Ok that is helpful to know. In order to consolidate all of these values into a single property, I recommend altering the segment definition to include all 3 values using “OR” separators. So it would look like the following Birthday is set OR $birthday is set OR birthday is set. And then follow the rest of the steps as normal except when you export the .csv ensure you check off “birthday” “Birthday” and “$birthday” and when you re-import the .csv file, in addition to reformatting the dates to MM/DD/YYYY, you’ll also want to ensure all dates are under a single column header for “Birthday” and remove the other column headers “$birthday” and “birthday”. If done correctly, upon re-import of the “Birthday” property, you’ll be able to trigger a flow off of the “Birthday” property (I can verify this is the case because I have tested it before personally). 

What I would do to verify you’ve gone through these steps correctly is, after setting-up the flow and backpopulating, check the flow analytics to ensure that the backpopulation has completed (you’ll know this once the number under “Profiles Updated” matches the number of people in the segment located in the top-left as depicted in the screenshot) and then spot-check a few of the profiles that are a part of the segment to ensure that the “Birthday”, “birthday” or “$birthday” property has in fact been cleared from the profile under “custom properties”. Once this is confirmed, you can initiate the re-import of the .csv file containing only the “Birthday” column header and then again check a few profiles to make sure “Birthday” is back on the profile, then try to create your date-triggered flow based on “Birthday”.

 

 

thank you very much @dov.derin 

I think I understand all the steps that you explained, besides the one with the reformatting. So after I do the export in a csv. file I have a LOT(5-digit number) of rows. Some look like this...

Some look like this…. 

And some look like this...

 

As I understood I have to “clean” those so it looks like this at the end:

| 1 | Email, Birthday

| 2 | xxx@hotmail.com, 01/22/1981 (e.p.)

So if my understanding is correct, how am I supposed to change all of these rows the easiest way?:sweat_smile:

 

Userlevel 6
Badge +5

Hi @Thea,

Yes, that understanding is exactly correct.

The solution will depend which platform you’re using.

If you’re using Google Sheets, you can find their doc on changing the number format here. You may also find their doc on splitting text into columns helpful.

If you’re using Excel, you can find their doc on changing the number format here. And here is their doc on splitting text into columns.

Thanks and have a great day.

Reply