Skip to main content

Storefront & customer account

How to use it

Give customers a place to see and spend rewards:

  1. Add the loyalty block to your theme — a dedicated "/rewards" page plus a header balance chip work well. (Theme editor → Add block)
  2. Enable the Customer Account extension so returning, logged-in customers see loyalty in their account. (Loyalty → Storefront)
  3. Wire the tier metafield into your theme for tier badges. (Theme editor)

⏱ ~10 min · 💳 Starter+ · 🎯 Logged-in shoppers are enrolled on their first visit

The storefront widget

The widget is the customer's window into the programme. For a logged-in shopper it renders:

  • Balance and its cash value at your redeem rate
  • Tier and progress to the next tier ("200 points to Gold")
  • The reward catalogue — what they can redeem right now
  • Any running campaign banner ("Double points this weekend")
  • Entry points for check-in, birthday capture, and reviews where enabled

For a logged-out visitor it degrades to a friendly "start earning" state rather than an error.

Enroll-on-login

Shopify emits no "customer logged in" event, so the widget's first authenticated load is the only login-time signal the programme gets. It uses that to provision a loyalty profile for a logged-in customer who doesn't have one yet. The practical effect: a customer can earn (daily check-in, hold a balance, redeem) the moment they log in — they don't have to place an order first. A later customers/create / customers/update webhook enriches the same profile (email, marketing consent) rather than creating a duplicate.

Security

The widget talks to the platform through the Shopify App Proxy, and every request is verified against the proxy signature before it's trusted. The programme never provisions or reads a profile from a client-supplied customer id — only from the signed logged_in_customer_id.

The Customer Account extension Beta

Beyond the theme widget, a Customer Account extension surfaces loyalty inside Shopify's native customer account area — the logged-in "My account" experience — so balance, tier, and rewards are available where customers already manage orders and addresses. It's an imperative Shopify UI extension (kept lean to fit Shopify's extension bundle budget) that reads the same config and ledger as the storefront widget.

SurfaceWhere it livesBest for
Storefront widgetYour theme (product page, cart, dedicated page)Discovery + in-session redemption
Customer Account extensionShopify's native account areaReturning customers managing their status

Installing

  1. Configure the programme first (earn rate, tiers, rewards) — the customer surfaces render straight from that config, so there's nothing to re-enter.
  2. Add the widget block to your theme where it fits your funnel — a common pattern is a dedicated "/rewards" page plus a compact balance chip in the header.
  3. Enable the Customer Account extension to cover returning, logged-in customers.
  4. Wire the tier metafield into your theme (see Tiers & VIP) so tier badges and perks show up.

Best practices

Give loyalty a permanent home (a "/rewards" page) and an ambient touch (a header balance chip). Discovery is the hardest part of loyalty adoption.

Show progress, not just balance. "200 points to Gold" converts far better than "1,800 points."

Enable both surfaces. The theme widget catches in-session shoppers; the account extension catches returning customers who arrive logged in.

Don't hide redemption behind a wall. If customers can't see and spend their points easily, you carry the liability without the retention benefit.