Custom fields are merchant-defined virtual fields. They do not exist in your product source and are never written back to it. Vendably creates them, populates them through the Rules Engine, and makes them available for destination field mapping.
Custom fields are managed under Rules in DataHub.
Why custom fields exist
Your source supplies a fixed set of fields. Channels and platforms often require fields that have no direct equivalent in your source data, or you may want to compute a value once and reuse it across multiple destinations rather than duplicating the same rule logic everywhere.
Custom fields bridge that gap. A custom field is a named slot you can write to from a rule and read from in any destination mapping.
Field types
When you create a custom field you choose a type: Text, Number, Boolean, or Date. The type is a label for the rule builder interface; it controls which operators and actions appear in the UI. Vendably stores all custom field values as strings internally, so the type does not affect how data is processed or exported.
Field naming
Each custom field has a name you choose. In Vendably's internal product data, the field key is prefixed automatically: a field named promo_label is stored as vcCustomField_promo_label. You do not need to use the prefixed name yourself; the prefix is visible in the field mapping wizard if you are working with raw field references.
Setting a default value
Each custom field can have a default value. If the field is empty at export time, Vendably injects the default automatically. This is useful when a destination requires a value in a field but your rules only populate it for some products.
Setting values with the Rules Engine
Custom fields appear in rule conditions and actions alongside your standard product fields. To populate a custom field, add a transform rule with a Set Value (or any other text or data-mapping action) targeting the custom field.
Because rules run in priority order and each rule sees the output of earlier rules, you can build a pipeline: one rule computes a value and writes it to a custom field, and a later rule reads that field to make a further decision. This keeps individual rules simple and avoids duplicating logic across rules that serve different purposes.
Using custom fields in destination mapping
Custom fields appear in the field mapping wizard for every destination. Map a custom field to a destination field the same way you would any standard field.
Common mapping scenarios:
- Google Ads custom labels (0-4): use the Rules Engine's Set Custom Label action to populate labels 0-4 directly, or write a value to a custom field and map it to a custom label slot in your Google Ads destination mapping. The direct Set Custom Label action is the simpler path for straightforward label assignment; a custom field is useful when the same label value needs to feed into multiple destinations or be computed across several rules.
- Channel-specific fields with no standard equivalent: some platforms require fields that are unique to that platform. Create a custom field, populate it with a rule, and map it in that destination's field mapping.
- Intermediate computed values: if several destinations need the same derived value (for example, a sale percentage calculated from price and sale price), compute it once into a custom field and map it in each destination rather than duplicating the calculation rule.
Supplement data from a file import source
If you use a supplemental file import source alongside your primary source, the file source can set custom field values. Those values are then available in the Rules Engine and destination mapping for the primary source's export pipeline. This is useful for adding data that does not exist in your primary source, such as internal product labels or campaign flags, without modifying the source itself.
See also
- How the Rules Engine works — creating rules that set custom field values
- Setting up a destination — mapping custom fields to destination fields
- Importing from a file — using a file source to supply supplemental field values