Import Magento Attribute Definitions: Labels, Options and Set Placement
Creating an attribute and assigning a value to a product are different Magento jobs. A product row can say that a tool's material is aluminium only after the relevant attribute exists. Product Attribute Import / Export provides a CSV workflow for user-defined attribute definitions: labels, supported flags, dropdown choices and deliberate set placement.
The current direct-store release is 1.0.3. Its product page records runtime checks on the exact 1.0.2 ZIP with Magento Open Source 2.4.9 / PHP 8.5.10, plus PHP 8.4 syntax checks. That does not establish runtime compatibility with every Magento or PHP version.
Definitions versus product values
| Question | Definition work | Product-value work |
|---|---|---|
| What does “connector type” mean in this catalogue? | Create its code, input type, label and allowed choices. | Not yet assigning it to a product. |
| Which connector does SKU TEST-01 use? | The definition already exists. | Set the appropriate value through the product editor or product import. |
| Where does the field appear in Admin? | Place the attribute in the intended attribute set/group. | Ensure the product uses the appropriate set. |
Native Stores → Attributes → Product and the attribute-set screens can handle a small schema. Native product CSV and Update Attributes remain useful for product values. Choose a definition importer when maintaining or transferring many supported definitions is the real requirement.
Export the existing schema before editing
Open System → Data Transfer → Attribute Export / Import. Export Product Attributes CSV and retain an untouched copy. The export covers user-defined product attributes, excluding Magento system attributes.
Keep an existing attribute_code to update that definition. A new code creates an attribute; it must begin with a lowercase letter and contain no more than 30 lowercase letters, digits or underscores. New definitions need a frontend label and a supported input type. Keep the exported headers and column count intact.
For select and multiselect attributes, separate option labels with |. On an existing attribute the importer appends new admin labels. It does not rename or remove existing options. Changing a CSV label from “Brass” to “Brass alloy” therefore should not be treated as a migration of products already using “Brass”.
Illustrative example: extend one dropdown and add a field
This is an unexecuted staging example. Suppose connector_type already has “Threaded” and “Push-fit” choices, and several products use it. You want to add “Flanged” and introduce a separate inspection_note text-area field.
- Export the definitions. In the existing connector row, preserve its code and input type; add the new option to the pipe-separated option labels.
- Add a new inspection_note row with its frontend label and supported text-area input. Use the actual exported format rather than constructing a minimal file that omits required headers.
- Leave the existing attribute's group blank to preserve placement. For deliberate placement in a named set/group, supply both fields and check that the target names are correct.
- Import the small file. Review row errors and reopen both definitions. Confirm the old options still exist and the new choice is present.
- Assign the new option to a disposable product separately. Inspect its saved value and any relevant storefront filter before supplying the data to a product finder.
For a new attribute, omitted placement uses Default/General; new attributes have global scope. Do not assume that creating a definition also adds the intended value to every product.
Changes that require another approach
The importer does not change an existing attribute's input type, scope or apply_to. It does not modify system attributes, delete options or rename their existing labels. Plan those schema migrations separately, with awareness of existing product values and integrations.
Supported updates use non-empty supplied values for fields such as label, required/unique flags, note, defaults and supported search, storefront, listing and grid settings. Treat blanks according to the field reference; do not assume an empty cell clears a value.
Structural errors and data errors behave differently
A missing or duplicate header, or a wrong column count, rejects the file before attributes change. Data errors on otherwise well-formed rows are reported individually while valid rows may apply. A partly successful import therefore needs reconciliation before retrying.
The upload limit is 10 MB and the Admin action checks that it is a real CSV upload with an allowed detected type. Keep a recoverable database backup; the definition export does not restore every product value or integration setting.
Flattening a product export is a separate setting
The optional Attribute Column Flattening setting places selected custom attributes into their own product-export columns rather than leaving them only inside additional_attributes. It changes that product export, not the definition CSV used above. Agree which file an editor is expecting before exchanging data.
Review Product Attribute Import / Export and its field and validation guide. Adobe's product attribute reference explains the native model. If definitions will drive guided choices, also read planning a reliable product finder.
This article describes AgenticEcom's own module. Reviewed for accuracy on 4 November 2026.
Product information reviewed 4 November 2026 by AgenticEcom. Illustrative examples are not customer results or new runtime tests.
