Introducing Variant Manager
A time-saving Craft CMS plugin that manages product variants

By Foster Commerce
Mar 21, 2025
Tech Drop
with Michael Van Dorth, Senior Engineer
Introduction
To help Craft Commerce website administrators save time and effort, we automated the variant management process with a new plugin, Variant Manager.
With our plugin, site admins update a product-specific CSV file once and then upload it to the website to apply all the changes to variants. Using the same process, site admins can also create new products with unique variants in their Craft Commerce site.
Additionally, and maybe most exciting for developers, Variant Manager allows site admins to name custom attribute groups per product, which gives them endless flexibility in creating and displaying product add-ons and features.
This tech drop explains how I and other team members developed the plugin and how it can help you with your next build.
The Craft Commerce variant management backstory
The Craft Commerce UI for creating and editing product variants is suitable for products with a few variants. However, variant management in Craft can quickly become unwieldy when products have twenty or more variations.
Here's why: Craft Commerce doesn't make assumptions about a store's variants.
First, Craft has no default way to store variant options since there are no native variant option fields. Without a default way to configure how variant option data is stored, developers must figure this out per-build.
Second (and understandably due to the lack of native variant option fields), developers most commonly hard-code specific fields per variant group, such as Color or Size. This means any changes to these variant option groups require developers to modify the field configuration and possibly the front-end templates.
With the hard-coded route, variant option fields instantly become more complex when a company sells a wide variety of products. If, for example, a company sells products that don’t share the same variant options, such as shirts and mugs, the work to manage variant data can quickly multiply.
These challenges are unnecessary. Our vision is to make managing variants within Craft Commerce easier and more standardized between builds. We imagine that variant option fields should allow dynamic content, enabling the side benefit of creating fewer “Product Types” in Craft Commerce.
With Variant Manager, we've made our vision a reality.
Solving the problem of managing many variants
We strongly believe that developers should create tools to enhance businesses' and individuals' existing processes, not to enforce a new way of doing things.
As developers who solve problems for clients, we first learn how site administrators already manage workflows. Then, we figure out how we can make their workflows easier.
Sometimes, this may mean following a pre-defined path Craft Commerce has for inputting product data, but sometimes not!
In cases where creating a new tool is a better path, we take time to ask questions and get a clear picture so we can adapt Commerce to the business workflows.
After all, the adage "time is money" still rings true, and anything we can do to make the client's life easier and less time-consuming is money in their pocket.
In the case of developing a solution to variant management, we knew that site administrators commonly track large numbers of products using spreadsheets.
If we had stayed with the existing Craft Commerce method of inputting product variants manually, this would have been very time-consuming for many of our ecommerce clients.
As we considered solutions, someone asked an insightful question:
"What if we just allow them to upload the file directly in the Craft Commerce control panel and create a plugin to automate the variant creation process?"
To explore this question, we decided that the variant option groups should allow for dynamic content, which introduced a significant technical challenge — and another question!
"How could we develop a method for administrators to include unique attribute groups per product based on two-dimensional data (a CSV file)?"
We solved this problem by using CSV column headers, which developers can configure in the plugin to be whatever the admins need or want them to be.
The plugin parses through these columns to populate the CSV data into the Variant Manager field for each variant.
Now, admins and store owners don't need to ask developers to create new fields for new attribute groups or wade through the variant interface whenever they want to add a new type of product or variant option.
Instead, site admins can use our plugin to create dynamic product variant options, simplifying the work of variant management.
Time savings for site administrators and devs
Generally speaking, our plugin makes Craft Commerce a more viable solution for businesses with large and complex product catalogs. Specifically, the most significant impact is time saved for the site admins and the developers who have previously hard-coded variant options.
Whether admins need to import new data, create a new variant option group, or update the existing product variant data, their work is simplified. With the Variant Manager plugin, now admins only need to update product data in their spreadsheet and upload the spreadsheet to Craft Commerce.
To give a client this functionality, developers only need to take a few simple steps. First, install our plugin. Then, add the Variant Manager field to the variant field layout. Lastly, work on the templates to fetch and display the variant data (see our docs for front-end code examples)
We're pleased that Craft Commerce site administrators can enjoy the ease and flexibility that Variant Manager provides—and that this needed tool is now available to other merchants and developers.
If you have questions about Variant Manager or want to see it in action, get in touch.