# Offers

Offer-type rewards are used to promote program perks, communicate rules, or highlight external promotions. Unlike voucher or gift card rewards, offers don’t deliver direct value through the Loyalty Engine—they’re primarily for communication and engagement.

There are two types of offers, based on how you configure the URL field:

### Non-purchasable offers

These are visible to users but can’t be purchased or redeemed. They’re used to communicate:

* Promotional messages (e.g. *Double Points Weekend*)
* Program benefits (e.g. *Refer a friend and earn 500 points*)
* General information (e.g. *How to earn points*, *Welcome to the program*)

All offer-type rewards are non-purchasable by default.

{% hint style="warning" %}
Offers are for communication only. If you’re promoting an incentive, you’ll still need to configure the supporting logic using reactors and audiences.
{% endhint %}

### Purchasable offers

To make an offer purchasable, you must enable a dynamic URL. This allows users to “purchase” the offer (optionally for points), and be directed to an external page—such as a sign-up form or third-party promotion.

Purchasable offers are best for:

* Linking users to personalised offers or services
* Handing over user-specific info like Account ID via the URL

***

## Offer URLs

The URL field lets you attach a web link to an offer. This can be either:

### Static URL

* Shown to all users who can view the reward
* Used for general info or landing pages
* Offer remains non-purchasable
* Tracked clicks are not recorded

### Dynamic URL

* Requires the user to purchase the offer to access the URL
* Can include dynamic parameters (e.g. userId, accountId)
* Offer becomes purchasable
* Points deducted if a price is set
* Tracked through the `PURCHASED_REWARD` event

{% hint style="info" %}
You can use a dynamic URL even without dynamic parameters if you simply want the user to “purchase” before accessing a static URL.
{% endhint %}


---

# Agent Instructions: 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:

```
GET https://kbase.whitelabel-loyalty.com/product/loyalty-engine/rewards-and-points/rewards/reward-types/offers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
