What is a Magento Attribute Set?
Short answer A Magento attribute set is a named list of product attributes. It decides which fields a product has (color, size, manufacturer, ISBN) and how those fields are grouped on the admin product form. Every product uses exactly one set. You pick it when you create the product, and changing it later on a live catalogue is something I avoid. The Default set holds the system attributes like name, sku and price. Custom sets add the fields a vertical needs: Author and Publisher for books, Size and Width for shoes.
- Create a new set under Stores → Attributes → Attribute Set 01
- Drag attributes from Unassigned into Groups 02
- Assign the set on product creation 03
- The product form re-renders to show only those attributes 04
- Layered nav and search facets read from products in the category 05
Most common mistake Changing the attribute set after launch
Five steps from Default set to a fully shaped product form
You build attribute sets in the admin. They then shape the product edit form and, indirectly, the filters on category pages. This is the order I work in on a new catalogue.
-
01
Create a new set under Stores → Attributes → Attribute Set
In the admin I go to Stores → Attributes → Attribute Set and click Add Attribute Set. Magento wants a name and a "Based On" set, which is Default nine times out of ten. The new set copies the system attributes (name, sku, price, weight, visibility, status, tax_class_id and so on), so the product form still works. There is no way to start from an empty set, and that is fine: you need those system fields anyway.
-
02
Drag attributes from Unassigned into Groups
The set editor has Groups on the left and Unassigned Attributes on the right. You drag an attribute from the right into a group. Each group shows up as a section on the product edit page ("Book Details", "Shipping", "Search Engine Optimization"), so I group fields by what the person filling in the form needs together, not by data type. If the default groups don’t fit, Add New creates one.
-
03
Assign the set on product creation
Under Catalog → Products → Add Product you pick the product type from the button drop-down, and the Attribute Set selector sits at the top of the form. Choose it before you fill anything in, because switching sets reloads the form. Changing the set on a product that is already live is where trouble starts (see Common Mistakes), so I get the set right on day one.
-
04
The product form re-renders to show only those attributes
The product edit page only shows the attributes in the chosen set, laid out in your groups. A "Books" set shows Author, Publisher, Pages and ISBN; a "Shoes" set shows Size, Color, Width and Material. Values are still stored in the usual EAV tables (
catalog_product_entity_varchar,_int,_decimaland friends). The set mostly controls what the admin user sees, and that alone saves the catalogue team a lot of scrolling. -
05
Layered nav and search facets read from products in the category
On a category page, layered navigation offers a filter for each attribute marked Use in Layered Navigation that has values on the products in that category. Attributes only get values when they are in the product’s set, so the sets you use decide which filters a shopper sees. Mix Books and Electronics in one category and the filter list turns into a jumble. I keep one set per category vertical so the facets stay clean.
Four situations where a custom attribute set earns its keep
Default is fine for a small, simple catalogue. These are the four cases where I create a separate set.
-
Catalogues spanning multiple verticals
If a store sells books, electronics and clothing, I give each one its own set. Books need Author, ISBN and Pages. Electronics need Voltage, Warranty and Model Number. Clothing needs Size, Color and Material. Put all of that into Default and every product form becomes a long list of empty fields that nobody wants to fill in.
-
B2B catalogues with per-SKU commercial fields
B2B catalogues carry fields a retail shopper never sees: MOQ (minimum order quantity), Lead Time, HS code, Country of Origin, Pallet Quantity. A separate "B2B" set keeps those next to the standard fields and leaves the retail set short. On Adobe Commerce I pair this with shared catalogs to control which products each company account sees.
-
International stores with region-specific compliance
EU products may need CE marking details, UK products UKCA, US products FDA or FCC identifiers, and food needs allergens and nutrition data. I put those fields in a set used only by the products that actually need them. Everyone else gets a shorter form with no empty compliance boxes.
-
Marketplace integrations (Amazon, Google Shopping)
Amazon and Google Merchant Center reject items that are missing required fields such as GTIN, MPN, brand, age group or gender. A "Marketplace" set makes sure every product that goes into a feed has those fields on its form. Much easier than adding them product by product after a feed comes back full of errors.
Three traps that corrupt your EAV data or break the admin UX
Every "the product form is unusable" or "we lost half our attribute values" ticket traces back to one of these. Avoid all three.
-
Changing the attribute set after launch
Magento technically lets you change a product’s attribute set after creation, but the operation drops every attribute value not in the new set, with no warning, no confirmation, no undo. Books-set product with 8 custom attributes moved to Electronics-set loses all 8 values instantly. If you genuinely need to migrate a product to a new set, clone it (duplicate with the new set chosen), copy values manually, then delete the old SKU. Treat attribute set as immutable per product.
-
Stuffing too many attributes into one set
The temptation to put every conceivable attribute into Default "so we have it if we need it" produces a 50-tab product form that crashes Chrome on mid-tier laptops. Merchandisers refuse to use it; data quality collapses; new product onboarding takes an hour per SKU. Cap each set at ~30 attributes split across 5-8 Groups. Split by vertical, not by hope. If you find yourself adding a 31st attribute, the answer is a new set, not a new tab.
-
Forgetting filterable / promo flags on key attributes
Adding an attribute to a set isn’t enough, the attribute itself has flags that decide its storefront behaviour. Use in Layered Navigation must be on for layered nav. Use for Promo Rule Conditions must be on for cart price rules to read it. Visible on Catalog Pages on Storefront must be on for the value to render on the PDP. Add the attribute to the set, then audit these flags, otherwise features fail silently and "the filter isn’t working" turns into a two-hour debug.
Magento Attribute Set: frequently asked questions
-
Can I delete a Magento attribute set?
Yes, but only if no products are currently using it. Magento blocks the delete (and surfaces an error) if even one SKU is assigned to the set. To delete a set safely: move or delete every product on it first, then go to Stores → Attributes → Attribute Set, open the set, and click Delete. The Default set cannot be deleted, it’s the system fallback every product can be cloned from. -
How do attribute sets affect layered navigation?
Layered navigation (the filter sidebar on a PLP) reads from products in the current category. It collects every attribute marked "Use in Layered Navigation" across those products and offers them as facets. If your category contains products from mixed attribute sets, the facets get inconsistent, "Author" appears for some products but not others, and clicking it filters out everything that doesn’t have the attribute. For clean filter UX, keep one set per category vertical. Attribute sets don’t directly control layered nav, but they control which attributes a product carries, which in turn controls the facets. -
What's the difference between attribute set, attribute group, and attribute?
Three layers, top-down. Attribute is the smallest unit, a single field like "Author" or "ISBN", defined globally in Stores → Attributes → Product. Attribute group is a collection of attributes that appear as one tab in the product edit page, "Book Info" group containing Author + Publisher + ISBN + Pages. Attribute set is a named collection of attribute groups (and therefore attributes) assigned to a product, "Books Set" containing "Book Info" group + "General" group + "SEO" group. Attribute → Group → Set → Product. -
Can two attribute sets share the same attribute?
Yes, and this is the normal case. Attributes are defined once globally; sets just reference them. The "Author" attribute can live in both a "Books" set and a "Sheet Music" set; the "Color" attribute lives in nearly every set you’ll ever create. The shared definition means a value entered on a Books product is the same data type, label, validation, and storefront behaviour as one entered on a Sheet Music product. Edit the attribute once, every set that uses it inherits the change. -
Does Hyvä affect Magento attribute sets?
No. Attribute sets are an admin-side / data-modelling concept, they live in EAV tables and surface in the Magento admin product form. Hyvä is a storefront theme that replaces Luma’s frontend rendering. Hyvä reads the same product attributes from the same database, just renders them with Tailwind + Alpine instead of LESS + KnockoutJS. You design attribute sets exactly the same way regardless of which storefront theme you ship. The only attribute-related thing Hyvä changes is the PDP / PLP template that renders the values, not the data model. -
How do attribute sets work with PIM tools like Akeneo?
PIM tools maintain the canonical attribute taxonomy externally and sync into Magento. Akeneo’s "Family" concept maps directly to Magento’s "Attribute Set", both group attributes by product type. The Akeneo ↔ Magento connector creates or updates attribute sets in Magento from Akeneo families on each sync. For large catalogues (5k+ SKUs across multiple verticals), this is usually cleaner than managing sets manually in Magento admin: enrichment happens in Akeneo where the UX is designed for product data, and Magento receives the finished structure. Smaller catalogues can stay native-Magento without the PIM overhead.
Want an attribute-set audit on your Magento store?
Send your storefront URL: I will review your attribute sets, layered-nav facets, and EAV data quality, then reply with a written remediation plan, fixed-price quote, and earliest start date. 24-business-hour turnaround.