Mapping actions, conditions and change values
Reference for IRONFEED mapping logic: the six actions, All / Only IF / IF-ELSE, every condition operator, {{field}} placeholders and the twelve change-values rules with examples.
Every master field and every channel field is produced by the same rule engine: an action builds the value, an optional condition decides when the rule applies, and change values rules post-process the result. This page is the full reference.
Actions
| Action | What it outputs | Example |
|---|---|---|
| Use | The value of one source field (or, in channels, one master field). | Use $title |
| Add static value | The same fixed text for every product. | condition = new |
| Combine | Several fields and free text joined with a separator. Reorder parts by dragging. | $brand + $title + $color, separator " - " |
| Use lookup table | The *To* value whose *From* equals the field value. Choose what happens when there is no match: use original, leave empty or use default value. Optional case-sensitive matching. | availability via "Stock words" |
| Extract from | Searches the field text for any *From* entry of a lookup table and outputs its *To* value. | Extract the brand from $title with a "Brands" table |
| Leave empty | Nothing is exported for this field. | Skip sale_price |
Separators available in Combine: space, dash, comma, pipe, slash, none, or a custom string.
Apply to
| Mode | Behaviour |
|---|---|
| All products | The action runs for every product. |
| Only IF | The action runs only when the condition matches; other products get an empty value for this field. |
| IF / ELSE | Two actions: THEN runs when the condition matches, ELSE otherwise. Both branches must be configured. |
Condition operators
Conditions compare a field (source field, master field, or the special Date (today) entry) with a value. Text comparisons are case-insensitive unless stated.
| Operator | Matches when |
|---|---|
| includes / doesn't include | the value contains / does not contain the text |
| is equal to / is not equal to | exact match (case-sensitive) |
| starts with / doesn't start with | prefix match |
| ends with / doesn't end with | suffix match |
| is blank / is not blank | the value is empty / not empty |
| is greater than / is greater or equal to | numeric comparison |
| is less than / is less or equal to | numeric comparison |
| is between / is not between | number within min|max (two inputs) |
| is longer than / is shorter than | text length in characters |
| matches regexp / doesn't match regexp | JavaScript regular expression |
| is in list / is not in list | value equals any item of a list (inline items, or the first column of a Google Sheet / CSV URL) |
| is in list (regexp) / is not in list (regexp) | any list item, used as a regular expression, matches |
| date before / date after / date equals | date comparison (YYYY-MM-DD or ISO; time is ignored) |
| date between / date not between | date within from|to |
Chain rules with AND and OR. AND binds tighter than OR: A AND B OR C means (A AND B) OR C.
Placeholders
Write {{field_name}} inside a condition value or a change-values input to insert that product's value. Example: rule Add suffix with input ({{color}}) turns Trailhead Rain Jacket into Trailhead Rain Jacket (Blue).
Change values (transformation rules)
Open the pencil next to a field. Rules run in order, after the action and after the condition. Each rule can apply to All products or Only IF its own condition matches. Rules that search text can be switched to regular expression mode.
| Rule | Input | Effect | Example |
|---|---|---|---|
| Overwrite | text | Replaces the whole value | → Contact us for price |
| Replace | find, replace with | Replaces every occurrence (regexp optional) | Men's → Mens |
| Replace multiple | comma-separated finds, comma-separated replacements | Pairwise replacement | XS,S,M → Extra Small,Small,Medium |
| Remove | text | Deletes every occurrence, case-insensitive (regexp optional) | remove - Men's |
| Remove multiple | comma-separated texts | Deletes each item | (copy),(old) |
| Remove duplicate words | — | Keeps the first occurrence of each word | Blue Blue Jacket → Blue Jacket |
| Strip HTML | — | Removes tags | <p>Waterproof</p> → Waterproof |
| Add prefix | text | Prepends | Acme + title |
| Add suffix | text | Appends | title + – Free shipping |
| Recalculate | operation + number (add, subtract, multiply, divide) | Arithmetic on the numeric part | price × 1.21 |
| Recapitalize | mode (lowercase, uppercase, capitalize) + minimum word length | Changes case word by word; words up to the minimum length are left as they are | TRAILHEAD RAIN JACKET → Trailhead Rain Jacket |
| Round | decimals | Rounds the leading number and keeps any suffix | 149.4 USD → 149 USD |
Order of evaluation
- 1
The condition
(Only IF / IF-ELSE) selects the branch. - 2
The action
builds the raw value. - 3
Change values
rules run top to bottom. - 4
For channel fields
the value is then validated by Feed Review.
Worked examples
- Add VAT to prices:
price→ Use$price→ Change values: Recalculate multiply1.21, Round2. - Flag refurbished stock:
condition→ IF$titleincludesrefurbishedTHEN staticrefurbishedELSE staticnew. - Sale price only when discounted:
sale_price→ Use$sale_price→ Apply to Only IF$sale_priceis less than{{price}}. - Shorten titles for TikTok:
title(channel field) → Use mastertitle→ Recapitalize capitalize, then Replace- Men'swith.
Ready to ship better feeds?
Start a 14-day free trial. No credit card. Connect your store and see channel-ready feeds in minutes.