How can I create a segment based on a TAG in the ORDER of Shopify?

  • 15 April 2022
  • 1 reply

Badge +3

We have a free trial kit that goes out to a customer, and when we receive it back we mark the ORDER with the tag “KR” and then we know the kit was returned. And a tag “KNR” if the kit was never returned.


KR - I want to email them after it’s returned and let them know what the next steps are and give them an offer.

KNR - I want to remind them to return the kit.


We can’t change the Order Status, because often they are buying multiple products. So I need it to be based on a TAG. Or a custom data field (can we do that in Shopify)?


We can’t add the tag to the Customer level because they could order our kits multiple times over their lifetime.




Best answer by David To 18 April 2022, 16:00

View original

1 reply

Userlevel 7
Badge +60

Hello @roshamboshades,

Welcome to the Klaviyo Community!

Interesting use case you have here by using order tags to identify users! One of the bottlenecks in what you’re trying to achieve here is that order tags from Shopify are typically not set at the point of purchase (Placed Order). This is due largely in part to the sync frequency between Klaviyo and Shopify pertaining to orders. As mentioned in the Frequency of the Shopify Sync section of the Reviewing Your Shopify Data Help Center article:

Because we sync all metrics in real-time, any tags -- such as Order Tags -- that might be added to an order after it is processed will not sync into Klaviyo. Klaviyo does not re-sync metrics after the initial event takes place, so no tags or adjustments made to an order after-the-fact will be updated in Klaviyo.

However, the simplest workaround as @retention and my colleague, @Dov as mentioned in previous Community posts, would be leveraging the Fulfilled Order event in place of a Placed Order event. Fulfilled Orders, which occur after the Placed Order event would be passing many of the same information and details; including the order tags. Since this event is passed later on in the process, the order tags would have enough time to be understood and synced to Klaviyo. 

Alternatively, you can also go the custom route and record a custom event to be synced to Klaviyo when these sort of orders occur. This method would allow you to trigger individual flows based on if a user has triggered a “KR” custom event or the “KNR” custom events. You can even go as far as creating a single custom event that would pass this sort of data to trigger a single flow but separated by a trigger split to divide the traffic of which action your customers took. Going with this solution, I would suggest working with your developer and using the resources found in our Developer’s Portal to learn how to code and sync these custom events!

I hope this helps!