
Global Custom Options for Magento 2 — Reusable Option Templates
Define a set of Magento 2 custom options once, save it as a reusable template, and apply it to as many products as you like. Edit the template and the options sync to every assigned product — with per-store-view translated labels.
Define a set of custom options once, apply it to every product
Magento's custom options live on one product at a time, so the same engraving, gift-wrap or warranty option gets re-created by hand on product after product — and drifts out of sync the moment a price changes. Global Custom Options turns them into a reusable template: build the option set once, assign it to as many products as you like, and edit it in one place. Save the template and its options are pushed to every assigned product automatically.
How it works
Choose how options are applied
Each template has a sync behaviour, so you control what happens to a product's existing options when the template is pushed:
Built for multi-store
A template can carry per-store-view translations for its option and value labels. You map a default label to each language (for example Engraving → "Gravur" for German, "Gravure" for French), and on sync the engine resolves those locales to your store views and writes the translated titles to each. The price, type and structure stay shared; only the labels are localised — so an international catalogue shows the right wording in every storefront.
Manage templates
- A template has a code, a name and an active/inactive flag, plus its option set and any per-store labels.
- Assign and unassign products from the template; the assignment is what the sync pushes to.
- Export and import templates as CSV — move an option library between environments, with an add-only import mode.
- Mass enable, disable or delete templates from the grid.
Specifications
| Magento | Open Source 2.4.9 and later 2.4.x |
|---|---|
| PHP | 8.4 and 8.5 (verified) |
| What it does | Reusable custom-option templates, assigned to products and synced on save |
| Sync modes | Append, update (match by title), overwrite |
| Multi-store | Per-store-view translated option and value labels |
| Templates | Code, name, active flag; CSV export/import; mass enable/disable/delete |
| Access control | Manage and config permissions |
| Dependencies | None — no third-party libraries |
| Delivery & licence | Composer install, per-domain licence key, updates via Composer |
Works with
Part of the AgenticEcom suite for Catalog & Products:
Included in the Growth and Enterprise bundles.
Frequently asked questions
How do I apply the same custom options to multiple products in Magento 2?
Build the options once as a template, assign the products you want, and save. The template's options are pushed to every assigned product, so you never re-create the same option set by hand.
If I change a template, do the products update?
Yes. Editing and saving a template re-pushes it to every assigned product, using the template's sync behaviour — so a price or option change is applied everywhere in one save.
What's the difference between append, update and overwrite?
Append adds the template's options to a product's existing ones; update replaces only the options whose title matches the template and leaves the rest; overwrite clears the product's options and applies exactly the template.
Can option labels be translated per store view?
Yes. A template can hold per-store-view labels for its option and value titles, mapped by language; on sync the correct translated label is written for each store view, while the price and structure stay shared.
Can I move templates between Magento environments?
Yes. Templates export to CSV and import back (with an add-only mode), so you can carry an option library from staging to production.
Which Magento and PHP versions are supported?
Magento Open Source 2.4.9 and later 2.4.x, verified on PHP 8.4 and 8.5, with no third-party dependencies.

