Create product presets

Product presets are store-managed starting configurations for a specific product. Use them to publish links that open a Product Add-Ons or POM Composite product with predefined choices, quantities, and supported nested component options.

Unlike a customer's saved configuration, a preset is public product content. It does not belong to an account, expire, or require a bearer token.

Prerequisites

  • Enable Product presets and saved configurations under Settings → POM Tweaks → E-Commerce. The separate customer-saving permission can remain disabled when the store needs presets only.
  • Enable Product Add-Ons, Composite products, or both in the same section.
  • Save the product and complete its Product Add-Ons or Composite setup before creating a preset.
  • Use a supported configurable product. The preset tab remains informational when the current product does not expose an active configuration.

Create a preset

  1. Open Products and edit the configurable product.
  2. In Product data, select Product presets.
  3. Select Add preset.
  4. Enter a customer-readable Preset name.
  5. Enter a Preset slug, or leave it empty to generate one from the name.
  6. For a variable Product Add-Ons product, choose the variation.
  7. Complete the Product Add-Ons fields or the full Composite builder shown in the modal. Composite presets support chapter selections, component quantities, variations, and supported Product Add-Ons attached to selected components. Set the configuration quantity in the builder; the modal saves the current choices directly without adding the product to the cart.
  8. Select Save preset.

The slug is passed through WordPress sanitize_title(). It must be unique only among presets on the same product. If that product already contains the requested slug, POM Tweaks appends -2, -3, or the next available suffix. Another product may use the same slug without conflict.

Open and share the preset URL

The preset list provides Open preset. Its URL uses the product permalink plus the preset query parameter:

https://example.com/product/example-product/?preset=example-preset

Copy that URL into a button, menu, campaign, or other public content. The slug is a selector, not an authorization credential, so do not place private customer data in a preset.

When the URL opens, POM Tweaks resolves the stored UUID-based intent against the current product configuration. Current translated labels, option availability, stock rules, required fields, taxes, and server-calculated prices win. The stored readable snapshot is never accepted as price authority and a preset does not preserve an historical price.

Fields and Composite chapters that enable Push changes to URL can be combined with preset in the same address. The preset is applied first; each explicit opted-in Add-On or component parameter then replaces only its own value. Changing one of those controls updates the address while preserving preset, so the resulting combined starting point can be copied directly from the browser.

If an option was removed or disabled, the product page reports the current adjustment or incomplete requirement. The customer must complete any missing required values before WooCommerce can add the product to the cart.

File fields and personal data

File uploads cannot be placed in a preset. The editor identifies file fields but does not offer an upload control. A customer must select the current file after opening the preset, including when the file is required.

Text, text-area, date, and customer-price fields can be authored into a public preset. Treat those values as public catalog content and never enter customer or other sensitive data. Account privacy export and erasure do not remove product presets because presets are product content, not account records.

Edit or delete a preset

  1. Return to Products → Edit product → Product data → Product presets.
  2. Select Edit to reopen the current configurator, change the name, slug, quantity, or choices, and save it again. Saving updates that preset in place. Keep its slug unchanged to preserve links already shared with customers.
  3. Select Delete and confirm to remove the preset from the product.

If two administrators change the preset collection at the same time, the later stale write is rejected. Reload the product before retrying so a newly created preset or slug is not overwritten.

Deleting a preset makes its ?preset= URL fall back to the normal unconfigured product page. Trashing a product retains its metadata while the product remains recoverable; permanently deleting the product removes its presets with the rest of the product metadata.

WooCommerce product duplication does not copy presets. Create presets explicitly on the duplicated product so their product and variation references cannot point back to the source product.

Verify the result

  • Create two presets with the same requested slug and confirm that the second receives a numeric suffix.
  • Open a Product Add-Ons preset and confirm its variation, quantity, conditional fields, and selected options.
  • Open a Composite preset and confirm its chapters, quantities, variations, and supported nested add-ons.
  • Change a price, disable an option, and add a required field; reopen the same URL and confirm that current data and current pricing are used.
  • Include a file field and confirm that the preset does not store or restore a file.
  • Open the URL while signed out and confirm that it applies without creating an account.
  • Add opted-in Add-On and Composite parameters beside preset, change and clear their values, and confirm they override only their named Preset values while preserving the Preset parameter.
  • Add the configured result through the classic product form and through a compatible Blocks flow, then confirm the current configuration and totals in the cart.