How to Tag Your Existing Shopify Customers (Free Options First, Then the One-Click Way)

Disclosure: I build a Shopify tagging app, MSS Order Tagger: Auto Tags. The free methods come first in this guide, and they work without any app. Prices and details are in the box at the end.

Most tagging guides explain how to tag new orders as they come in. That's the easy half. The harder question is what to do about the customers you already have: everyone who bought before you set anything up. Below are three ways to tag them, free options first, plus three common recipes side by side.

Why tags on existing customers matter

Customer tags are one of the main ways Shopify sorts people. Customer segments can filter on them (for example customer_tags CONTAINS 'wholesale'), Shopify Email can send to those segments, and many email tools and wholesale-pricing apps that sync with Shopify build their audiences or price lists from a customer tag.

The catch is that most tagging automation starts from an event, like a new order. Switch it on today and it tags tomorrow's buyers correctly. Everyone who qualified before today stays untagged until they happen to order again, so your "repeat buyer" segment is missing most of your repeat buyers.

So there are two jobs:

Option A: Bulk edit in the Shopify admin (free, one-off)

The admin can add a tag to many customers at once, and the segment query editor on the Customers page finds them for you.

  1. From your Shopify admin, go to Customers.
  2. Click in the query editor above the customer list and enter a filter, for example number_of_orders >= 2. Run the query.
  3. Check the customer count. If it looks right, select the customers. If there are more than 50, choose Select all 50+ customers in this segment so the action covers every page, not only the first.
  4. Click the ... icon next to Edit customers, then click Add tags.
  5. Type the tag and click Save.

Shopify's help page on customer bulk actions has the full steps, including the mobile version. The filters you can use (number of orders, products purchased, amount spent, customer tags and more) are listed in Shopify's segment query language reference.

Good for: a one-time list of any size. The trade-off: it doesn't maintain itself. Next month's new repeat buyers need another pass, or Option B.

Option B: Shopify Flow (free on Basic and up)

Shopify Flow is Shopify's own automation app. It's free on the Basic, Grow, Advanced and Plus plans. Flow handles the ongoing job well, and it can also work through existing customers in batches.

Worked example: tag repeat buyers as they qualify

  1. From your Shopify admin, go to Apps > Flow, then click Create workflow.
  2. Click Select a trigger and choose Order paid.
  3. Click +, then Condition. Set it to check the order's customer: number of orders is greater than or equal to 2.
  4. Click + > Action on the True branch, choose Add customer tags, and enter repeat-buyer.
  5. Name the workflow and click Turn on workflow.

That's the same pattern Shopify uses in its Flow getting-started guide, which tags a customer "VIP" when an order reaches $500. Shopify's create a workflow page has the editor steps in more detail.

A workflow like this reacts to new orders. To reach customers who qualified before you switched it on, Flow gives you two methods.

Existing customers, method 1: manual runs. Flow can run a workflow manually on a maximum of 50 orders, draft orders, customers or products at a time, for certain triggers. For customers, the supported triggers include Customer created.

  1. Create a second workflow with the Customer created trigger, the same number-of-orders condition (this time on the customer itself), and the same Add customer tags action. Turn it on, because manual runs need the workflow to be on.
  2. Go to Customers and select up to 50 customers.
  3. Click the ... menu button, and in the Apps section click Run Flow automation.
  4. Choose the workflow and click Run workflow. Repeat for the next 50.

Existing customers, method 2: a scheduled sweep. For thousands of customers, a scheduled workflow does the batching for you.

  1. Trigger: Scheduled time. The smallest interval is 10 minutes.
  2. Action: Get customer data, with a query that finds customers who qualify and don't have the tag yet. Get data actions work on lists up to 100 items long.
  3. Add a For each loop (iterate) over the results, with Add customer tags inside it.
  4. Turn the workflow off once the backlog is done.

At one run every 10 minutes and 100 customers per run, that's up to about 600 customers an hour. Two details make it work. First, exclude already-tagged customers in the query itself, or every run fetches the same first 100. Second, test the query before you switch it on: Shopify's Get customer data page warns that when a query fails, "Often the API will return all results (instead of none)."

For a straight one-time backfill, Option A is usually quicker. Flow's real strength is the ongoing workflow.

Option C: a tagging app

A tagging app folds both jobs into one rule. What that typically gets you:

Using my own app as the example (see the disclosure box): you build a rule from dropdowns, with nested AND/OR groups across order and customer conditions. It tags new orders and customers as they come in, and on the Growth or Pro plan one click applies a rule to existing customers and the last 60 days of orders. That 60-day window matters for rules that look at what was in an order: orders older than 60 days are outside the one-click apply, so for those, a one-time Option A pass fills the gap.

Three recipes, side by side

Recipe 1: Repeat buyers (2 or more orders)

Recipe 2: Wholesale customers

Say your wholesale orders already carry an order tag wholesale (from a wholesale order form or from draft orders you create), and your price list or theme checks for a customer tag wholesale.

Recipe 3: Customers who bought from a product line

Say your candle products carry the product tag line:candles, and you want to tag their buyers bought-candles for a cross-sell email.

Pitfalls worth avoiding

Test on a small slice first. Run a Flow workflow manually on two or three customers, or check the segment count before you bulk-edit. A filter with a typo can match far more customers than you meant.

Plan removal before you add. Repeat buyers stay repeat buyers, but wholesale accounts close and product lines change. Decide now what takes a tag off. In Flow that's a second workflow with the Remove customer tags action. In an app, check whether it removes tags automatically and whether you can see when it did.

Keep tag names consistent. Pick a prefix scheme (line:candles, line:soap) and stick to lowercase. Segments, email audiences and price lists match the exact tag text, so Wholesale and wholesale can end up as two different audiences, and renaming a tag later breaks every segment that uses the old name. A one-line note per tag saying why it exists saves the next person on your team from guessing.

Disclosure and prices

About this guide. It was written by the developer of MSS Order Tagger: Auto Tags, a tagging app on the Shopify App Store. Options A and B are free and work without the app.

Prices as shown on the app's Shopify App Store listing on October 27, 2026: Free plan (2 active rules, 100 tag applications per month, no one-click apply to existing records); Starter $4.99/month; Growth $12.99/month; Pro $39.99/month; annual billing is not offered. The one-click apply to existing customers and the last 60 days of orders is on Growth and Pro. There is no free trial.

Listing: https://apps.shopify.com/mss-order-tagging

Next step

Shopify Flow vs. a Tagging App: What Flow Actually Does, and When an App Still Saves You Time

What Flow does, where the effort goes, and when an app saves you time.

View MSS Order Tagger: Auto Tags on the Shopify App Store