I feel like I have a pretty unique problem. I created a post purchase review flow from the Klaviyo template.
My payment provider on Shopify works in a way that when someone orders a product, it creates a separate Shopify order for the shipping. Our store offers free shipping starting from an order of 45€, so all orders below 45€, Shopify will create 2 orders for that customer (1 for the product itself and another for the shipping, which is up to 3.60€).
So my problem is, if someone orders something below 45€, it will count as 2 orders for that customer and Klaviyo will send 2 product review emails to that customer, one of which will be broken as it’s not a real order.
Here is a screenshot of how the preview of the shipping cost product review email:
How can I make it so that Klaviyo will ignore the separate shipping cost order and only send the actual product order. I don’t want it to send 2 emails where 1 is broken anyway.
I tried changing the trigger filters, for example where the value of the fulfilled item is at least 45€, but it still shows under the “waiting” tab, that customers who ordered below 45€ will get two product review emails.
Here is a screenshot of the actual flow filter (mind you that Klaviyo is displaying the currency as $, but it’s actually €):
How can I make the filter work correctly?
Best answer by alex.hongView original
@Anton - welcome to the community! A few questions about your issue to try to figure out what’s going on:
From what I can see, it should work but you might be also filtering out any normal order that’s less than 46€. Can you go into your Analytics → Metrics → Fulfilled Order and click on the two timestamps of an Order (and it’s duplicate) to show us what data is passed in both Fulfilled Order events?
Thank you for your reply. I will answer your questions in order:
And here is a screenshot from analytics. I hope it explains. I took an example of a customer who ordered a product + paid shipping fee.
I think that
@retention did a great job of asking clarifying questions for your problem and definitely helps give more insight into this post when future Community members have similar issues, so quick shoutout to retention for that! We love to see Community members helping others and hope to encourage a platform where that can always occur.
So it seems like through how a Shopify store works, when someone makes an order that is less than $45 and have to pay shipping, the shipping cost appears to be coming in as a separate order for you based on how your checkout process and Shopify site is set up. To go about fixing your current problem, I would have suggest trying to create a flow filter to exclude orders containing that specific shipping product name. Does the shipping product has the same name across the board? If not you can also just include all variations of the name as part of the flow filter.
There wouldn't need to be any other filters you really need to address excluding the placed order event that only contains the shipping product. Which means that, you also would not need a product value filter. You can filter by product value, but I wouldn't suggest it. This is because if you filtered for any individual product under $45, then if you sell any products that were, for instance $10, it wouldn't be included in the flow
Hope this helped!
Thank you very much for your input! It seems like this is exactly the solution I am looking for.
So I tried applying your recommendations to the flow filter, but I am not sure that I am doing it correctly.
Here is a screenshot:
As you can see, I added both of the parcel machines our customers can choose between from. I am not sure that I did the excluding part correctly.
Person has “Fullfilled Order” where “Items” contains “[parcel 1 and parcel 2]” doesn’t equal 1 since starting this flow..
Is the “Fulfilled Order” correct or should I choose “Placed Order”. Am I doing this correctly or is there some better way to exclude those from the filter?
Glad I could help! Your solution looks great and is definitely a way to get around the problem. You are correct in the sense that it would be Fulfilled Order and not Placed. So in turn, your flow filter would be: fulfilled order where item contains (two shipping items), zero times in last (X) - this would just need to be a smaller time frame like 4 hours or something. I am unsure what the doesn’t equal 1 relates to, but it is not needed for the flow to work.
Another, more streamlined solution would be to create a trigger filter, follow our documentation so that this flow filter and exclusion part is not needed; this would also evaluate it on triggering event itself.
Hope this helped!
Thank you so much
Your solution seems perfect for what I need. Really appreciate how helpful this community is :)
I just checked out the “Trigger Setup Preview” feature and discovered that something still seems to be wrong. It appears that people who paid for shipping will be ignored by Klaviyo and only people who ordered above 45€ will get the email.
Here is an example:
As you can see, Klaviyo filters out everyone who paid for the shipping. I tried different time filters, 3 days, 3 hours etc but it changes nothing.
Looks like I figured it out. It was way simpler than I thought haha. Since Shopify adds an “API-SHIPPING” tag to the shipping orders, I could just filter out the tag from the flow.
Great to hear you found a solution! That’s amazing work and thank you for also sharing your steps with screenshots so that other Klaviyo Community members have access to it as well! Looking forward to seeing you more in the forums :)
Have a good day,