Shopify Order Tag not being passed to Klaviyo

  • 19 January 2021
  • 10 replies

Badge +2
  • Contributor I
  • 1 reply


I have set up a rule in Shopify to tag orders according to who will actually deliver the item - this runs when the order is fulfilled and will allocate one of 3 tags. The rule is executed via a 3rd party app.

Within Klaviyo I am then using this tag to send the customer one of 3 different email templates. The problem is that the order tags are being passed across via the API. So the flow is unable to execute properly.

How do I fix this? Any ideas?



Best answer by caroline 25 February 2021, 22:41

View original

10 replies

Userlevel 7
Badge +45

@BPD if you're getting the information in Klaviyo you should be able to leverage this in a flow. 

Could it be because of a timing issue? The 3rd party app takes time to process?

If so set a delay of i.e. 5min and then use a split in the flow to split according to the tags.

Userlevel 1
Badge +3

I am having precisely the same issue.  It seems as though the transaction is syncing to Klaviyo before the tag is added in Shopify.  Klaviyo support have no solution besides telling me to apply the tag to the customer rather than the transaction - but that’s entirely useless for my flow.  Any ideas much appreciated.  Thank you. 

Badge +2

Having the same issue, really trying to find a way around using a tag within a specific order to trigger an email, and can’t find the way around it. Any help would be appreciated. 

I’ve also been told to use the tags on the customer which is pointless for us since we want to update the status of that specific order since we track different stages of production.


Userlevel 5
Badge +8

Hi there,

Unfortunately you will not be able to reference a Shopify tag that is applied to the order after it is created. When an order is created in Shopify, Klaviyo receives the data for the order that is available at that one moment. Klaviyo does not receive tags for that order which are added later on.

Hope that helps clarify.



Userlevel 1
Badge +3

I came up with a workaround that works very well for my use case.  My need was to send an email to customers who place orders for delivery to addresses in the EU.  So what I did was to set up a tagging automation in Shopify that tags customers when they place an order that satisfies the delivery condition.  I also set the app to auto remove the tag after a couple of hours.  The tag then syncs to the customer in Klaviyo.  I set up a flow in Klaviyo that triggers when an order is received but has a built in delay and that, after the delay, filters by that customer tag.  Hey presto - the flow works as intended without having to tag the order.  


Is that helpful?

Badge +2

Interesting Mike! Thanks for the inspiration it’s super interesting! A few questions If I may.

  1. What app are you using for the automation within Shopify? (Would it work if I’m not on Shopify Plus?)
  2. What if there are 2 open orders for the same customer? 

Thanks again!!

Userlevel 1
Badge +3

I am using Customer Tagger.  

Not sure what you mean by two open orders but Customer Tagger trigger is very customisable.  

Dear Klaviyo team,

Are there any news to this issue with regard to Shopify order tags? I would like to tag orders with “unhappy” issues (e.g. delayed delivery). Those states naturally occur days after the order has been created. The workarounds above consequently do not help.

Is there a solution? Or how can I for example send an email to a list of customers who are waiting for their orders without manually exporting lists from Shopify.



Userlevel 7
Badge +60

Hey @StephanL,

There has not been any changes in the behavior pertaining to how Shopify Order tags are synced to Klaviyo. As detailed in our Reviewing Your Shopify Data Help Center article:

Metrics and profile properties from Shopify are synced in real-time. You should see event data appear in your Klaviyo account within a few seconds of when the event is tracked in your Shopify store.

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.

Outside of the awesome suggested workaround by @mikelondon, another one I can think of would be separately passing a custom event to Klaviyo when these statuses occur after the order was created. This in turn would allow you to trigger a metric-triggered flow off of this custom event to be served to your users. I explained this solution in several other Community posts that I’ve included below:


Badge +1

@mikelondon, your suggested approach is stellar and works great for our custom Klaviyo order follow-up flow based on an order tag. We use the Easy Tagging app to temporarily tag the customer with the order tag, then use that customer tag in a conditional split in the custom Klaviyo flow post-purchase. We then have Easy Tagging remove the tag 1 hour later. Works like a charm, thank you!