30-day free trial • No credit card required

Reward your best customers with automatic tier-based discounts.

Codem Rewards Engine turns one-time shoppers into loyal customers with automated tier assignment, birthday rewards, exclusive campaigns, and tier-locked products — all running natively inside Shopify.

Works with any Shopify theme No coding required Setup in under 10 minutes
Plans Preview
Silver
$29.99/month
Core dashboard, tier workflows, discounts, global settings, and birthday rewards.
Gold MOST POPULAR
$39.99/month
Adds tier restriction for growing stores.
Platinum
$49.99/month
Unlocks allow downgrade and campaign banners for the complete plan.

Preconditions

Before installing Codem Rewards Engine, please confirm your store meets the following requirements. The app is designed to work natively with Shopify and depends on a few standard features being enabled.

  1. Customer accounts must be enabled — tier assignment is calculated per customer and requires shoppers to be logged in for discounts to be applied automatically.
  2. Shopify Flow must be installable — the app uses Shopify Flow to track orders and recalculate tiers. If Flow is not already installed, the app will prompt you to install it on first use. Available on all current Shopify plans.
  3. Theme app embeds must be supported — the app uses theme app extensions to display tier discounts and campaign banners. Compatible with all Online Store 2.0 themes (Dawn and similar).
⚠ Important

Customer order data is the foundation of automatic tier assignment. We recommend enabling customer accounts and ensuring your checkout captures customer email at minimum, before installing the app.

1. Initial Setup

Getting Codem Rewards Engine running on your store takes about 10 minutes. The setup is split across three steps: installing the app, enabling the Shopify Flow workflows, and activating the theme app embed.

Step 1 — Install the app

  1. Click Install on Shopify from this page (or from the Shopify App Store).
  2. Approve the requested permissions. Your 30-day free trial begins automatically — no payment required.
  3. The app opens its admin dashboard inside Shopify Admin. You're now ready to configure your first tiers.

Step 2 — Set up Shopify Flow

Tier assignment and order tracking run through Shopify Flow. The app handles most of this for you, but Flow must be installed and the workflow templates enabled.

  1. Inside the app admin, go to Customer Tiers.
  2. Click Open Shopify Flow. If Flow is not installed, you'll be prompted to install it.
  3. Enable the following Seven workflows:
    • Order Tracking & Tier Assignment — runs when a new order is placed
    • Order Paid — Updates the order record with correct order status
    • Order Cancelled — clears amounts when an order is cancelled
    • Refund Created — adjusts tier-eligible spend after refunds
    • Order Edited — updates totals when orders are modified
    • Bulk Customer Sync (Midnight) — recalculates all customer tiers daily
    • Queue Processor — processes tier updates from the daily sync
Why all of these?

Each workflow keeps your tier data accurate. Tier assignment isn't just about new orders — it must also reflect refunds, cancellations, and edits. The daily sync acts as a safety net to catch anything that slipped through.

Step 3 — Enable the theme app embed

The app embed handles displaying tier access restrictions and campaign banners on your storefront.

  1. From the app admin, click Enable Theme App Embed. This opens the Shopify theme editor.
  2. Toggle on both Codem Rewards Engine app embeds under App Embeds (Campaign Banner and Access Restrictions).
  3. Save the theme.

2. Storefront Customization

A few small additions to your theme give customers visibility into their tier, their discounts, and let them add their birthday to unlock birthday rewards.

Theme app extensions

The app installs the following theme extensions automatically when you enable the embed:

  • Tier campaign banner — displays the active campaign banner at the top of the storefront when the customer's tier matches.
  • Access restrictions — Hides the product, hide the add to cart button and block the add to cart button as per restriction rules .

Customer account birthday field

For the Birthday Month Discount to work, customers need a way to enter their date of birth. Codem Rewards Engine provides a Birthday block, built as a Customer Account UI extension, that can be added to your customer account page.

  • We have to add the birthday block to the accounts page of customer based on the customer accounts using by the store. To get the information about adding the block please refer to the video added in the birthday discount page based on the customer accounts.
  • The format of the date entered by the customer is YYYY-MM-DD
  • Once a customer saves their birthday, it cannot be edited again — this prevents abuse of the birthday discount.
