# Achievement Progressed

{% hint style="danger" %}
Please note this is an advanced use case. Contact Open Loyalty Support team if in doubt.

**Make sure to test any configuration thoroughly.**
{% endhint %}

The **Achievement Progressed** internal event allows you to trigger a campaign **each time a member makes progress** within a defined achievement—before they even complete it. This enables more granular reward logic such as **progress-based cashback** or **tiered rewards**.

Use this trigger when you want to **reward members incrementally**, rather than only after an achievement has been fully completed.

***

### 📌 When It’s Useful

This trigger is ideal when you want to:

* Incentivize **ongoing activity** (e.g., monthly spend, visits, transactions).
* Implement **advanced reward distribution** based on how much a member contributes during a given period.
* Combine achievements with campaigns to **distribute units based on thresholds**.

***

### 📥 Available Attributes

When using the `Achievement Progressed` event, you can access both achievement configuration values and the member’s real-time progress.

#### 🔧 Achievement Configuration Attributes

* `periodGoal` – Goal for the current period.
* `consecutivePeriods` – Remaining periods (for achievements based on consecutive goals).

#### 📊 Progress Attributes

* `currentPeriodValue` – Current progress in this period (e.g. amount spent).
* `completedConsecutivePeriods` – Number of completed periods so far.
* `progressChanges` – Change in value since the last progress (i.e. what triggered the event).

{% hint style="info" %}
The complete list of available attributes can be found in the article below:

[#achievement-progress](https://help.openloyalty.io/expressions/attributes-list#achievement-progress "mention")
{% endhint %}
