> ## Documentation Index
> Fetch the complete documentation index at: https://help.lobyco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Why isn't a customer's challenge progressing?

> Use the challenge report to see which of a customer's purchases counted, and work out why one didn't.

This page helps you work out why a customer's challenge isn't progressing. The challenge report tells you which kind of problem it is. One or two settings then tell you the cause.

## Start here: the challenge report

"I bought it, but my challenge didn't move" is the most common question a challenge raises. Download the report and find the customer in it.

1. Go to **Campaigns** and open the campaign the challenge belongs to.
2. Open the **⋯** menu on the challenge's row and select **Download report**. It's only there for **Active** and **Expired** challenges. If it isn't there, check the challenge's **Status**. A **Draft** counts no purchases, so go to [The challenge was disabled](#the-challenge-was-disabled), which also covers a challenge that was never published.
3. Open the file and filter the **MemberId** column to the customer's ID. To get the ID, go to **Member management → Members** and pick a value to search by under **Search by**, such as **Email** or **Phone**. The customer's member ID is at the top of their page.

Every row is a purchase that changed the customer's progress. **If the purchase they're asking about isn't there, it didn't count.** The causes below explain why.

> [!NOTE]
>
> While the challenge is running, a report can be up to 30 minutes old. If the purchase was made in the last half hour, download the report again later. Once the challenge has ended, every download is the same final report. A purchase Lobyco processes after that report was made isn't in it.

## Reading a report row

| Column | What it tells you |
| - | - |
| **ReceiptId** | Which purchase counted. Look for the one the customer is asking about. |
| **Progress** | How much that one purchase added. It isn't a running total, so add up a card's rows to see how far the customer has got. It's negative or zero for a refund. |
| **RequiredProgress** | How much progress completes a [card](/business-documentation/activities/challenges). It shows *Multiple rules* for a [tiered challenge](/business-documentation/activities/challenges/create-a-challenge#tiered-challenges), or for one with several rules. |
| **CardId** | Which card the progress went on. A new ID means the customer completed a card and started another. |
| **ClosedAt** | When the card was completed. It's empty while the card is still open. |
| **StoreId** | Which store the purchase was made in. |

[Challenge report](/business-documentation/activities/challenges/challenge-report) explains every column.

## Working through the likely causes

The causes below are grouped by what the report shows, in the same order as the chart. Open a cause to see what to look for. Where it points to a setting, open the challenge to check it.

```mermaid actions={false} theme={"system"}
flowchart LR
    B[What does the<br/>challenge report show<br/>for the customer?]
    B -->|No rows| C[Not activated,<br/>audience, dates,<br/>location or disabled]
    B -->|No row for the purchase| F[A setting kept it<br/>from counting]
    B -->|A negative row| G[A refund took<br/>progress back]
    B -->|Too much or too little| H[Unit of<br/>measure]
```

### No rows for the customer

The challenge isn't counting any of the customer's purchases. If none of the customer's purchases were counted, check [the products](#the-products-didnt-count), [discounted items](#discounted-items-were-excluded) and [the minimum](#the-purchase-was-below-the-minimum-or-paid-the-wrong-way), because a purchase that didn't count leaves no row.

> **The customer hasn't activated the challenge**
>
> Check **Pre-activated** on the **Settings** tab. If it's off, each customer has to activate the challenge in the app before anything counts. Lobyco Nexus doesn't show whether a customer has activated a challenge, and the report can't show it either, because a customer with no counted purchase isn't in it. Ask the customer whether they activated the challenge in the app.
>
> If the challenge is also hidden with **Hide Challenge from App List**, the customer has nowhere in the app to activate it.
>
> You can still change both settings while the challenge is active. Turn on **Pre-activated**, and the customer's purchases count from their next one, without them activating anything. Or turn off **Hide Challenge from App List**, so the customer can find the challenge and activate it. Either way, purchases made before then don't count, and they aren't added later. Both settings apply to every customer of the challenge, not only this one.

> **The customer isn't in the challenge's audience**
>
> Open the **Segmentation** tab. If it's set to **Target only selected segment**, the challenge is only for customers in the segments picked there. Nexus can't show whether one customer is in a segment. Go to **Segmentation → Segment templates** and select the segment's row. Its rules show on the screen that opens. Compare them with the customer's details under **Member management → Members**. [Segments and Audiences](/business-documentation/audiences-and-data) explains how segments work.

> **The purchase was outside the challenge's dates or locations**
>
> On the **Activity details** tab, compare **Start date**, **End date** and **Chain(s)** or **Store(s)** with when and where the customer shopped.

> **The challenge was disabled**
>
> Check the challenge's **Status** in the campaign's activity list. A [disabled](/business-documentation/activities/challenges/edit-or-disable-a-challenge#stop-a-challenge) challenge goes back to **Draft**, and a draft doesn't count any purchases. Purchases made while it was disabled aren't added later, even once you publish it again. Once it's published again, **Status** shows **Active**, so a past disable only shows in the report, as missing rows for that period.

### No row for the purchase

The customer has rows, but not for this purchase. One of the challenge's settings kept it from counting. The purchase might also have been [outside the challenge's dates or locations](#the-purchase-was-outside-the-challenges-dates-or-locations), or made while the challenge was [disabled](#the-challenge-was-disabled).

> **The products didn't count**
>
> Check the earn rules on the **Settings** tab.
>
> * If **ID's action** is set to **Include**, only the products in **Product IDs** or **Category IDs** count. If it's set to **Exclude**, everything counts except those products.
> * For **Purchase amount** rules and **Store visits** challenges, products excluded under **Global Settings → Product exclusions** don't count either. They do count if the challenge lists them under **Include**.
> * Items that cost 0.01 or less each, such as free items, never count.

> **Discounted items were excluded**
>
> This applies to **Product quantity** and **Purchase amount** rules. If **Discounted items behaviour during challenge progress** is set to **Exclude Discounted Items**, anything the customer didn't pay full price for doesn't count.

> **The purchase was below the minimum, or paid the wrong way**
>
> For **Store visits** and **Payment method** challenges, a purchase has to reach the **Minimum amount per purchase**. On a **Store visits** challenge that lists products, **Include** means only those products count toward the minimum, and **Exclude** means they don't.
>
> For **Payment method**, only the amount paid with the selected **Payment method** counts toward that minimum. For example, a purchase paid by card doesn't count on a challenge set to **Loyalty App**. A payment your POS sends under a name of its own never counts as **Other**. See [Payment method](/business-documentation/activities/challenges/accumulation-types#payment-method).

> **A One purchase rule wasn't met**
>
> A **One purchase** challenge with several earn rules only counts a purchase that meets **all** of them. If a purchase meets one rule but misses another, it adds no progress.

> **The purchase came too soon after the last one**
>
> With **Delay between purchases**, a purchase only counts once that many hours have passed since the last purchase or refund recorded for the customer on this challenge. A purchase made sooner adds no progress.

> **The checkout type wasn't included**
>
> If any **Checkout types** are selected, only purchases through those checkout types count. A purchase your POS sends without a checkout type doesn't count either. If none are selected, every checkout type counts.

> **The customer has already used up the challenge**
>
> A **One-time** challenge stops counting once the customer has completed it. An **Auto-renewable** challenge stops once the customer has completed as many cards as **Total number of cards issued** allows. To check, download the [challenge report](/business-documentation/activities/challenges/challenge-report). It only exists for **Active** and **Expired** challenges. A completed card shows **ClosedAt** on every one of its rows, so count the different **CardId** values that have a **ClosedAt**, and compare the count with **ActivationLimit**. For an **Unlimited** challenge, **ActivationLimit** reads *Unlimited*, and this cause doesn't apply.

### A negative row

The customer's progress went down instead of up.

> **A refund took progress back**
>
> A row with negative **Progress** is a refund. Refunds follow these rules:
>
> * A refund only takes progress off a challenge that's still running, and only off the customer's current card.
> * Progress never goes below zero. A completed card is never reopened, and rewards already given aren't taken back.
> * The amount taken off is worked out with the challenge's rules as they are now, not as they were at the original purchase.
> * A **One purchase** challenge never loses progress to a refund.
> * A refund made during the **Delay between purchases** doesn't take any progress back.
> * A refund made after the delay restarts the **Delay between purchases** wait, if the customer still has a card open. It does this even when there was nothing left on the card to take back. The customer's next purchase then only counts once the delay has passed again.
>
> If the refunded purchase completed a card, the refund comes off the customer's next card instead. That can look like progress disappearing from a card they've barely started.
>
> Here's how it works on one challenge. It's a **Multiple purchase** challenge with a **Purchase amount** of 150, and **ID's action** is **Include** with one product, Coca-Cola. It's **Unlimited**, and it runs from 1 to 31 October. Each number below is the Coca-Cola value on the receipt.
>
> **A refund on a card that's still open**
>
> | What happened | Progress counted | Open card after | Completed cards |
> | - | - | - | - |
> | Purchase | 50 | 50 | 0 |
> | Purchase | 20 | 70 | 0 |
> | Refund of 25 | -25 | 45 | 0 |
>
> **A refund after a card completes.** This is another customer. The purchase of 100 only needs 80 to complete the card, so the other 20 goes onto the next card. The refund is of that purchase of 100. Because it completed a card, the refund comes off the next card.
>
> | What happened | Progress counted on the open card | Open card after | Completed cards |
> | - | - | - | - |
> | Purchase | 50 | 50 | 0 |
> | Purchase | 20 | 70 | 0 |
> | Purchase of 100 | 20 (the other 80 completed the card) | 20 | 1 |
> | Refund of 25 from that purchase | -20 | 0 | 1 |
> | Purchase | 10 | 10 | 1 |
>
> The refund of 25 only takes off 20, because a card never goes below zero. The completed card stays completed.
>
> **A refund after the challenge has ended.** A customer has 70 on their card. They return a purchase on 5 November, after the challenge ended on 31 October. Nothing changes, and their progress stays at 70.

### Too much or too little progress

The purchase counted, but for the wrong amount.

If it's too little, part of the purchase might not have counted. Check [the products](#the-products-didnt-count) and [discounted items](#discounted-items-were-excluded). Or the purchase completed a card, and the rest went onto the next card. Look for a second row with the same **ReceiptId**.

> **The progress is too high or too low**
>
> This applies to **Product quantity** rules. With **Litres**, **Grams** or **Kilograms**, the challenge assumes the quantity your POS sends is already in the rule's unit. If your POS sends a different unit, progress is wrong by a factor of a thousand. For example, grams sent to a rule in **Kilograms** make progress a thousand times too high, and kilograms sent to a rule in **Grams** make it a thousand times too low. With **Units**, quantities are rounded down, so 1.5 kg of loose produce counts as 1. See [Unit of measure](/business-documentation/activities/challenges/accumulation-types#unit-of-measure).

## If it still doesn't add up

Sometimes the challenge is set up correctly for what the customer bought, but the purchase still isn't in the report. Then the next thing to check is the purchase data your POS sends to Lobyco. Lobyco support can look into that for you. Send them these details:

* The challenge's **ActivityId**, the ID at the top of **Activity details**
* The customer's **MemberId**
* The receipt ID, store and time of the purchase. They're on the customer's **Receipts** tab under **Member management → Members**.
* The report you downloaded

## Related

* [Challenge report](/business-documentation/activities/challenges/challenge-report) — every column of the report explained.
* [Accumulation types](/business-documentation/activities/challenges/accumulation-types) — what counts as progress for each type of challenge.
* [Create a challenge](/business-documentation/activities/challenges/create-a-challenge) — where each setting above sits on the form.
* [Edit or disable a challenge](/business-documentation/activities/challenges/edit-or-disable-a-challenge) — why an edit changes how later purchases and refunds are counted.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.