Important Note
Applies to flow campaigns built on Extole’s upgraded Flow Builder (look for the flow icon next to the campaign name on the Programs page).What you’re trying to do
You want a reward to be issued only when the triggering event carries certain data — for example, only reward when the purchase event includesproduct_id = SKU-123, or only when
product_type = subscription.
In Extole this is done with a data-comparison rule that reads a parameter off the incomingevent and compares it to a value. You attach that rule to the reward (or to the business event
that drives the reward) so the reward only issues when the data matches.
How rewards and rules fit together
A reward in Flow Builder fires through a chain:product_id = SKU-123
So “trigger a reward on data” means adding a data condition somewhere in that chain. You have
a few places to put it, and the choice matters:
For most “only reward when product X” requests, a Reward Rule is the right choice — you keep
full event tracking and only gate the payout. Use a reward Trigger Rule when a single step has
multiple rewards and the data decides which one fires.
Option A — Gate the reward with a Reward Rule (recommended)
This issues the reward only when the event data matches, while still recording the event.- Go to the Programs page and find your campaign.
- Click the Manage Flow icon for that campaign.
- In Flow Builder, find the Reward node you want to gate (e.g. the friend reward on conversion, or a reward-for-action outcome).
- Scroll to the Reward Rules section for that reward.
- Click + New Reward Rule and choose Event Data Comparison.
- Configure the comparison:
- Event Data Parameter — the parameter name as it arrives on the event, e.g.
product_id(orproduct_type,sku,order_value). - Comparison — one of: Equals, Does not equal, Is blank, Is not blank, Contains, Does not contain, Matches Regex, Does not match Regex.
- Value — the value (or regex) to compare against, e.g.
SKU-123.
- Event Data Parameter — the parameter name as it arrives on the event, e.g.
- Give the rule a descriptive name like
Only reward for SKU-123so it’s easy to read in troubleshooting. - Click Apply to save.
Example: reward only for a specific product
- Event Data Parameter:
product_id - Comparison: Equals
- Value:
SKU-123
"product_id": "SKU-123" will issue the reward.
Option B — Suppress the event entirely with a Trigger Rule
Use this when you don’t even want to create the business event unless the data matches (e.g. only record a conversion at all whenproduct_type = subscription).
- Programs → Manage Flow → open the business event step (e.g. Converted).
- Turn on the advanced filter to reveal Trigger Rules (Trigger Rules are hidden until the advanced filter is on).
- Click to add a Trigger Rule → Event Data Comparison.
- Configure Event Data Parameter, Comparison, and Value exactly as in Option A.
- Apply.
Option C — Route to a specific reward with the reward’s Trigger Rules
Use this when a single outcome/business event can produce more than one reward and you want this reward to fire only when the data matches. For example, two rewards on the same conversionstep where the product decides which reward is issued. This rule lives on the Reward’s Trigger Rules and uses Event Data Comparison.
- Programs → Manage Flow → select the Reward in the flow.
- Under the reward’s Trigger Rules, click + New Reward Rule.
- Select Event Data Comparison and give it a descriptive name (e.g.
Trigger only for SKU-123). - Configure:
- Event Parameter — the business-event data name, using underscores instead of spaces
(e.g. a
Product IDis referenced asproduct_id). - Comparison — Equals, Does not equal, Contains, Matches Regex, etc.
- Value — the value to match, e.g.
SKU-123.
- Event Parameter — the business-event data name, using underscores instead of spaces
(e.g. a
- Click Apply.
each with their own trigger rule, still can). This is how you route different data values to
different rewards on one event.
The parameter must exist as business-event data on the outcome step. If it isn’t there yet, add it first: click into the outcome step → + New Data → Business Event Data, and name it
to match the field you send. Then reference it in the reward’s trigger rule as the Event Parameter (spaces → underscores).
Example: two rewards on one event, routed by product
- Reward A → Trigger Rule: Event Data Comparison, Event Parameter
product_id, Equals,SKU-123 - Reward B → Trigger Rule: Event Data Comparison, Event Parameter
product_id, Equals,SKU-999
Prerequisite: the data must actually be on the event
A data rule can only compare a parameter that is sent on the event. Before configuring the rule, confirm your integration includes the field:- JS tag / API: include the parameter in the event
data, e.g.{ "event_name": "conversion", "data": { "product_id": "SKU-123", "cart_value": "129.00" } }. - Batch file: include a column for the parameter and map it to event data.
(names are case/spelling sensitive). If the field isn’t present, Equals will fail and
Is blank will pass.
Troubleshooting
- Reward never issues, even for matching data. Check that the parameter name in the rule matches the parameter you send (spelling/case), and that the value matches the comparison type (e.g. Equals is exact — capitalization and punctuation must match).
- Reward issues for everything. The data rule may not be on the reward — confirm it’s listed under that reward’s Reward Rules, not on a different reward or event.
- Event isn’t even recorded. You may have added the rule as a Trigger Rule (which suppresses event creation) when you meant a Reward Rule (which only gates payout). Move it accordingly.
- List/array field never equals. Switch Equals to Contains or Matches Regex.
