If you use Shopify + Klaviyo, make sure you understand this change in their functionality!
READ THE FULL EPISODE TRANSCRIPT
I am very unhappy about a feature change I learned about recently, that apparently happened a while ago – but I have no recollection of receiving any communication about this update. and while I LOVE Klaviyo, and will continue to love Klaviyo, I’m a little mad at them right now.
In a nutshell, Klaviyo used to be able to tell the difference between a subscriber who signed up through a Shopify form vs. someone who subscribed by checking the box at checkout, this is no longer the case.
Why does that matter? Because if you are triggering your welcome flow off of the same list that is connected to Shopify in your integration, that subscriber will go through your welcome flow after they make a purchase and subscribe at checkout. Previously, Klaviyo would recognize that someone opted-in at checkout and wouldn’t send them through flows that were triggered by the list they got added to through the integration.
Now for some of you, this may not matter. But for many of you, especially if you have a post-purchase flow as I recommend, or if you offer a discount in your first email, they could be getting more emails than you intend. They’ll get the Shopify transactional email, the welcome flow, and your post-purchase flow. Not a great experience.
And just don’t get me started at how I think Klaviyo did not do a good enough job at communicating this – though the inquiry I received from a lounge member the other day was the first one I ever got, so hopefully this hasn’t been a huge issue for any one. But as I always say, upset customers come from unmet expectations and lack of communication. This is the perfect example. Okay, enough ranting… let’s get into some solutions.
How you approach this is going to depend a little bit on how you manage your lists, the forms you use and the content you have in your flows. You might need to adjust how you’ve been doing things to accommodate this particular situation.
I’m going to walk through a few different scenarios and options, including my preferred one and then you can choose which suits your situation best. Admittedly, this is a little hard to articulate so please bear with me as I try to my best to make this make sense.
If you are a Lounge Member or a Klaviyo Badassery student, stay tuned because I’ll be releasing some video content to those courses to help you with this. If I wasn’t getting on a plane and going to New York 2 days after I found out about this I would have already released it. It’s at the top of my to-do list when I return.
So first, the most common scenario I see and how I typically set things up for clients.
- On your Shopify site, you have a Shopify form in your footer and use a Klaviyo pop-up form.
- Your Shopify to Klaviyo integration is set to go to your main newsletter list
- Your welcome flow is triggered by someone being added to that main newsletter list
Option #1: Swap Out Your Shopify Footer Form for a Klaviyo Embedded Form
In this case, the easiest solution is to swap out the Shopify footer form that comes with your theme for a Klaviyo embedded form.
Then, on both your Klaviyo footer form and your pop-up, you’ll add a hidden profile property to identify those subscribers that you want to go through your welcome flow. You can keep this really simple and call it receive welcome flow with a value of yes.
Then, you’ll create a segment based on that profile property. This is your to receive welcome flow segment.
From there you can do one of two things. Either update your welcome flow to trigger off of being added to this segment OR add a conditional split to your existing welcome flow that says has this property, if YES… they go down your welcome flow path. If not, they’ll go down an empty branch and leave the flow.
A couple of things to keep in mind here:
- Anytime you create a new form and you want people to go through your welcome flow, you’ll have to remember to add this hidden profile property otherwise they won’t make it into the segment or through the conditional split.
- If you change or upgrade your theme, you’ll have to remember to swap out the footer form again
- If you use the built-in Klaviyo subscribe page, that’s attached to your list, you’ll need to add the condition OR $source is Subscribe page to the segment that is going to trigger your welcome flow or add it to the conditional split in your list triggered welcome flow.
Why is this my favorite? Because it still allows you to keep one main list and it’s the clearest cut perfectly segmented and filtered option. You’re essentially just separating the people who opt-in at checkout vs. the people who opt-in through a form.
Note: The $source that I mentioned you’re going to use for your subscribe page – this is what Klaviyo records as the signup source. Every form or integration you connect to Klaviyo will submit a source to this field when they sign up. Unfortunately, any subscriber that comes from Shopify, whether through a Shopify form or at checkout has the same $source, so you can’t use this for your filter.
Option #2: Connect Your Klaviyo Footer Form to a Separate List
If the idea of hidden profile properties is confusing to you, you could also connect this form to a completely different list that’s different than the one you connected in your Shopify integration.
Then if you also use the built-in Klaviyo subscribe page, you would use the one for this list instead of the one that’s connected to Shopify and any other forms you create in the future.
The only reason this isn’t my favorite method is that I prefer to keep one main list in Klaviyo and the reason that I prefer that is because Klaviyo does not differentiate between email subscribers and transactional contacts. So when you’re creating segments, like your engaged subscribers, or people who have never made a purchase from you and you want to send them a specific email, you have to include the on-list condition in that segment, otherwise, you could end up sending emails to people who haven’t actually opted in.
In this scenario, we are only talking about 2 lists, so it’s not the worst thing. But if you create a new list for every signup form you create when you’re doing different product launches or events, you could end up with a bajillion lists that you have to remember to add to all your segments.
Ultimately, I want you to do what’s easier and make the most sense to you – but I want to make sure you have all the facts and potential pitfalls as well. When I work with clients setting up their emails I will always give them the different scenarios and ask them which makes more sense in your brain and that’s how I’ll set it up, because ultimately, they’re the ones that have to manage it.
Now for some of you, the idea of swapping out your form might be stressful. It’s honestly not that hard and you could totally hire someone from Hey Carson or Store Tasker to do this for pretty cheap but I have some other options for you.
Option #3: Remove Recent Purchasers from Your Welcome Flow
This first option is if you do have a post-purchase flow. In this case, we’ll want to remove these customers from your welcome flow completely with a conditional split
In this case, you’d a conditional split before the first email in the series that says, what someone has done or not done > placed order > zero times > in the last hour. If that’s true, they go down your welcome flow and if it’s not they go down an empty path.
Now, is it possible that someone would make a purchase on your store, not sign up for emails at checkout and then come back and fill out your form to sign up for your email list within the next hour and expect a welcome email? In theory, yes. And if that happens, they won’t go through the welcome series, but this seems like a pretty unlikely scenario to me. And unfortunately, when it comes to the time frame, an hour is the shortest time available on the filter.
The trick with this method is that any evergreen content from your welcome series that you want these people to receive, you’ll need to repeat in your post-purchase flow, and then on those emails in the post-purchase flow – you’ll put a filter on the email itself that says what someone has done or not done > received email > zero times over all time where email is > the version of the email from your welcome flow.
Option #4: Filter Out People Who Are In the Post-Purchase Flow
In any flow in Klaviyo, you can filter out people who have received another flow within a certain time frame or over all time.
When I was talking to an email friend she said this is how she does it, but she also has a post-purchase email that goes out every single time someone places an order. This is in addition to the Shopify transactional email, which honestly seems like a bit of overkill to me – but it’s working for her so I certainly wouldn’t count it out.
In this case, you’d put a trigger filter on your welcome flow that says what someone has done or not done > received email > from post-purchase flow > in the last X amount of time. I would make this as long as your welcome series so they get skipped on all the emails. The trick with this one is that you have to put a slight delay on the welcome flow so that it has time to check that the person received this post-purchase email. And it has to be at least as long as whatever delay you have on the post-purchase series.
Now, I typically set up post-purchase emails to go the day after they place an order and it doesn’t send for every order, so this method doesn’t really work unless you have that email that goes every time. And… anyone who signs up through a regular form, will now have a delay before they receive their welcome email., so this one definitely isn’t my favorite. But I do hope that in explaining these options it’s helping you better understand how Klaviyo logic works vs. just confusing you!
And again, with this method, you’ll want to make sure those evergreen emails are included in your post-purchase flow with a filter for the welcome version.
Option #5: Send Recent Purchasers Down a Separate Path
Now, what if you don’t have a post-purchase flow. In that case, I would still do the conditional split I walked you through earlier, based on people who have placed an order in the last hour, but instead of leaving the branch blank, I would put your evergreen emails in there. You’ll just want to tweak the messaging a bit considering this is someone who just made a purchase from you and set a delay that makes sense based on the other emails you’re sending them. You can consider this a placeholder until you can get a proper post-purchase flow set up.
Option #6: Use Smart Sending
And then one more thought before I put this issue to bed so I can finish getting ready for my trip, you could always utilize the smart sending feature on individual emails in a flow. Smart sending is Klaviyo’s way of preventing a subscriber from receiving too many emails in a short amount of time.
This time frame is set at the account level and the default is 16 hours, which means if someone received an email in the last 16 hours, it will skip that email for that subscriber. If you have changed the time frame of this setting based on your sending frequency, then it will be based on whatever you updated it to because this is an account-level setting.
The downside to this is that is just skips emails and then people will continue to move down the flow, so depending on the content you share in your flows it can get pretty random and disjointed. I almost never use this setting on flows and instead, filter them from one another. I often use smart sending for campaigns though.
So, there ya have it. 6 different ways to solve for a very important feature that was taken away! I’m not bitter or anything. As I mentioned, Lounge Members and Klaviyo Badassery Students, I’ll be updating your course very soon with some video walkthroughs to help you navigate this. This content is already in your course portal so you can read through it and start thinking through what makes the most sense for you.
If you’re not a Klaviyo Badassery student, but you want step-by-step walkthroughs of all Klaviyo’s features, you can snag that on my site right now and you’ll automatically get the updated content once it’s released. I’ll put a link in the show notes if you want to check that out.