> For the complete documentation index, see [llms.txt](https://docs.roadmap.so/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roadmap.so/loyalty-and-rewards/troubleshooting/customers-not-earning-loyalty-points.md).

# Customers not earning loyalty points

A checklist for when customers aren't earning points: rule mismatches, unmet limits, the loyalty timeline, and a deleted collection pausing an earning rule.

If customers aren’t earning points, the issue is usually that the action they took doesn’t match your **Ways to earn** rules (or the rule has a limit/requirement that wasn’t met). Use this checklist to quickly find what’s missing.

<figure><img src="https://content.gitbook.com/content/J8asLD4FVCFagK40xEr4/blobs/Kwfq4JrHyr27VScYS3CO/Screenshot_2026%2002%2022_at_4.18.41_PM.png" alt=""><figcaption></figcaption></figure>

### Start with the customer's timeline

Before checking rules one by one, open **Loyalty Program → Manage Customers**, open the customer, and look at the **Timeline** under the **Not Awarded** tab. Roadmap logs the exact reason an order or review didn't earn, for example *"All items in this order were ineligible for points based on your earning rule filters"*. In most cases the timeline names the cause for you. See [Understanding a customer's loyalty timeline](/loyalty-and-rewards/customer-management/understanding-a-customers-loyalty-timeline.md).

### Quick checklist

**Confirm a matching earning rule exists**

* [ ] Go to **Loyalty Program** → **Points** and review **Ways to earn**. Make sure you have a rule for the action the customer took (for example **Place an order** or **Account Signup**).
* [ ] Open the rule and verify limits
* [ ] In **Ways to earn**, click **Edit** next to the relevant rule and confirm you didn’t set a limit that would block the customer (for example a once-per-year limit on birthdays).

**Make sure the trigger actually happened**

Some earning actions only award points after a specific event occurs (for example, a review being **approved and published**). Confirm the customer completed the full requirement.

* [ ] Check the customer record
* [ ] Go to **Loyalty Program** → **Manage Customers** and open the customer to confirm whether points were awarded (and to rule out a storefront display issue). If you’re testing with your own account, use a clean test customer and perform one earning action at a time. This makes it obvious which rule is (or isn’t) firing.

{% stepper %}
{% step %}

#### Step 1: Verify your “Ways to earn” setup

Open **Loyalty Program** → **Points**. On the **Loyalty Points** screen, your earning actions appear under **Ways to earn**.

* To change a rule, click **Edit** next to it.
* To create a new rule, click **Add way to earn**.

Common earning rules you might see include **Account Signup**, **Celebrate a Birthday**, **Place an order**, **Customer Tag**, and **Leave a review**.
{% endstep %}

{% step %}

#### Step 2: Match the customer’s action to the right earning rule

Place an order: points didn’t show up

Check the **Place an order** rule in **Ways to earn**.

* Confirm the customer actually placed an order (not just added items to cart).
* In **Ways to earn**, click **Edit** next to **Place an order** and verify the points rate shown under the rule (for example: **“1 Point for every 1 AUD spent (shipping excluded)”**).

If your rule excludes shipping (as shown in the rule description), customers may earn fewer points than expected when they compare against the checkout total.

Account Signup: points weren’t awarded

Check that **Account Signup** exists in **Ways to earn** and that it’s configured to award points (the rule description shows the amount, for example **“50 Points awarded on signup”**).

* If the customer checked out as a guest, they may not have completed an account signup event.
* If you changed the signup rule after customers already signed up, earlier signups won’t retroactively earn points.

Celebrate a Birthday: points didn’t trigger

Birthday points depend on the customer having a birthday on file and the birthday date being reached.

* In **Ways to earn**, click **Edit** next to **Celebrate a Birthday** and check the rule’s limit (the list may show a limit like **“Limit of 1 per year”**).
* If the customer already earned birthday points within the limit window, they won’t receive them again until they’re eligible.

If you’re testing, make sure your test customer profile has a birthday set and that your expectation matches the rule’s limit timing.

Leave a review: points didn’t trigger

In Roadmap, the **Leave a review** earning rule is awarded when the review is **approved and published** (this is shown in the rule description).