Theme compatibility

Codem Rewards Engine works with all Online Store 2.0 themes. Compare-price display uses configurable CSS class selectors so it can be adapted to themes that use non-standard class names. {{SUPPORTED_THEMES_LIST}}

3. Features

Codem Rewards Engine is built around six core capabilities. Each is fully configurable from the app admin and works on its own — enable only what you need.

Automated Tier Assignment

Automatically place customers into tiers based on their spend.

How it works

You define tiers (e.g. Bronze, Silver, Gold, Platinum) with spend thresholds. The app tracks each customer's order history and assigns the correct tier based on their total spend within a configurable time window.

What you can configure

  • Up to 10 tiers per store
  • Tier name, minimum spend, maximum spend, and status (active / inactive) for each tier
  • Order duration for the spend calculation (e.g. last 30 days, 90 days, 6 months, 1 year, or all-time)
  • The merchant can remove an inactive tier if they no longer need it.

How tier assignment is triggered

  • When a new order is placed (Shopify Flow)
  • When an existing order is paid, cancelled, refunded, or edited — this updates the order history log only, and does not directly trigger a tier reassignment
  • Once per day, every customer's tier is recalculated during the midnight sync, using their order history log — this is what applies any changes from paid, cancelled, refunded, or edited orders
Example

Customer's existing spend: $800

Merchant tier config: Silver ≥ $500, Gold ≥ $1,000

New order placed: $300 → total = $1,100

Result: Customer is automatically promoted from Silver to Gold.

Daily reconciliation

Every night, the app runs a two-step sync to guarantee all customer tiers are correct:

  1. Midnight Bulk Sync — pulls every customer from Shopify and queues them for processing.
  2. Queue Processor — runs in batches every 10 minutes, recalculates each customer's spend, and updates their tier metafield.

Every night, all customers are reprocessed from the beginning using their order history. This automatically fixes any outdated customer tier, changes to orders such as edits, refunds, or cancellations, manually incorrect tier assignments, and updates to tier thresholds made by the merchant.

Tier-Based Automatic Discount

Apply discounts automatically based on customer tier — shown across the entire store.

How it works

Each tier can have its own discount. The discount is applied automatically at checkout through a Shopify Discount Function. No coupon codes, no manual steps.

What you can configure

  • Discount type — percentage or fixed amount
  • Discount value — e.g. 10%, $20
  • Status — active or inactive per tier
  • Exclusions — exclude specific products or collections from receiving the discount

Combining with other discounts

Tier discounts use Shopify's native Discount Function, which means:

  • They stack correctly with manually-issued discount codes (subject to your discount combination settings).
  • When a Birthday Discount is also eligible, the system applies whichever discount is higher (see Birthday Month Discount below).
Example

Customer tier: Gold

Gold tier discount: 15%

Product price: $100

Cart and checkout total reflect the 15% discount automatically.

Birthday Month Discount

Reward customers during their birthday month — a personal touch that builds loyalty.

How it works

Customers add their date of birth to their account once. Based on their birthday month/date/weeks, a special birthday discount is automatically applied to every order they place. The discount is evaluated based on the store's time zone.

