How to update membership tiers automatically by order count and amount spent in Shopify: customer segments

Image showing customers split into customer segments by purchase history and their membership tiers updated automatically

In short: You can update membership tiers automatically based on each customer's purchase history. To do this, combine customer segments based on order count or amount spent with the Shopify Flow trigger Customer joined segment. When a customer joins a segment, the Update customer metafield action rewrites the membership tier value, so you don't need to review tiers by hand every time an order comes in. Howdy's metafield block then shows the updated value on the account page as is. To change the tier criteria, you only need to edit the numbers in the segment conditions. You don't need to change your Shopify Flow workflows or your theme code.

Howdy is an app that adds a sign-up form to Shopify's new customer accounts. You can use the information collected with the sign-up form as conditions for customer segments, and you can also use the purchase history Shopify keeps by default, such as order count and amount spent. You create segments and set up Shopify Flow workflows in the Shopify admin, and you show the tier value on the account page with Howdy's profile page feature. Purchase history conditions are managed with the same segment system as conditions based on the birthdays and prefectures collected with the sign-up form, so you don't need to learn a separate admin for each field you collect.

Once you finish the steps in this article, Shopify Flow automatically rewrites the membership tier of customers whose amount spent or order count meets the conditions. You no longer need to edit metafields by hand or review tiers every time your order volume grows. Because you can adjust the tier criteria just by changing the segment conditions, you can also lower the criteria only during a campaign period.

Key points

  • In the customer segment editor, choose the Number of orders or Amount spent filter to create a segment based on purchase history
  • The BETWEEN operator lets you create a segment for a range of amounts. The range includes both the start and end values
  • Create the membership tier customer metafield with the type set to List of single line text
  • The Shopify Flow trigger Customer joined segment starts a workflow when a customer joins the target segment
  • Add the Update customer metafield action after the trigger to rewrite the membership tier with a value that matches the segment the customer joined
  • Test orders and deleted orders are excluded from customer segment calculations

How do you create customer segments based on order count or amount spent?

In the Shopify admin, go to Customers > Segments and click Create segment. From the list of filters, choose Number of orders (number_of_orders) or Amount spent (amount_spent). Then enter an operator (equal to, not equal to, greater than, less than, less than or equal to, greater than or equal to, or between) and the number to use as the condition, and save. This creates a segment of the customers who meet the condition. If you use the greater than or equal to operator on amount spent, the segment includes only customers who have spent at least the amount you set. If you use BETWEEN, the segment includes only a range of amounts with a lower and upper limit. The BETWEEN range includes both the start and end values. If you click Run query (「クエリを実行」) before saving, the number of matching customers and a list of them appear, so you can adjust the numbers while checking who is included.

Sources: Shopify Help Center: "Shopify-based customer segment filters" / Shopify Help Center: "Creating customer segments"

To create segments based on address conditions, see How to segment customers by prefecture in Shopify and send coupons: area-limited campaigns.

How do you prepare the customer metafield for membership tiers?

In the Shopify admin, go to Settings > Metafields and metaobjects > Customers, click Add definition, and enter a name (for example, Membership tier) and a namespace and key (for example, custom.rank). Choose List of single line text as the type, then add the tier names (for example, Regular, Silver, and Gold) with Add items under Validation. The tier can then be set only to one of the values you added. If you've already created a membership tier metafield to show on the account page, you don't need to create a new one. Select that same metafield in the workflow in the next steps. The steps for adding the metafield to Howdy's metafield block and showing it on the account page are in How to show membership tiers on the account page in new customer accounts.

Source: Howdy Help: "① [Preparation] How to set up customer metafields"

How do you update membership tiers automatically when a customer joins a segment?

Open the Shopify Flow app and click Create workflow to create a new workflow. Choose Customer joined segment as the trigger, and select the order count or amount spent segment you created earlier. Next, add the Update customer metafield action, choose the membership tier field as the metafield, enter the matching tier name (for example, Gold) as the value, and save. From then on, the membership tier value is rewritten automatically when a customer joins that segment.

Sources: Shopify Help Center: "Customer joined segment" / Shopify Help Center: "Update customer metafield"

For another workflow example that sets customer tags and metafields automatically at sign-up, see How to automate post-sign-up tasks with Shopify Flow: tagging and metafield updates.

How do you test the setup?

Add or import a test customer to your store, create a customer segment with conditions that customer meets, and select that segment in the workflow trigger. The Shopify Help Center recommends these steps for testing this trigger.

Test orders and deleted orders are excluded from segment calculations, so you can't test order count or amount spent segments with test orders. When you open a segment and click Apply, the matching customers are listed below the editor, and the number of customers appears above it.

Sources: Shopify Help Center: "Customer joined segment" / Shopify Help Center: "Managing customer segments"

Related articles

Frequently asked questions

Q. How do you create customer segments based on order count or amount spent?A. In the customer segment editor, choose the Number of orders or Amount spent filter, enter an operator and the number to use as the condition, and save. You can also create a segment that combines both conditions, and the BETWEEN operator lets you set a lower and upper limit for the amount.
Q. How do you prepare the customer metafield for membership tiers?A. Create it in the Shopify admin under Settings > Metafields and metaobjects > Customers. If you set the type to List of single line text, only the tier names you decide on can be saved as values. If you've already created a metafield to show membership tiers, you can use it as is without creating a new one.
Q. How do you update membership tiers automatically when a customer joins a segment?A. Create a workflow in Shopify Flow, select the target segment in the Customer joined segment trigger, and set the membership tier value with the Update customer metafield action. The workflow starts when a customer joins the selected segment.
Q. Can you test the setup with test orders?A. No. Test orders and deleted orders are excluded from customer segment calculations. Customers who have placed only test orders aren't included in sales-based segments such as order count or amount spent, so they never join the segment that triggers the workflow.

Try Howdy free for 14 days

You can start updating membership tiers automatically by order count and amount spent by creating customer segments and Shopify Flow workflows. Our dedicated team at Howdy creates your customer metafields, sets up your sign-up form fields, and places the blocks on your profile page for free.

Start your 14-day free trial on the Shopify App Store

Back to Blog

Try Howdy free for 14 days

Our dedicated team handles the initial setup for free. Questions? Reach us through our contact form.