Workflow Help: Tag Customer based on product tags in their order

New Member
1 0 0

I have 100 brands. I'd like to create a flow where when a customer places an order, the Flow checks for the line items in their order, checks the products tags, and then based on condition .... then tags the customer with the brand that they bought. For Example: Customer purchases a Karate Kid t-shirt and a Jaws hoodie. The Flow checks the order and proceeds to tag the customer with Karate Kid, and Jaws. This way, I can segment the customer into affinities that I can then use for promotions.

Replies 2 (2)
Shopify Expert
1646 141 421

Jaws and Karate Kid woo haha classics!


There's a common workflow to do this with Order Automator



1) Create a customer tag rule to identify the product tags in each line item, and if the product is tagged Jaws (or whatever) then tag the customer.

2) With customers tagged, you can export lists for remarketing, etc.

3) You can also have it check old orders to tag past customers


You mentioned Flow, if you're talking about Shopify Flow and are on Shopify Plus, you can probably do this there too, I'd assume using a similar workflow. Here's the docs if that's what you were talking about:

• Creator of Order Automator (automation app to save you and your team time on admin tasks)
• Shopify developer for +10 years
• Contributor at Speed Boostr (Shopify optimization / dev team)
• Guy who likes to help people
Shopify Staff
Shopify Staff
11 2 5

Hi @paulbaranda 

in Flow it's usually possible to update or add tags or metafields or decorate notifications using dynamic values for instance the list of vendors or the existing tags of every line item in an order.

For instance I just created a test workflow that for every order would add to its customer tags each vendor included in the order's line items.

I used this liquid that was created by Flow itself when i selected the fields - I tested it using a slack message first:

{% for lineItems_item in order.lineItems %}
{% endfor %}

The only change I applied was adding the comma in the loop that ends up splitting the values in separate tags if needed. 

I'm pretty confident you could do this using order tags or other parameters.