* Confirm the customer actually submitted a review.
* Confirm the customer has a loyalty program
* Confirm the review has been published (unapproved reviews won’t earn points yet).
* Check the rule amount by clicking **Edit** next to **Leave a review**.

Customer Tag: points didn’t trigger

The **Customer Tag** earning rule awards points when a specific tag is applied to the customer (the rule description shows the tag name and whether it’s repeatable).

* In **Ways to earn**, locate **Customer Tag** and confirm the tag name shown in the rule description matches (case-sensitive) what you’re applying (for example: `pouch-returned`).
* Click **Edit** to confirm whether the rule is **repeatable** or intended as a one-time award.

If the wrong tag is applied (or applied to the wrong customer), the points won’t award—even if everything else looks correct.
{% endstep %}

{% step %}

#### Step 3: Check the customer’s points in “Manage Customers”

If the earning rules look correct but the customer claims they didn’t earn points, confirm what Roadmap recorded for that customer:

Open Manage Customers

Go to **Loyalty Program** → **Manage Customers**.

Find the customer

Search for the customer and open their record.

Verify points and recent activity

Confirm the customer’s current points balance and check whether the expected points were added after the qualifying action. If the points are present in **their loyalty profile** but the customer can’t see them on your storefront, they may of undertaken the recent action under a different email address.
{% endstep %}
{% endstepper %}

### A deleted collection paused an earning rule

The **Place an order** rule's product eligibility can be scoped to collections (only a collection earns, or everything except a collection earns). If that collection is later **deleted in Shopify**, the rule is left pointing at nothing. Roadmap detects this and steps in:

* An alert appears on the **Loyalty Program** dashboard: *A 'Ways to earn' rule is linked to a deleted collection*.

<figure><img src="https://393112916-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ8asLD4FVCFagK40xEr4%2Fuploads%2FTJaNc7L8TmdlqGKJUjKV%2FScreenshot%202026-09-02%20at%2012.04.26%E2%80%AFPM.png?alt=media&amp;token=e7a4d338-fc47-4ae8-a407-09419f468512" alt=""><figcaption></figcaption></figure>

* The affected rule is **set to Draft**, so customers will not earn points on eligible orders until it's fixed.

<figure><img src="https://393112916-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ8asLD4FVCFagK40xEr4%2Fuploads%2FcLgeQaIS2Z9nD2VOCeS3%2FScreenshot%202026-09-02%20at%2012.04.49%E2%80%AFPM.png?alt=media&amp;token=d93aa247-98c1-4882-b7b6-cc1fe0c6b526" alt=""><figcaption></figcaption></figure>

To fix it:

1. Click **Fix this rule** in the alert. (If you dismissed it, open **Points → Ways to earn** and edit the affected rule; it's the one sitting in **Draft**.)
2. In **Product eligibility**, reselect a current collection, or switch to **All products earn points**.

<figure><img src="https://393112916-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ8asLD4FVCFagK40xEr4%2Fuploads%2FeAgzbiMCQBxkop68aUcO%2FScreenshot%202026-09-02%20at%2012.06.07%E2%80%AFPM.png?alt=media&amp;token=66e572df-e45f-4708-8e64-efc7da757975" alt=""><figcaption></figcaption></figure>

1. Set the rule's **Status** back to **Active**, then **Save**.

Once fixed, reach out to Roadmap support and we'll **backdate the missing points** for eligible orders placed while the rule was paused.

{% hint style="warning" %}
Before deleting a collection in Shopify, check whether any **Ways to earn** rule (or [redemption reward scope](/loyalty-and-rewards/points-and-ways-to-earn/set-up-an-amount-discount-reward.md)) uses it, and repoint the rule first.
{% endhint %}

### When to contact support

If none of the checks above explain the issue, collect these details before clicking **Contact Support** (on the **Loyalty Program** page):

* Which earning action you expected (for example **Place an order** or **Leave a review**)
* A screenshot of the relevant rule from **Points** → **Ways to earn** (including the rule description)
* The customer email (or Shopify customer name) and the order number / review details / tag applied
* What you see in **Manage Customers** for that customer


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.roadmap.so/loyalty-and-rewards/troubleshooting/customers-not-earning-loyalty-points.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
