Skip to main content

We use cookies to improve your experience. Privacy Policy

Skip to main content
B2B E-Commerce Case Study

Firebox Australia

How Yes AI replaced a broken rewards app with a serverless Shopify points engine for a national fire-protection wholesaler — built around their existing SparkLayer trade pricing and migrated in clean, with zero errors.

B2B
Trade Pricing Aware
0
Migration Errors
~$0
Monthly Infra Cost
2x
Promo Tagging
Serverless
Cloudflare Workers
24/7
Always-On

About Firebox Australia

Firebox Australia (firebox.net.au) is a national B2B supplier of fire-protection equipment — fire extinguishers, hose reels, blankets, signage and accessories — sold to fire-protection contractors, facility managers and government accounts across Australia.

The store runs on Shopify with SparkLayer, a deep B2B overlay that replaces the standard cart and applies trade pricing per customer. SparkLayer integrates with Firebox's ERP for back-office sync — which means order totals are authoritative, but Shopify's catalog prices are not.

Firebox runs a trade rewards programme to thank repeat buyers. By 2026 the previous loyalty app had failed and quarterly balances were being tracked by hand — making the rewards programme both expensive to administer and invisible to the customers it was meant to retain.

Customer Snapshot

  • Industry: Fire Protection Wholesale (B2B)
  • Platform: Shopify + SparkLayer B2B
  • Region: National (Australia)
  • Customer Type: Trade accounts
  • Build: Custom Cloudflare Worker + Shopify App
  • Ongoing Cost: Effectively $0/month infra

The Challenge

Off-the-shelf Shopify rewards apps could not handle Firebox's B2B reality — and the one they had tried was broken.

Broken Loyalty App

The previous off-the-shelf rewards platform had failed at the backend and was no longer awarding points or displaying balances, leaving repeat trade customers without visibility of what they had earned.

Complex B2B Pricing

Firebox runs SparkLayer over Shopify for B2B pricing — meaning Shopify product prices are not the true sale price. Any rewards engine had to read paid order totals, not catalog prices.

No Native Shopify Rewards

Off-the-shelf Shopify rewards apps either charge per-customer fees that scale poorly for a large trade list, or fail to play nicely with SparkLayer's replaced cart and checkout flow.

Manual Quarterly Reconciliation

Quarterly points totals had been tracked in spreadsheets and emailed to customers — a slow, error-prone process that did not match the always-on expectation of trade buyers.

The Solution

Yes AI designed a four-part custom build that sits alongside Shopify and SparkLayer rather than fighting them — and runs for effectively zero cost.

Cloudflare Worker Engine

A serverless points engine on Cloudflare Workers that ingests Shopify order and refund webhooks, calculates points from paid order totals, and writes balances back to customer metafields.

Custom Shopify App

A private Shopify Custom App with read_orders, write_customers, read_products and write_themes scopes — auto-renewable client credentials, no token rotation.

Storefront Rewards Banner

A dark navy and gold banner injected into the Shopify theme via Liquid + CSS + JS, with countdown timer, live points balance, and a "Join Rewards" prompt for zero-balance customers.

Double-Points Tagging

Products tagged double-points in Shopify automatically earn 2x rewards. Tag detection runs in a single batched GraphQL query per order — no per-line-item round trips.

Stack & Features

Cloudflare Worker (serverless, $0 idle)
Shopify orders/paid webhook
Shopify refunds/create webhook
Auto-renewable client credentials
Customer metafield storage
Dawn-based theme integration
Countdown timer banner
Zero-balance "Join Rewards" state
SparkLayer B2B-aware (paid totals, not list prices)
Configurable spend cap
Double-points product tagging
GST-adjusted point calculation

How It Works

An order is paid, points appear. A refund is issued, points roll back. No staff intervention.

1

Order Paid

Shopify fires an orders/paid webhook to the Cloudflare Worker with the real paid total.

2

Tags Resolved

A single GraphQL batch query checks every line item for the double-points tag.

3

Points Calculated

Order total is GST-adjusted, double-points applied where flagged, and the result clamped to the configurable spend cap.

4

Banner Updates

The customer's metafield is updated and the storefront banner shows the new balance on the next page load.

The Results

A rewards programme that runs itself, scales with Firebox, and costs almost nothing to operate.

Historic Data Migration
Zero Errors

Two batches of historic rewards data migrated with zero errors and zero "not found" matches against the customer list.

Infrastructure Cost
Effectively $0 / month

Cloudflare Workers free tier covers Firebox's order volume with significant headroom for growth.

Banner Coverage
Every Theme Page

Banner renders on home, collection, product and cart pages — visible to every logged-in B2B customer.

Token Rotation
None Required

Client credentials grant means the engine renews its own access token on demand — no manual ops.

Why It Works

The engine sits beside Shopify and SparkLayer, not on top of them — so trade pricing stays authoritative, the cart stays untouched, and the rewards UI is just a thin layer on the theme.

No app subscriptions, no per-customer fees, no rotating tokens. The customer owns the engine, the data, and the Worker — and the storefront banner updates the moment an order is paid.

Custom Shopify Build, Not Another Subscription

If you run a B2B Shopify store and the off-the-shelf apps do not fit, Yes AI builds the bit you are missing — on infrastructure you own, with no per-customer fees.