Solved

How to create a First Purchase Anniversary Flow


Badge +3

Hi everyone!

I’m Kim and a newbie to Klaviyo and to all marketing platforms, really. I wanted to ask if the flow I made for First Purchase Anniversary is correct. Prior to this I have also added subscriber's first purchase date: 

 

Flow:

 



Thank you. 

icon

Best answer by DavidSandel 3 March 2022, 16:42

View original

14 replies

Userlevel 5
Badge +18

Looks good to me! (Assuming the custom property is set as a date field)

Badge +3

Thank you for your comment, @DavidSandel . I have manually added the First Purchase Date property on each of their profile.  

Userlevel 7
Badge +58

Hi there @j.kmf,

Thanks for posting your question to the Community and I’d love to share more info.

First, it is important to figure out how you want to trigger this flow. It would be pretty easy to build a segment and have that trigger your flow. However, a segment triggered flow can only be sent once to a customer. If you wanted this flow to repeat every year it would not work. In that case we would want to build a date-triggered flow.

Overall, the best solution would be to use a date-triggered flow. You don't HAVE to set that to repeat, but you'll have the option. This just requires a date formatted property on the person's profile. Some people will simply use the "Created" date as this would be the date their profile was created in Klaviyo. Alternatively you can upload a custom property to their profile formatted as a date.

The process would be very similar to a birthday flow, so you might find this guide helpful.

If you end up going the segment triggered route, the definition would be something like "Created - is between - 364 to 365 days ago". 

 

Hope this helped with the understanding,

Alex

Userlevel 5
Badge +18

Thank you for your comment, @DavidSandel . I have manually added the First Purchase Date property on each of their profile.  

To add what @alex.hong said, you can use the post-purchase flow to add this property automatically.

My post-purchase flow separates first time buyers from repeat buyers. And when someone enters the “first-time” branch, I automatically save that date in a custom property.

So, of course, if you have the information for existing customers, manually adding it is the only option. But for everyone else going forward, you can make use of the flows to do it for you automatically.

Badge +3

Hi @alex.hong thank you for your reply. The flow is date-triggered. What I’m worrying is that I don’t see anything in the flow analytics. Shouldn’t be there any customers in this flow already considering their profiles were already updated and has their first purchase date custom property. 


Also, is it correct that I have put a time delay of 365 days? I checked the article for the birthday flow and the time delay was not mentioned. However when I checked the template for the first purchase anniversary it has a time delay so I added it on my flow as well. I made this flow from scratch, btw. Thanks

Badge +3

Hi @DavidSandel 

I have created this flow that will hopefully create a date property in a first time buyer’s profile. Got this from a youtube video of Flowium. Do you think it will do the trick?
 

 

Userlevel 5
Badge +18

@j.kmf, yes.

As I mentioned, you can probably do the same thing in your existing post-purchase flow without having it separate. But if you’re happy with this, it should work. 

Userlevel 7
Badge +58

Hi @j.kmf,

Klaviyo checks if someone qualifies for a flow daily via a check that runs a full day in advance. This is why we don't need to back-populate date-triggered flows. In addition, Klaviyo will check if someone qualifies for a flow whenever a date is added or updated on a profile. During this time, Klaviyo determines if a profile should enter a flow based on whether that date falls within the flow’s full timeline. A person will only be added to a flow if the day, month, and year fall within a flow’s timeline, so if a date is in the future (e.g., 12/1/2025), they won’t be added to a flow before that time. Let us know if data does not go through once set to live.

You can learn more about how date-based flows queue recipients in this article here .

 

Best,

Alex

Badge +3

Hi @alex.hong , thank you for the article you shared and for explaining why I didnt have recipients. I did however just checked the flow again and it does have one but it’s skipped. 

 

 

 

 

I have been searching online what date property value change means and how I can fix this. I have not changed anything in the customer’s profile and we have not sent any emails to our subscribers as we are still in the process of setting up everything. Do you know why this happened and what I need to do to fix it? 

Userlevel 7
Badge +58

Hi there @j.kmf,

Once a Profile enters a Date-triggered Flow and they are queued to receive a message on a certain date: if the value of the date is modified this can cause the Flow to skip the Profile since it can no longer verify that the originally scheduled time is the time that the Profile should be sent the message. The Skipped reason "Date property value changed" is normally an indication that the value that the Flow is relying upon as a trigger has since been changed from to a newer value then what it was when the recipient was scheduled for that message (this can be as simple as a time value change.) Is there possibly a trigger that was not posted in the screenshot?

Although I cannot find the exact details, here’s my thoughts on potentially what could be happening:

The issue could be that the profile property is updating before the email is fully evaluated and sent which is causing the Skip to occur. It seems that when these events are happening at the same time this can cause some issues if there's even a slight delay in the SMS/email going out.
The change you'll need to make here is to make sure the SMS message is above the profile property change change & then add a time delay between the email and SMS messages. Something like a 5 minute delay should take care of this but I would suggest a half hour, to cover any contingencies.
 

Hope that helped!
Alex

Badge +3

Hi @alex.hong 

That’s the thing, I have not made any changes to any of the subscribers profiles which is why I’m really confused :sweat_smile: . Here is the screenshot of the entire flow. 


And what do you mean by making sure the SMS message is above the profile property change? Thank you. 

Userlevel 7
Badge +58

Hi @j.kmf,

Thanks for sharing the Flow.

Can you share how you are collecting the 1st purchase date as a custom property through a screenshot? I assume you’re using the model outlined previously but we have to see if it is set up incorrectly i.e. placed order is at least once over all time vs placed over equals 1 over all time. The difference being that the first purchase date will be updated every time the user makes an order so that could cause skips.

Do you also mind sharing the help resources you had used to set these up?

 

Thank you!
Alex 

Badge +3

Hi @alex.hong , thank you for your response. Here is the screenshot 
 

Also, just for an added info. That particular customer has only ordered once. 

Userlevel 7
Badge +58

Thanks @j.kmf,

To start, I would recommend to not use the 365 day time delay in this flow instance. This is because you already have it set to repeat yearly. By having that repeat setting on and the time delay it'll cause a major delay in when the customer receives the flow. A customer will enter the flow, but have to wait a year before receiving the email/SMS and then repeat the same process all over again.

One possibility for your Skipped reason could be if you manually added the original date property to set up the flow. Since this could be a more technical issue, I would imagine looking into the change history of the flow and related fields would help identify some things we are not able to view in the Community. For that reason, I have opened up a support ticket for this case and if you do not hear back I would recommend contacting our support team.

 

Thank you!
Alex

Reply