Most loyalty programmes charge a monthly fee to track things you can track yourself with two metafields and a Liquid snippet. A milestone tracker is one of them. It counts how many times a customer has bought from you, and shows them a celebration message when they hit a round number. Fifth purchase, tenth, twentieth. No points, no tiers, no app.

What You Need

  • Shopify store (any plan with checkout extensions or Order Status Page additional scripts)
  • Access to Shopify Flow (free on Basic and above) or a single custom webhook
  • 10 minutes

Step 1: Create a Customer Metafield

Go to Settings > Custom data > Customers. Add a metafield:

  • Namespace: custom
  • Key: purchase_count
  • Type: Integer
  • Default value: 0

This stores the running tally of how many orders each customer has placed.

Step 2: Increment the Counter on Every Order

Set up a Shopify Flow trigger for “Order Created”. The flow should:

  1. Get the customer from the order
  2. Read the current value of custom.purchase_count (default to 0 if empty)
  3. Add 1 to the value
  4. Update the customer metafield with the new value

If you do not have Shopify Flow, use an order-created webhook pointing to a small automation (Zapier, Make, or a custom endpoint) that does the same thing.

Step 3: Show the Milestone on the Order Status Page

In Checkout Settings > Order Status Page > Additional Scripts, add a Liquid snippet:

<{% if customer %}>
{% assign count = customer.metafields.custom.purchase_count.value | default: 0 %}
{% assign milestone = count | modulo: 5 %}
{% if milestone == 0 and count >= 5 %}
<div style="text-align:center;padding:24px;background:#f9f5f0;border-radius:12px;margin:16px 0;">
<h2>This is order number {{ count }}!</h2>
<p>You just unlocked a milestone. Check your inbox for a little something from us.</p>
</div>
{% endif %}
{% endif %}

Step 4: Send a Milestone Email (Optional)

Back in Shopify Flow, add a conditional branch after the metafield update. If the new count is divisible by 5 (use the modulo operation), send a customer email. Keep it short:

“Five orders. Thank you for coming back that many times. Here is a small token: [discount code or free shipping link].”

Step 5: Show Milestones on the Customer Account Page

If your theme has a customer account page, add a small banner showing their purchase count and the next milestone:

<p>You have made {{ customer.metafields.custom.purchase_count.value | default: 0 }} orders. Next milestone: order number {{ customer.metafields.custom.purchase_count.value | default: 0 | plus: 5 | minus: customer.metafields.custom.purchase_count.value | default: 0 | modulo: 5 }}.</p>

Adjust the maths to show “X orders until your next reward” if you prefer.

Why This Works Better Than a Plugin

Loyalty apps charge between $9 and $47 per month for features most small stores never use. Points, tiers, referral engines, VIP clubs. A milestone tracker does one thing: it acknowledges repeat behaviour. That is the core of loyalty. The rest is decoration.

When a customer sees “This is your 10th order” on the confirmation page, they feel seen. When they get a short email with a discount code after their 5th purchase, they feel rewarded. You spent zero dollars on software and 10 minutes of setup.

What to Avoid

  • Do not show the counter on the product page. It belongs on the order status page and the account page, not in the shopping experience.
  • Do not make the milestone reward a percentage discount. Flat rewards (free shipping, a free sample, a small fixed credit) feel more genuine.
  • Do not skip the email. The order status page is a moment. The email is a memory.

Want more like this? Join MOKU Club for free. Weekly resources, early access to new guides, and occasional templates you can actually use. Join below.

AI-Generated UGC: How Small Brands Put Social Proof on Product Pages Without Hiring CreatorsAiDesign

AI-Generated UGC: How Small Brands Put Social Proof on Product Pages Without Hiring Creators

HeraHeraJuly 7, 2026
monday.com Just Became an AI Work Platform: Your To-Do List Now Does ItselfDesignNewsSmall Businesses

monday.com Just Became an AI Work Platform: Your To-Do List Now Does Itself

HeraHeraMay 7, 2026
Meta Astryx v0.6.0 Just Made It Possible for AI Agents to Build Your Entire UI From a PromptAiDesignNews

Meta Astryx v0.6.0 Just Made It Possible for AI Agents to Build Your Entire UI From a Prompt

HeraHeraSeptember 15, 2026