What you can configure

  • Discount title, type, and value (percentage or fixed)
  • Validity window — date, week, or month
  • Excluded tiers — for example, if you only want this for entry-level customers, exclude Platinum
  • Excluded products and collections
  • Active / inactive toggle
  • Date of Birth format — displayed as YYYY-MM-DD (does not currently match your store's regional date format settings)

Priority rules

If a customer is eligible for both their tier discount and a birthday discount on the same order, the higher discount wins. The system never stacks both — this protects your margin while still feeling generous.

Example

Customer: Gold tier, DOB July 15

Gold tier discount: 5% • Birthday discount: 10%

Customer logs in on July 8: 10% birthday discount applies to every order in July.

Customer logs in on August 1: Back to 5% Gold tier discount.

Why birthday can't be edited

Once a customer saves their date of birth, it locks. This prevents customers from changing their birthday repeatedly to claim the discount more than once a year.

Tier-Based Purchase Restriction

Lock products or collections to specific tiers — perfect for VIP-only access.

How it works

You decide which tiers can purchase which products. Customers below the required tier see one of three behaviours — and you control the messaging.

Three restriction behaviours

BehaviourWhat the customer seesBest for
Hide ProductProduct is completely removed from listings and PDP. Direct URL shows a custom message.Exclusive launches, VIP-only collections
Hide Add to CartProduct is visible but the Add to Cart button is replaced with a custom message.Teasing upgrades — "Reach Gold tier to unlock"
Disable Add to CartOn all pages except the Product Detail Page (PDP), a tooltip is displayed. On the PDP, a message is displayed instead.Most visible — encourages upgrades through clear messaging

What you can configure

  • Product-level rules — Pick specific products and the tiers which restricts the customers of that tier to buy them.
  • Category-level rules — apply restrictions to entire collections
  • Guest tier — Choose which tier guest (logged-out) customers or new users who doesn’t make any orders are treated as
  • Custom messages — separate copy for each of the three behaviours
Example

Collection: Limited Edition

Allowed tiers: Gold, Platinum

Behaviour: Hide Product

Bronze and Silver customers never see Limited Edition items. Gold and Platinum see them as normal.

Tier-Based Campaign Banner & Exclusive Page

Run time-limited campaigns visible only to specific tiers.

How it works

Create promotional campaigns that appear as a banner at the top of your store — but only for the tier you choose, during the time window you set. Clicking the banner takes the customer to a dedicated campaign page showing the products selected by the merchant for the campaign.

What you can configure

  • Eligible tier — only one tier per campaign
  • Banner title and body text
  • Banner style — background colour, text colour, font size, font family
  • Start & end date/time — automatically respects your store's time zone
  • Destination collection — the page customers land on when they click
  • Status — active or inactive
  • Remove an inactive tier if you no longer need it

Automatic scheduling

You don't need to manually publish or unpublish anything. The app uses scheduled tasks to:

  • Show the banner exactly at the start time
  • Publish the associated collection at the start time
  • Hide the banner exactly at the end time
  • Unpublish the collection at the end time
  • Mark the campaign as Expired
Five active campaign at a time

You can create as many campaigns as you like, but up to 5 active campaigns per tier and 10 inactive campagin per tier are supported, provided their schedules do not overlap. This keeps your storefront focused.Merchants can delete inactive campaigns if they are no longer needed.

Example

Campaign: Gold Exclusive Spring Sale

Tier: Gold • Active: March 1, 10:00 AM → March 10, 11:59 PM

Scenario: Gold customer logs in March 5 → sees banner, clicks → lands on a Gold-only sale page. Silver customer logs in March 5 → sees no banner. Gold customer logs in March 12 → no banner, campaign expired.

Global Tier Calculation Settings

Centralised rules that control how customer spend is measured everywhere.

Three switches affect every tier calculation across the app — for both real-time order processing and the daily bulk sync.

SettingWhat it does
Include TaxesWhen on, tax is counted toward customer spend. When off, only the subtotal counts.
Include ShippingWhen on, shipping charges count toward spend. When off, only product spend counts.
Allow Tier DowngradeWhen on, customers can move down to a lower tier if their recent spend drops.
Example

Settings: Include Taxes ON, Include Shipping OFF, Allow Downgrade OFF

Customer spend drops from $12,000 to $8,000.

Result: Customer remains in the higher tier because downgrade is disabled.

4. How Tier Calculation Works

Understanding the math behind tier assignment helps you configure thresholds that match how your business actually grows customer value.

The spend formula

For each customer, the system calculates:

Customer Spend

Spend = Σ (Order Subtotal [+ Tax if enabled] [+ Shipping if enabled])

across all orders within the configured Order Duration window

Order duration window

The window determines how far back the system looks when summing spend. Common choices:

  • 30 days — most aggressive, rewards recent behaviour
  • 90 days — quarterly view, balances recency and retention
  • 6 or 12 months — recognises long-term loyalty
  • All-time — pure lifetime value, never resets

Tier movement

Order placed
Flow tracks order
App recalculates spend
Tier updated

Order events (paid, cancelled, refunded, edited) update the customer's order history log, and every customer's tier is recalculated once nightly during the midnight sync using that log. A new order placed through Shopify Flow can trigger an immediate reassignment; other order changes are reflected the next time the nightly sync runs.

What happens when a customer changes tier

  • Their tier_id metafield is updated immediately.
  • The next page they load reflects their new tier's discount across the store.
  • If a Campaign Banner is active for their new tier, it appears for them.
  • Any Purchase Restrictions that previously hide products will adjust visibility on the next page load

5. Free Trial

Every install comes with a 30-day free trial. No credit card required, no setup fee, no commitments.

What's included in the trial

The free trial gives you access to every feature across all plans. This is deliberate — we want you to fully evaluate Codem Rewards Engine before deciding which plan fits your business.

FeatureTrial Access
Automated Tier Assignment
Tier-Based Discount
Birthday Month Discount
Purchase Restriction Controls
Campaign Banners
Analytics Dashboard

Trial timeline

WhenWhat happens
Day 1 (install)Welcome banner appears in the app showing days remaining
Day 26Urgent warning banner appears in-app, reminder email sent
Day 30 (end)Full-screen paywall appears, features blocked, email sent

After the trial

If the trial expires without a paid plan selected, your current plan is set to null and your tier configuration, discount rules, and campaign settings (stored as Metafields and Metaobjects) are deleted. We recommend selecting a paid plan before your trial period ends to avoid losing your configuration.

Reinstalls don't reset the trial

If you uninstall and later reinstall the app, your original trial dates are preserved. Days remaining continue from where you left off. This prevents reinstall loops and keeps the trial fair.

Need more time?

If 30 days isn't enough to fully evaluate the app, contact us and we'll review your case. We routinely grant extensions for stores still in proof-of-concept.

30-day free trial • No credit card

Choose the plan that fits your store

Every plan includes automated tier assignment and tier-based discounts. Upgrade as you grow.

Silver
Startup
Core loyalty features for stores getting started with tier-based rewards.
$29.99 /month
Billed monthly
  • Dashboard
  • Tier Assignment & Workflow
  • Tier Based Group Discount
  • Global Settings
  • Birthday Discount
  • × Tier Restriction
  • × Email Notification
  • × Allow downgrade
  • × Campaign Banners
Start free trial
Platinum
High Volume
Complete access for stores that need the full campaign and tier control set.
$49.99 /month
Billed monthly
  • Dashboard
  • Tier Assignment & Workflow
  • Tier Based Group Discount
  • Global Settings
  • Birthday Discount
  • Tier Restriction
  • Email Notification
  • Allow downgrade
  • Campaign Banner
Start free trial

7. FAQ & Support

Do customers need accounts for this to work?

Yes. Tier assignment is calculated per customer and requires login. Guests can still shop normally and can be treated as a configurable default tier (typically the lowest one) for visibility rules.

Do my customers see discount codes at checkout?

No. Tier discounts are applied automatically using Shopify's Discount Function — there are no codes to enter. The discount appears as a line item in the cart and checkout.

Can I run a tier discount and a regular discount code at the same time?

Yes, subject to your discount combinations settings in Shopify. Tier discounts are order-level discounts and can stack with order or shipping discounts when configured to do so.

What happens if a customer returns an order?

The system automatically adjusts their tier-eligible spend when a refund is processed. If the refund causes their spend to drop below their current tier's threshold and downgrades are enabled in Global Settings, their tier will move down accordingly.

How many tiers can I create?

Merchants can use all 10 tiers without restrictions.

Does the app work with my theme?

Codem Rewards Engine works with all Online Store 2.0 themes. The compare-price display uses configurable CSS selectors so it can be adapted to any theme. {{SUPPORTED_THEMES_LIST}}

Is the app GDPR compliant?

Yes. The app handles the standard Shopify privacy webhooks: customers/data_request, customers/redact, and shop/redact. When a customer requests data deletion or your store uninstalls the app, all related customer data is removed from our systems within the required window.

What data is stored outside Shopify?

Order history (used for tier calculation), error logs, and store-level configuration are stored in a managed Firebase database. All other configuration (tier rules, discount rules, campaign settings) is stored as Shopify Metaobjects inside your store.

How do I cancel?

Uninstall the app from your Shopify admin. Billing stops immediately. All your data is removed from our systems within 48 hours of uninstall.