Documentation
Product Merger documentation
How to set up and use Product Merger: install, settings and fixes for common problems.
Overview
Product Merger combines existing WooCommerce simple products into one variable product. Each source product becomes a variation, with a preview, a log, redirects and rollback.
Where to find it: WooCommerce → Product Merger.
What you need
- WordPress 6.4 or newer
- PHP 8.1 or newer
- WooCommerce 8.0 or newer
- A user who can manage WooCommerce
Install
- With The Vault (easiest): open The Vault in your WordPress menu, find Product Merger and click Install. It is installed and activated for you.
- By hand: buy a license on the plugin page, then go to Plugins → Add New → Upload Plugin, choose the zip and activate it.
Updates arrive automatically from wpwizards.com, like plugins from WordPress.org.
License
This is a premium plugin. Open The Vault → Licenses, paste the key from your order confirmation and click Activate License. WP Wizards clients have every plugin included while their service is active, with no key needed. Without a license the plugin keeps working but stops receiving updates.
Quick start
- Select the products. Open WooCommerce → Product Merger and search by name, ID or SKU. Select at least two simple products. You can also tick products under Products → All Products and choose the bulk action Merge into Variable Product.
- Choose the parent. Pick which product supplies the parent details, and whether to create a new parent or convert that product into the parent.
- Set attributes and mapping. Choose the variation attribute and what to copy: SKU, prices, stock, shipping, downloads, images and custom fields.
- Preview, then confirm. Generate the preview and check it. Nothing changes until you type
MERGEto confirm.
What it does and does not do
- Source products are archived, never permanently deleted.
- Reviews can be moved or copied to the parent.
- Old product URLs redirect to the new parent, and can preselect the matching variation.
- Past order line items are not rewritten by default.
- Customer carts already in progress are not rewritten.
- Protected and internal custom fields are not copied blindly.
History and rollback
WooCommerce → Merger History lists every merge with the date, administrator, parent product, variations, reviews, warnings and errors. Open a merge to see a rollback preview, then type ROLLBACK to restore the source products. An interrupted merge can be resumed from the same list.
Settings
WooCommerce → Merger Settings holds the defaults for new merges, such as the parent status (draft by default) and what is copied.
Limits
Only simple products can be merged. Variable, grouped, external and subscription products are not supported. Each product can be part of one merge at a time; a product in use by another merge is locked until that merge finishes.
Troubleshooting and questions
The preview shows a duplicate SKU.
Two source products would give the same SKU to different variations, or the SKU is already used by another product. Change the SKU mapping and preview again.
A product cannot be selected.
It is not a simple product, or it is already part of an unfinished merge.
Will SEO titles carry over?
With an SEO plugin active, the title and description can be inherited by the parent. Canonical URLs are not copied because they point at the retired product.
Are downloadable files kept?
Download files are copied to the variation. Download permissions on past orders are not changed.
For developers
wpwpm_after_merge_completed |
Action fired when a merge finishes. |
|---|---|
wpwpm_after_variation_created |
Action fired for each new variation. |
wpwpm_should_copy_meta_key |
Filter whether a custom field is copied. |
wpwpm_allowed_meta_keys / wpwpm_denied_meta_keys |
Filter the lists of custom fields that may or may not be copied. |
wpwpm_redirect_status_code |
Filter the redirect status for retired product URLs. |
wpwpm_validation_result |
Filter the result of the pre-merge checks. |
Get help
Stuck on something this page does not cover? Contact us and tell us which plugin and version you are on. Need it to do something it does not do yet? We build custom plugins too.



