A dynamic attribute is a reusable, rule-based field you build once and then map into any feed. Instead of exporting a product value as-is, it looks at each product, checks a set of IF–THEN conditions in order, and outputs whatever the first matching rule says — with a default value covering everything else. That lets you rewrite sizes, set genders, adjust availability, add a VAT-inclusive price, or fill any channel field that WooCommerce doesn’t store the way a merchant expects — all without editing your products. This guide is the complete walkthrough of building one.
This feature requires CTX Feed Pro. On the free plugin the Dynamic attributes screen shows what the feature does, with an upgrade button instead of the editor.
How a dynamic attribute works
Every dynamic attribute has three parts:
- A name — a short identifier (like
google_size) that appears in the value dropdown when you edit a feed. - One or more rules — each rule is an IF condition (a product field, a comparison, and a value) plus an OUTPUT (what to export when the condition is true).
- A fallback — the Otherwise output, used when no rule matches.
At generation time, CTX Feed evaluates the rules top to bottom for each product and stops at the first one that matches and produces a value. A rule whose Attribute output is empty for that product doesn’t stop the search — CTX Feed moves on to the next rule. If none match, the fallback is used. The result is written into whatever feed field you mapped the attribute to.
Upgrading from a version before 8.0? Older versions worked the other way round: when several rules matched, the last matching rule won. If your dynamic attributes were built that way, open each one, drag the rules into reverse order (the last rule to the top, the first to the bottom), click Save attribute, and regenerate your feeds. Leave the conditions, outputs and Otherwise output as they are — reversing the order gives exactly the results you had before.
Open the editor
- In your WordPress dashboard, open CTX Feed, then go to Data mapping → Dynamic attributes.
- Click New dynamic attribute (or Create your first attribute on an empty list). The inline rule editor opens as a single card.
The header shows a Saved / Unsaved chip so you always know whether your changes are written, plus the reminder “Rules run in order. Reorder them to change which one wins.”

- Attribute name —
google_size, the name you pick on the feed’s Config tab. - IF — the product field to test (Size), the condition (is/equal to) and the value (
Small). - OUTPUT — what to send when the rule matches — Text
Shere, with optional prefix and suffix. - Add rule — add another IF → OUTPUT rule below.
- Otherwise output — used when no rule matches; here the original Size value.
Step 1 — Name the attribute
In the Attribute name field, type a short, descriptive name — lowercase with no spaces is recommended, such as google_size or product_gender. This is the label you’ll select later when mapping the attribute into a feed, so make it descriptive.
From CTX Feed Pro 8.0.26, the name is kept exactly as you type it (capitals and spaces included), and renaming an attribute later updates the name you see when mapping it into a feed. Renaming never breaks a feed that already uses the attribute.
Step 2 — Build a rule
Each rule is one IF → OUTPUT row.
In the IF panel:
- Select attribute — choose the product field to test. Any product attribute, taxonomy, custom field, or price/inventory value is available here.
- Condition — pick how to compare it. The available conditions are:
- is/equal to and is not/not equal to
- contains and does not contain
- starts with and ends with — these currently work the same as contains (they match the text anywhere in the value)
- greater than, greater than or equal, less than, less than or equal
- between — type a min and a max; the match includes both ends and works with numbers or dates (YYYY-MM-DD)
- value — type what you’re comparing against. Leave it blank with is/equal to to test for an empty field, or with is not/not equal to to test that a field has a value. (A blank value with contains matches every product.) Text comparisons with contains ignore upper and lower case.
In the OUTPUT panel, choose what to export when the condition is true:
- Toggle Attribute to output another product field’s value (pick it from the dropdown), or Text to output a fixed word or phrase you type.
- Use the prefix and suffix boxes to wrap the output — for example a prefix of
SKU-in front of an attribute value. They’re added only when the rule’s output isn’t empty, and spaces you type in them are kept. (The Otherwise output has no prefix or suffix.) - To output nothing when the condition is true, choose Text and leave the box empty. From CTX Feed Pro 8.0.26 the value then stays empty; older versions used the Otherwise output instead.
Step 3 — Add and order more rules
Click Add rule to append another IF–THEN row. Because the first matching rule wins, order matters:
- Put your most specific conditions at the top and broader ones below.
- Drag the handle on the left of any rule to reorder it.
- Use the duplicate icon to copy a rule as a starting point, and the remove icon to delete one.
Step 4 — Set the fallback (Otherwise output)
The Otherwise output bar at the bottom decides what to export when no rule matches. Choose one of:
- Attribute — output a product field’s value (a safe default, e.g. the original attribute unchanged).
- Text — output a fixed value.
- Leave empty — output nothing.
Step 5 — Save
Click Save attribute. The button stays disabled until the attribute has a name, at least one complete rule, and an unsaved change — so if it’s greyed out, check those three things. After saving, the new attribute appears in the Dynamic attributes list.
Step 6 — Use the attribute in a feed
A dynamic attribute has no effect until you map it into a feed:
- Go to CTX Feed → Make feed, or open a feed from Manage feeds.
- In the attribute configuration table, find the output field you want to fill (or add a new row for it).
- In that row’s value dropdown, select your dynamic attribute from the Dynamic Attributes group.
- Save and click Regenerate, then open the generated file to confirm the values.
One dynamic attribute can be mapped into as many feeds and channels as you like — build the logic once and reuse it everywhere.

- The feed row — here
size— with Source set to Attribute and its Value set togoogle_sizefrom the Dynamic Attributes group.
Working with prices and weights
When the IF attribute is a price or weight field, a Text OUTPUT can be an arithmetic expression instead of a fixed word, and CTX Feed does the maths against the value of that IF attribute:
+10%or-10%— add or subtract a percentage+5or-5— add or subtract a flat amount*2or/3— multiply or divide80%— take 80% *of the value (not a markup)
This is how you build a VAT-inclusive price or a bulk price adjustment. The result isn’t rounded (19.99 +10% gives 21.989), so set the feed row’s Output to Price to send two decimals. If the IF attribute isn’t a price or weight, or the expression contains anything other than the number and operator, the text is output literally.
Manage your dynamic attributes
On the Dynamic attributes list, each attribute shows its name, a human-readable summary of its rules, and its fallback. From the Actions column you can:
- Edit — reopen the rule editor.
- Duplicate — create a Copy of… to adapt for a similar field.
- Delete — remove it permanently. Any feed that mapped the deleted attribute keeps generating, but that field is simply dropped, so remap it if you still need the value.
Troubleshooting
- Save is disabled. The attribute needs a name and at least one complete rule (a chosen attribute, a condition, and — for an Attribute output — a source). Make an edit so the Unsaved chip appears.
- Every product gets the fallback. No rule matched, or the matching rules produced an empty value. Recheck the compare value against what the field actually stores.
- starts with / ends with matches too much. Those two conditions currently behave like contains. Make the compare text specific enough that it can’t appear elsewhere in the value.
- The attribute isn’t in the feed’s value dropdown. Make sure you saved it, then reopen the feed editor. It appears under the Dynamic Attributes group.
- Output looks stale after editing. Run Clear Cache on the Manage feeds screen and regenerate the feed.
Related guides
- If Field A Is Empty Then Get B Rule
- Dynamically Change Stock Status
- Include Value Added Tax (VAT) into Prices
- Conditionally Merge Multiple Attributes

How to use between attribute
Hi, For number you can use 10,20 to define between.