Skip to Content
GuidesLoyaltyEarning rules

Earning rules

Go to Loyalty → Earning Rules to define how contacts accumulate points.

Scope: brand vs outlet (Shape B)

Earning rules are a multi-row scoped substrate — a workspace can have many rules, each scoped to either the whole brand or a specific outlet. The list shows a scope badge on every row; a scope filter above the table narrows the view (All tiers / Brand defaults / This outlet). The create / edit dialog asks where the rule should apply.

ScopeWhere it appliesWhere you author it
Brand (location_id is null)Every outlet under this brand, unless an outlet-scoped rule overridesLoyalty workspace page with the chip strip on “All outlets” — the brand-tier card mounts above the workspace list
Outlet (specific location_id)Only that outletSame page with the chip strip narrowed to one outlet

The chip strip’s ?location= URL state is the scope picker — there is no separate /dashboard/defaults route.

Rule types

Purchase-based

Award points proportional to purchase value:

  • Rate — points per unit of currency (e.g., 1 point per ₹100 spent)
  • Qualifying events — which purchase events count (order_completed by default)
  • Exclusions — exclude specific product categories or discount orders

Event-based

Award points when a contact performs a specific action:

  • Event name — any tracked event (e.g., review_submitted, referral_link_shared, profile_completed)
  • Points — fixed amount per event
  • Cooldown — prevent gaming (e.g., max 1 review reward per day)

Referral-based

Award points when a referred contact converts:

  • Referrer reward — points for the person who referred
  • Referee reward — points for the new contact (welcome bonus)
  • Qualifying event — what the referee must do (first purchase, signup, etc.)

Manual

Award points via the admin UI or API — useful for customer service gestures, contest prizes, or migration from another loyalty platform.

Tier multipliers

If you have tiers configured, earning rules can apply multipliers:

  • Bronze: 1x (base rate)
  • Silver: 1.5x
  • Gold: 2x

A Gold member spending ₹1,000 earns 20 points instead of 10 (at 1 point per ₹100 base).

One-time retrofit note (historical rules)

In May 2026 we corrected two pre-existing bugs on the earning-rule substrate: CREATE was not stamping workspace_id (every rule silently went to brand tier), and LIST hid brand-tier rows from workspace operators. After the fix, every rule that existed before the sweep shows as “Brand default” in the new scope badge column — there’s no way to recover the operator’s original intent for those rows.

If you ran a multi-outlet chain on the old behaviour and want certain rules to be outlet-specific:

  1. Filter the table by Brand defaults
  2. Identify any rule whose intent was “this outlet only”
  3. Deactivate the brand-tier rule
  4. Re-create the rule at the correct scope via the dialog

Rules created after the sweep land at the scope you pick in the dialog.

What’s next

  • Tiers — configure escalating benefit levels
  • Rewards — build the redemption catalog