Incentive Estimation


Overview

The Estimate Incentives tool lets you simulate what incentives would be awarded for a mock transaction — without saving any data. It is useful for verifying that rates and conditions are configured correctly before going live.

Where to Find It

The Estimate Incentives block appears automatically in the reaction builder when:

  • The reaction type is Trigger
  • The trigger event is transaction.created or transaction-item.created
  • At least one action is configured

Click Estimate incentives in the builder to open the estimation panel.

How to Use It

Fill in the mock transaction details, then click Estimate.

Transaction Fields

FieldRequiredDescription
Profile IDYesProfile identifier — can be ID, email, or any supported handle value
Profile ID HandleNoThe handle type for the identifier (e.g. email, card_pos). Leave empty to use the default profile ID lookup
LocationNoLocation to scope rate resolution
TotalYesTransaction total amount
Transacted AtYesTransaction datetime in YYYY-MM-DD HH:mm:ss format. Defaults to current time in your client_timezone setting
TimezoneYesTimezone for the transaction. Defaults to your client_timezone setting

Item Fields (one or more required)

FieldRequiredDescription
NameYesItem name
SKUNoProduct SKU
Product Variant SKUNoVariant SKU
Price SellYesSell price of the item
QuantityYesQuantity — supports negative values for returns (e.g. -1)
Price CurrentNoCurrent/RRP price of the item

How It Works

  1. Click Estimate → sends a POST request to transactions/incentive-estimate
  2. The API creates an in-memory transaction using the provided data — nothing is persisted
  3. The configured actions are executed in dry-run mode against the mock transaction
  4. Results are returned showing what each action would have produced

Results by Trigger Type

  • transaction.created — actions run once against the whole transaction. Returns a single result object keyed by action UUID.
  • transaction-item.created — actions run once per line item. Returns an array of result objects, one per item.

Example Result

{
  "data": {
    "abc-earn-points": {
      "value_initial": 50,
      "value_remaining": 50
    }
  }
}

A filter action returns true if the condition passed, or false if the transaction would have been excluded.

Supported Actions

Only actions that implement dry-run execution are fully supported (e.g. Create Point). Other action types may be skipped or return limited results during estimation.