User Documentation

Getting Started

Welcome to VM Advanced WooCommerce Sales! This guide will help you get started with the plugin.

Requirements

  • WordPress 5.8 or higher
  • PHP 7.4 or higher
  • WooCommerce 6.0 or higher
  • VM Update Manager Client (for updates and license management)
  • A valid license key (for premium features and updates)

Installation

  1. Upload the plugin files to the /wp-content/plugins/vm-woo-advanced-sales directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress.
  3. Ensure WooCommerce is installed and activated.
  4. Install and activate VM Update Manager Client to receive updates (see License Activation)
  5. Navigate to WooCommerce → Storewide Sales to start creating sales.

License Activation

License activation is handled through VM Update Manager Client:

  1. Install and activate VM Update Manager Client plugin
  2. Navigate to VM Updates in WordPress admin
  3. Connect to your host site (where you purchased the license)
  4. Your VM Advanced WooCommerce Sales license will appear in the dashboard
  5. The plugin will automatically check for updates once registered

Your license enables automatic updates and priority support. See License Activation for detailed instructions.

Quick Start: Creating Your First Storewide Sale

  1. Go to WooCommerce → Storewide Sales
  2. Click Add New Sale
  3. Enter a name for your sale (e.g., “Black Friday Sale”)
  4. In the General Settings tab:
    • Enable the sale by checking Enable Sale
    • Set your sale amount and type (Percentage or Fixed)
    • Set start and end dates
    • Choose override mode for product-level sales
  5. In the Restrictions tab (optional):
    • Select specific products, categories, or tags to include/exclude
    • Set user role restrictions
  6. Click Save Sale

Your storewide sale will now be active and apply to products based on your settings!

License Activation and Updates

VM Advanced WooCommerce Sales uses VM Update Manager for license management and automatic updates.

Requirements

To receive updates, you must have:

  1. VM Update Manager Client plugin installed and activated
  2. A valid license key for VM Advanced WooCommerce Sales
  3. An active subscription (if applicable)

Installing VM Update Manager Client

If you don’t have VM Update Manager Client installed:

  1. Download VM Update Manager Client from your account
  2. Install and activate it in WordPress
  3. Connect to your host site (where you purchased the license)
  4. Navigate to VM Updates in the WordPress admin menu
  5. Your licensed plugins, including VM Advanced WooCommerce Sales, will appear in the dashboard

Activating Your License

License activation is handled through the VM Update Manager Client:

  1. Ensure VM Update Manager Client is installed and activated
  2. Navigate to VM Updates in WordPress admin
  3. Connect to your host site if not already connected
  4. Your VM Advanced WooCommerce Sales license will appear in the list of available plugins
  5. The plugin will automatically check for updates once registered

License Status

License status is displayed in the VM Updates dashboard:

  • Active (green): License is valid and updates are available
  • Expired (red): License has expired – renew to continue receiving updates

Checking for Updates

Updates are checked automatically:

  • On WordPress Updates page load
  • Daily via cron job
  • After connecting to host site in VM Update Manager Client

Updates also appear in:

  • DashboardUpdates (WordPress Updates page)
  • Plugins page (WordPress Plugins list)
  • VM Updates dashboard

Update Restrictions

If you see update messages in the WordPress plugin manager:

  • “You don’t have a subscription, subscribe to update”: Your license is not active or you don’t have a subscription. Click the link to purchase or subscribe.
  • “Your subscription expired, renew to update”: Your license has expired. Click the link to renew your subscription.
  • “VM Update Manager Client is required”: VM Update Manager Client is not installed. Install it to receive updates.

Renewing Expired Licenses

When your license expires:

  1. Navigate to VM Updates dashboard
  2. Find VM Advanced WooCommerce Sales in the list
  3. Click the Renew button (if available)
  4. You’ll be redirected to the renewal URL configured on the host site
  5. Complete the renewal purchase
  6. Return to your site – the license will be reactivated automatically

Troubleshooting

Updates Not Appearing

Common Causes:

  • VM Update Manager Client not installed or not activated
  • Not connected to host site
  • License expired or invalid
  • Plugin not registered with VM Update Manager Client

Solutions:

  1. Verify VM Update Manager Client is installed and activated
  2. Check connection status in VM Updates dashboard
  3. Verify license is active on host site
  4. Manually check for updates in VM Updates dashboard

“VM Update Manager Client is required” Message

Solution:

  1. Install VM Update Manager Client plugin
  2. Activate the plugin
  3. Connect to your host site
  4. Updates will appear automatically

License Not Working

Solutions:

  1. Verify you have an active subscription
  2. Check that you haven’t exceeded activation limits
  3. Ensure your license hasn’t expired
  4. Verify connection to host site in VM Update Manager Client
  5. Contact support with your license key if needed

Automatic Updates

With a valid license and VM Update Manager Client installed, you’ll receive automatic updates for the plugin. Updates include:

  • New features
  • Bug fixes
  • Security patches
  • Performance improvements

Updates can be installed from:

  • WordPress Updates page
  • VM Updates dashboard
  • Plugins page (when update is available)

Creating and Managing Storewide Sales

This guide explains how to create and manage storewide sales in VM Advanced WooCommerce Sales.

Creating a New Sale

  1. Navigate to WooCommerce → Storewide Sales
  2. Click Add New Sale
  3. Fill in the sale details:

Sale Name

Enter a descriptive name for your sale (e.g., “Summer Sale 2024”, “Black Friday Discount”).

General Settings

Enable Sale

Toggle this on/off to activate or deactivate the sale. Disabled sales will not apply to any products.

Override Individual Sales

Choose how this storewide sale interacts with product-level sales:

  • Do not override: Storewide sale is ignored if the product has its own sale price
  • Apply both: Both the product-level sale and storewide sale apply (the better discount wins)
  • Override: Storewide sale replaces any product-level sale when restrictions match

Sale Amount

Enter the discount amount. This can be a percentage or fixed amount depending on your sale type.

Sale Type

  • Percentage: Discount is calculated as a percentage off the regular price
  • Fixed: Discount is a fixed amount subtracted from the regular price
  • Box Quantity: Discount applies based on quantity thresholds at intervals (e.g., 20% off when ordering 12+ items, with discounts applying to complete “boxes” only)

Sale Start Date

Set when the sale should begin. Leave empty for immediate start.

Sale End Date

Set when the sale should end. Leave empty for no end date.

Quantity Threshold (Box Quantity Sales Only)

When Sale Type is set to Box Quantity, this field appears. Enter the quantity required to qualify for the discount (e.g., 12 for a box of wine). The discount will apply to complete boxes only, with any remainder at regular price.

How it works:

  • If a customer orders exactly the threshold quantity (e.g., 12), all items get the discount
  • If a customer orders more than the threshold (e.g., 15), only the first complete box(es) get the discount, remainder at regular price
  • If a customer orders multiple complete boxes (e.g., 24), all items get the discount

Examples:

  • Box size: 12, Discount: 20%, Customer orders: 15 items
    • 12 items get 20% discount
    • 3 items at regular price
  • Box size: 12, Discount: 20%, Customer orders: 24 items
    • All 24 items get 20% discount (2 complete boxes)
  • Box size: 12, Discount: 20%, Customer orders: 27 items
    • 24 items get 20% discount (2 complete boxes)
    • 3 items at regular price

Priority

Higher priority sales (lower numbers, shown at top) will override lower priority sales when restrictions match. You can reorder sales by dragging them on the main sales page.

Restrictions Tab

Product Restrictions

Include Products: Only products selected here will receive the discount. Leave empty to include all products.

Exclude Products: Products selected here will be excluded from the sale, even if they match other criteria.

Category Restrictions

Include Categories: Only products in selected categories will receive the discount. Leave empty to include all categories.

Exclude Categories: Products in selected categories will be excluded from the sale.

Tag Restrictions

Include Tags: Only products with selected tags will receive the discount. Leave empty to include all tags.

Exclude Tags: Products with selected tags will be excluded from the sale.

Role Restrictions

Select which WordPress user roles should receive this discount. If no roles are selected, the sale applies to all users (including guests).

Managing Sales

Reordering Sales

Sales are processed by priority. To change priority:

  1. Go to WooCommerce → Storewide Sales
  2. Drag sales up or down by clicking the drag handle (☰) on the left
  3. Priorities update automatically

Sales at the top have higher priority and will override sales below when restrictions match.

Enabling/Disabling Sales

You can enable or disable sales:

  • Individual: Edit the sale and toggle Enable Sale
  • Bulk: Select multiple sales from the list, choose Enable or Disable from bulk actions, then click Apply

Deleting Sales

  • Individual: Click Delete from the sale’s row actions
  • Bulk: Select sales and choose Delete from bulk actions

Priority and Override Behavior

The plugin uses an intelligent priority system:

  • Higher priority sales override lower priority sales only when their restrictions match
  • Lower priority sales continue to apply where higher priority sales don’t match restrictions
  • Example: A 10% sale for all products + a 15% sale for category “Electronics” with higher priority = 15% for Electronics, 10% for everything else

See Priority System for detailed examples.

Creating and Managing Cart Gifts

This guide explains how to create and manage cart gifts in VM Advanced WooCommerce Sales.

Creating a New Cart Gift

  1. Navigate to WooCommerce → Cart Gifts
  2. Click Add New Gift
  3. Fill in the gift details:

Gift Name

Enter a descriptive name for your cart gift (e.g., “Spend $150 Get Free Gift”, “Category Purchase Bonus”).

General Settings

Enable Gift

Toggle this on/off to activate or deactivate the cart gift. Disabled gifts will not apply to any carts.

Gift Discount Percentage

Enter the discount percentage for gifts (0-100).

  • 100 means the gift is completely free
  • 80 means customers get 80% off (pay 20% of the original price)
  • 0 means no discount (not recommended for gifts)

Start Date

Set when the cart gift should begin. Leave empty for immediate start.

End Date

Set when the cart gift should end. Leave empty for no end date.

Priority

Higher priority gifts (lower numbers, shown at top) will override lower priority gifts when conditions match. You can reorder gifts by dragging them on the main gifts page.

Conditions Tab

Cart Total Threshold

Enter the minimum cart subtotal required to qualify for this gift. Leave empty if not needed.

Example: If set to 150, customers must have at least $150 in their cart (before gifts) to qualify.

Category Total Thresholds

Set minimum spending thresholds for specific product categories. You can add multiple category thresholds.

How it works:

  • All category thresholds must be met for the gift to be available
  • Category totals are calculated from the subtotal of products in that category
  • Multiple category conditions work together (AND logic)

Example:

  • Category “Wine”: $85 threshold
  • Category “Cheese”: $30 threshold
  • Result: Customer must spend at least $85 on wine products AND at least $30 on cheese products

Adding Category Thresholds:

  1. Click Add Category Threshold
  2. Select a product category
  3. Enter the minimum spending amount for that category
  4. Add more category thresholds as needed

Gifts Tab

Maximum Selectable Gifts

Enter the maximum number of different gifts a customer can select from the carousel. Default is 1.

Examples:

  • 1: Customer can select 1 gift from the available options
  • 2: Customer can select 2 different gifts from the available options
  • 3: Customer can select 3 different gifts from the available options

Selectable Gift Products

Choose products that will appear in the carousel for customers to select. Customers can choose up to the maximum selectable number of different products.

How it works:

  • Products appear in a carousel above the cart when conditions are met
  • Customers click “Add to Cart” to select a gift
  • Once selected, the gift shows as “Already in cart” and cannot be selected again
  • If maximum selectable is reached, remaining gifts are disabled

Auto-Add Gift Products

Choose products that will be automatically added to the cart when conditions are met. These will be removed if conditions are no longer met.

How it works:

  • Products are automatically added when cart conditions are satisfied
  • Products are automatically removed if cart is edited and conditions are no longer met
  • A notification appears in the cart when auto-gifts are added

Restrictions Tab

Restrictions allow you to control when cart gifts apply based on the products and categories in the customer’s cart. Restrictions are evaluated before conditions (cart totals, category totals).

Include Products

Only apply this gift when the cart contains at least one of these products. Leave empty to apply to all products.

How it works:

  • If products are specified, the cart must contain at least one of them for the gift to apply
  • If left empty, the gift can apply regardless of which products are in the cart
  • Works with both simple products and product variations

Example:

  • Include Products: “Premium Wine Bottle”, “Gift Card”
  • Result: Gift only applies if cart contains at least one of these products

Exclude Products

Exclude this gift when the cart contains any of these products. If an excluded product is in the cart, the gift will not apply.

How it works:

  • If any excluded product is found in the cart, the gift is immediately excluded
  • Exclude takes precedence over include – if a product is both included and excluded, the gift won’t apply
  • Works with both simple products and product variations

Example:

  • Exclude Products: “Gift Card”
  • Result: Gift will not apply if the cart contains a gift card, even if other conditions are met

Include Product Categories

Only apply this gift when the cart contains at least one product from these categories. Leave empty to apply to all categories.

How it works:

  • If categories are specified, the cart must contain at least one product from at least one of these categories
  • If left empty, the gift can apply regardless of product categories
  • Products can belong to multiple categories – if any category matches, the condition is met

Example:

  • Include Categories: “Wine”, “Cheese”
  • Result: Gift only applies if cart contains at least one product from Wine or Cheese categories

Exclude Product Categories

Exclude this gift when the cart contains any product from these categories. If any product from an excluded category is in the cart, the gift will not apply.

How it works:

  • If any product from an excluded category is found in the cart, the gift is immediately excluded
  • Exclude takes precedence over include – if a category is both included and excluded, the gift won’t apply
  • Products can belong to multiple categories – if any category matches an excluded category, the gift won’t apply

Example:

  • Exclude Categories: “Sale Items”, “Clearance”
  • Result: Gift will not apply if the cart contains any product from Sale Items or Clearance categories

Role Restrictions

Select which WordPress user roles should receive this gift. If no roles are selected, the gift applies to all users (including guests).

How it works:

  • If roles are specified, only users with those roles will see the gift
  • If left empty, the gift applies to everyone (logged-in users and guests)
  • Users must be logged in to match role restrictions – guests will not receive gifts with role restrictions

Example:

  • Role Restrictions: “Customer” only
  • Result: Only logged-in customers with the Customer role will see this gift

How Restrictions Work Together

Restrictions use AND logic – all restriction types must pass for the gift to apply:

  1. Product Restrictions: Cart must meet include/exclude product rules
  2. Category Restrictions: Cart must meet include/exclude category rules
  3. Role Restrictions: User must match role restrictions (if set)

Example Configuration:

  • Include Products: “Premium Wine Bottle”
  • Exclude Categories: “Sale Items”
  • Role Restrictions: “Customer”

Result: Gift only applies if:

  • Cart contains “Premium Wine Bottle” AND
  • Cart does NOT contain any products from “Sale Items” category AND
  • User is logged in with “Customer” role

Important Notes:

  • Restrictions are checked before conditions (cart totals, category totals)
  • If restrictions fail, the gift won’t apply even if conditions are met
  • Gift items themselves are excluded from restriction checks (to avoid circular logic)
  • Exclude rules take precedence over include rules

Managing Cart Gifts

Reordering Gifts

Gifts are processed by priority. To change priority:

  1. Go to WooCommerce → Cart Gifts
  2. Drag gifts up or down by clicking the drag handle (☰) on the left
  3. Priorities update automatically

Gifts at the top have higher priority and will override gifts below when conditions match.

Enabling/Disabling Gifts

You can enable or disable gifts:

  • Individual: Edit the gift and toggle Enable Gift
  • Bulk: Select multiple gifts from the list, choose Enable or Disable from bulk actions, then click Apply

Deleting Gifts

  • Individual: Click Delete from the gift’s row actions
  • Bulk: Select gifts and choose Delete from bulk actions

Priority and Override Behavior

The plugin uses an intelligent priority system:

  • Only one selectable gift panel displays at a time – when multiple cart gifts have conditions that match, only the highest priority gift (priority 1 is highest) will show its selectable gift panel
  • Auto-add gifts from multiple cart gifts can apply simultaneously – auto-add gifts are not affected by the priority system and will be added from all matching cart gifts
  • Higher priority gifts override lower priority gifts for selectable gift display only when their conditions match
  • Example: A gift for $150 cart total (priority 2) + a gift for $250 cart total (priority 1) = When cart is $250+, only the $250 gift panel shows. When cart is $150-$249, only the $150 gift panel shows

Frontend Experience

When customers meet the conditions for a cart gift:

  1. A single carousel panel appears above the cart showing available selectable gifts from the highest priority matching cart gift
  2. Only one gift panel displays at a time – if multiple cart gifts match conditions, only the highest priority one (priority 1 is highest) will be shown
  3. Each gift panel shows:
    • Product image
    • Product name
    • “Add to Cart” button (or “Already in cart” if selected)
  4. Gifts already added are visually indicated
  5. If maximum selectable is reached, remaining gifts are disabled

Notifications

Two types of notifications appear in the cart:

  1. Auto-Added Gifts: “Free gifts have been automatically added to your cart!”
  2. Eligible for Selection: “You are eligible to select free gifts! Scroll up to see available gifts.”

Gift Badges

Gift items in the cart show a badge:

  • Auto-added gifts: “(Free Gift)”
  • Selected gifts: “(Selected Gift)”

Common Scenarios

Scenario 1: Simple Cart Total Gift

Goal: Give 1 free gift when customer spends $150

Setup:

  • Cart Total Threshold: 150
  • Maximum Selectable Gifts: 1
  • Selectable Gift Products: Choose 5 products
  • Gift Discount Percentage: 100

Result: When cart reaches $150, carousel shows 5 gift options. Customer can select 1 free gift.

Scenario 2: Tiered Gifts

Goal: Give 1 gift at $150, 2 gifts at $250

Setup:

  • Gift 1 (Priority 2):
    • Cart Total Threshold: 150
    • Maximum Selectable: 1
    • Selectable Gift Products: 5 products
  • Gift 2 (Priority 1 – higher):
    • Cart Total Threshold: 250
    • Maximum Selectable: 2
    • Selectable Gift Products: 5 products

Result: At $150, customer sees Gift 1 options (1 selection). At $250, customer sees Gift 2 options (2 selections) which overrides Gift 1.

Scenario 3: Auto-Add + Selectable

Goal: Auto-add 1 gift, allow customer to select 1 more

Setup:

  • Cart Total Threshold: 150
  • Auto-Add Gift Products: 1 product
  • Maximum Selectable Gifts: 1
  • Selectable Gift Products: 5 products

Result: When cart reaches $150, 1 gift is auto-added and customer can select 1 more from the carousel.

Scenario 4: Category-Based Gift

Goal: Auto-add gift when customer spends $85+ in “Wine” category (Customer role only)

Setup:

  • Category Total Thresholds: Wine category = 85
  • Role Restrictions: Check “Customer” only
  • Auto-Add Gift Products: 1 product
  • Gift Discount Percentage: 100

Result: When logged-in customers with “Customer” role have $85+ of wine products, gift is auto-added.

Scenario 5: Product-Specific Gift with Exclusions

Goal: Give gift only when cart contains specific products, but exclude if cart has gift cards

Setup:

  • Include Products: “Premium Wine Bottle”, “Champagne”
  • Exclude Products: “Gift Card”
  • Cart Total Threshold: 150
  • Maximum Selectable Gifts: 1
  • Selectable Gift Products: 3 products
  • Gift Discount Percentage: 100

Result: Gift only applies when cart contains Premium Wine Bottle or Champagne, has $150+ total, and does NOT contain a Gift Card.

Scenario 6: Category-Based Restrictions

Goal: Gift for Wine category only, but exclude if cart has sale items

Setup:

  • Include Categories: “Wine”
  • Exclude Categories: “Sale Items”, “Clearance”
  • Cart Total Threshold: 100
  • Auto-Add Gift Products: 1 product
  • Gift Discount Percentage: 100

Result: Gift applies when cart contains Wine products (not from Sale Items or Clearance) and meets $100 threshold.

Scenario 7: Combined Restrictions

Goal: Exclusive gift for VIP customers buying premium products, excluding certain categories

Setup:

  • Include Products: “Premium Wine Collection”, “Luxury Gift Set”
  • Include Categories: “Wine”, “Gourmet”
  • Exclude Categories: “Sale Items”
  • Role Restrictions: “Customer” (assuming VIP customers have Customer role)
  • Cart Total Threshold: 200
  • Maximum Selectable Gifts: 1
  • Selectable Gift Products: 5 premium products

Result: Gift applies when:

  • Cart contains Premium Wine Collection or Luxury Gift Set AND
  • Cart contains products from Wine or Gourmet categories AND
  • Cart does NOT contain products from Sale Items category AND
  • User has Customer role AND
  • Cart total is $200+

Troubleshooting

Gifts Not Appearing

  • Check that the gift is Enabled
  • Verify Start Date and End Date are correct
  • Ensure cart meets all Restrictions (include/exclude products and categories)
  • Ensure cart meets all Conditions (cart total, category totals)
  • Check Role Restrictions match the current user
  • Verify Priority – higher priority gifts may be overriding

Restriction-Specific Checks:

  • If Include Products is set, verify cart contains at least one included product
  • If Exclude Products is set, verify cart does NOT contain any excluded products
  • If Include Categories is set, verify cart contains products from at least one included category
  • If Exclude Categories is set, verify cart does NOT contain products from excluded categories
  • Remember: Gift items themselves are excluded from restriction checks

Auto-Added Gifts Not Adding

  • Check all conditions are met
  • Verify products in Auto-Add Gift Products are purchasable
  • Check for conflicts with other cart gifts
  • Ensure cart meets all conditions
  • Check that Maximum Selectable hasn’t been reached
  • Verify products in Selectable Gift Products are purchasable

Gifts Being Removed Unexpectedly

  • Cart conditions are re-evaluated on every cart update
  • If cart is edited and no longer meets conditions, auto-added gifts are removed
  • This is expected behavior to ensure gifts only apply when conditions are met

Discount Not Applying

  • Check Gift Discount Percentage is set correctly
  • Verify the gift item has the gift badge in cart
  • Ensure cart totals are recalculated after adding gift

Best Practices

  1. Test Your Setup: Create test cart gifts and verify they work as expected
  2. Clear Conditions: Start with simple conditions, then add complexity
  3. Priority Order: Put more specific/higher value gifts at higher priority
  4. Gift Selection: Offer 3-5 selectable gift options for best customer experience
  5. Discount Percentage: Use 100% for true “free” gifts, or lower percentages for partial discounts
  6. Category Thresholds: Use category totals to target specific product types
  7. Role Restrictions: Use role restrictions to create exclusive offers for specific customer groups
  8. Product Restrictions: Use include products to target specific high-value items, or exclude products to prevent conflicts
  9. Category Restrictions: Combine include and exclude categories to create precise targeting
  10. Restriction Logic: Remember that restrictions are checked before conditions – if restrictions fail, the gift won’t apply
  11. Exclude Override: Exclude rules take precedence – if a product/category is both included and excluded, the gift won’t apply

Testing Restrictions: Test with different cart combinations to ensure restrictions work as expected

Understanding the Priority System

The priority system in VM Advanced WooCommerce Sales allows you to create multiple overlapping sales with intelligent override behavior.

How Priority Works

Sales are processed in priority order:

  • Priority 1 (highest) – Processed first
  • Priority 2 – Processed second
  • Priority 3 – Processed third
  • And so on…

Important: Lower numbers = Higher priority

Priority Override Rules

Rule 1: Restrictions Must Match

A higher priority sale only overrides a lower priority sale when all its restrictions match for the specific product and user combination.

Rule 2: Lower Priority Sales Continue

Lower priority sales continue to apply where higher priority sales don’t match restrictions.

Examples

Example 1: Category-Specific Override

Sale A (Priority 1):

  • 15% off
  • Category: Electronics only
  • All users

Sale B (Priority 2):

  • 10% off
  • All products
  • All users

Result:

  • Electronics products: 15% discount (from Sale A)
  • All other products: 10% discount (from Sale B)

Sale A only affects Electronics because of its category restriction. Sale B continues to apply to everything else.

Example 2: User Role Restrictions

Sale A (Priority 1):

  • 20% off
  • All products
  • Logged-in users only

Sale B (Priority 2):

  • 10% off
  • All products
  • All users (including guests)

Result:

  • Logged-in users: 20% discount (from Sale A)
  • Guests: 10% discount (from Sale B)

Sale A only applies to logged-in users due to role restrictions. Guests still get Sale B.

Example 3: Product-Specific Override

Sale A (Priority 1):

  • 25% off
  • Specific products: Product IDs 10, 20, 30
  • All users

Sale B (Priority 2):

  • 15% off
  • All products
  • All users

Result:

  • Products 10, 20, 30: 25% discount (from Sale A)
  • All other products: 15% discount (from Sale B)

Reordering Sales

To change sale priorities:

  1. Go to WooCommerce → Storewide Sales
  2. Drag sales up or down using the drag handle (☰)
  3. Sales at the top get higher priority (lower numbers)

The plugin automatically assigns priority numbers based on order – first sale gets priority 1, second gets priority 2, etc.

Best Practices

  1. Most Specific First: Put highly targeted sales (specific products/categories) at higher priority
  2. General Sales Last: Put storewide sales without restrictions at lower priority
  3. Test Your Setup: Create test sales to verify override behavior works as expected
  4. Monitor Priority Order: Regularly check your sales list to ensure priority order is correct

Disabled Sales

Important: Disabled sales are completely skipped and never evaluated, regardless of priority. Only enabled sales participate in the priority system.

Understanding Sale Restrictions

Restrictions allow you to fine-tune which products and users receive your storewide sales.

Product Restrictions

Include Products

Only products selected here will receive the discount. Leave empty to include all products.

Example: Select “Product A” and “Product B” – only these two products get the discount.

Exclude Products

Products selected here will be excluded from the sale, even if they match other criteria.

Example: Select “Product C” – this product won’t get the discount, even if it’s in an included category.

Category Restrictions

Include Categories

Only products in selected categories will receive the discount. Leave empty to include all categories.

Example: Select “Electronics” – only products in the Electronics category get the discount.

Exclude Categories

Products in selected categories will be excluded from the sale.

Example: Select “Sale Items” – products already on sale won’t get this additional discount.

Tag Restrictions

Include Tags

Only products with selected tags will receive the discount. Leave empty to include all tags.

Example: Select “Summer Sale” tag – only products tagged “Summer Sale” get the discount.

Exclude Tags

Products with selected tags will be excluded from the sale.

Example: Select “Excluded” tag – products with this tag won’t get the discount.

Role Restrictions

Select which WordPress user roles should receive this discount. If no roles are selected, the sale applies to all users (including guests).

Available Options:

  • Administrator
  • Editor
  • Author
  • Contributor
  • Subscriber
  • Customer (WooCommerce)
  • Custom roles added by other plugins

Example: Select “Customer” – only logged-in customers get the discount, guests see regular prices.

Important: If you leave all roles unchecked, the sale applies to everyone, including non-logged-in users.

How Restrictions Work Together

All restrictions use AND logic within their type and AND logic across types:

Within a Restriction Type

  • If you include products, a product must be in the include list AND not in the exclude list
  • Same logic applies to categories and tags

Across Restriction Types

  • Product restrictions AND category restrictions AND tag restrictions AND role restrictions must all pass

Example Sale:

  • Include Categories: Electronics, Computers
  • Exclude Products: Product ID 100
  • Role Restrictions: Customer

Result: Only products in Electronics or Computers categories, excluding Product ID 100, for logged-in customers with Customer role.

Date Restrictions

Sales automatically respect start and end dates:

  • Before Start Date: Sale doesn’t apply
  • Between Start and End: Sale applies
  • After End Date: Sale doesn’t apply

Tips

  1. Start Broad: Begin with no restrictions, then add them as needed
  2. Test Combinations: Use the preview/test functionality to verify restrictions work
  3. Use Excludes Carefully: Exclude lists override include lists
  4. Role Restrictions: Remember unchecked = applies to all users

Override Modes for Product-Level Sales

When a product has its own sale price set in WooCommerce, storewide sales can interact with it in three different ways, controlled by the Override Individual Sales setting.

Option 1: Do Not Override

Storewide sale is ignored if product has its own sale.

Use this when you want product-level sales to always take precedence.

Example:

  • Product has: Regular price $100, Sale price $80 (20% off)
  • Storewide sale: 15% off all products
  • Result: Product shows $80 (product’s own sale, storewide sale ignored)

Option 2: Apply Both

Both sales apply – the customer gets the better discount.

The plugin calculates both discounts and applies whichever gives the better price.

Example:

  • Product has: Regular price $100, Sale price $85 (15% off)
  • Storewide sale: 10% off all products
  • Calculation:
    • Product sale: $85
    • Storewide sale on $85: $85 – (10% of $85) = $76.50
  • Result: Product shows $76.50 (the better discount)

Note: The plugin applies the storewide discount to the product’s sale price, not the regular price.

Option 3: Override

Storewide sale replaces product-level sale when restrictions match.

Use this when storewide sales should take priority over individual product sales.

Example:

  • Product has: Regular price $100, Sale price $90 (10% off)
  • Storewide sale: 20% off all products
  • Result: Product shows $80 (20% off from storewide sale, product sale ignored)

Choosing the Right Mode

Use “Do Not Override” When:

  • You have carefully set product-specific sale prices
  • You want full control over individual product discounts
  • Storewide sales should only apply to products without individual sales

Use “Apply Both” When:

  • You want to stack discounts for maximum savings
  • Customers should get the best possible price
  • You want both product and storewide sales to work together

Use “Override” When:

  • Storewide sales should always take priority
  • You want simple, consistent pricing across the store
  • Product-level sales are less important than storewide promotions

Priority Still Applies

Remember: Even with override modes, the priority system still works. If multiple storewide sales could apply, the highest priority sale that matches restrictions is used.

Example:

  • Sale A (Priority 1): 25% off, Override mode, Category: Electronics
  • Sale B (Priority 2): 15% off, Do Not Override mode, All products
  • Product: Electronics item with 10% product-level sale

Result: Sale A applies (25% off), overriding the product-level sale, because it’s higher priority and matches the category restriction.

Frequently Asked Questions

General Questions

Q: How many storewide sales can I create?

A: There’s no limit! You can create as many storewide sales as you need. The priority system ensures they work together intelligently.

Q: Can I run multiple sales at the same time?

A: Yes! Multiple sales can run simultaneously. The priority system determines which sale applies to each product based on restrictions and priority order.

Q: What happens if two sales have the same priority?

A: Priorities are automatically assigned based on order (1, 2, 3, etc.). You can reorder sales by dragging them on the sales list page.

Q: Do I need to activate a license to use the plugin?

A: The plugin works without a license for testing, but a valid license is required for production use, automatic updates, and support.

Sales and Pricing

Q: How are discounts calculated?

A:

  • Percentage: Discount = Regular Price × (Percentage ÷ 100)
  • Fixed: Discount = Regular Price – Fixed Amount

Q: Can I set a minimum order amount for sales?

A: Currently, minimum order amounts aren’t supported in storewide sales. This feature may be added in a future update.

Q: Do sales apply to sale items?

A: This depends on your “Override Individual Sales” setting. See the Override Modes documentation.

Q: Can I exclude specific products from all sales?

A: Yes! Use the “Exclude Products” restriction in each sale, or create a product-level sale with 0% discount.

Restrictions

Q: If I don’t set any restrictions, does the sale apply to everything?

A: Yes! Leaving restrictions empty means “apply to all” for that restriction type.

Q: Can I combine include and exclude restrictions?

A: Yes. If you include products, the sale only applies to those. If you exclude products, those are removed even from included products.

Q: How do role restrictions work with guest users?

A: If no roles are selected, the sale applies to everyone including guests. If roles are selected, only users with those roles (logged in) get the discount.

Priority System

Q: What if I change a sale’s priority?

A: You can drag and drop sales on the main sales page to reorder them. Higher priority sales (at the top) will override lower priority sales when restrictions match.

Q: Can a lower priority sale override a higher priority sale?

A: No. Higher priority sales always take precedence when their restrictions match. Lower priority sales only apply where higher priority sales don’t match.

Q: What happens if no sale matches a product?

A: The product shows its regular price or product-level sale price (if set).

Technical

Q: Will sales work with WooCommerce HPOS (High-Performance Order Storage)?

A: Yes! The plugin is fully compatible with WooCommerce HPOS.

Q: Do sales affect cart and checkout calculations?

A: Yes, sales apply throughout the entire WooCommerce pricing system including cart, checkout, and product pages.

Q: Can I use this with other pricing plugins?

A: The plugin uses standard WooCommerce price filters. It should work with most plugins, but test thoroughly to ensure compatibility.

Q: How are sales cached?

A: Sales data is cached per request for performance. The cache clears automatically when sales are created, updated, or deleted.

License

Q: Can I use the same license on multiple sites?

A: This depends on your license type. Check your license terms or contact support for details.

Q: What happens if my license expires?

A: The plugin continues to work, but you won’t receive updates. Renew your license to continue receiving updates and support.

Q: How do I move my license to a new site?

A: Deactivate the license on the old site, then activate it on the new site.

Troubleshooting

Q: Sales aren’t applying to products

A: Check:

  1. Is the sale enabled?
  2. Are dates correct (sale hasn’t ended)?
  3. Do product/user restrictions match?
  4. Is there a higher priority sale that matches?
  5. Check override mode settings

Q: Products show wrong prices

A: Clear WooCommerce cache and the plugin’s cache. The plugin cache clears automatically, but WooCommerce may need manual cache clearing.

Q: Priority changes aren’t saving

A: Make sure JavaScript is enabled and try refreshing the page. Check browser console for errors.

Still Have Questions?

Check the Troubleshooting Guide or contact support with your license key.

Previous Article
VM Advanced WooCommerce Sales
Next Article
Developer Documentation
Still haven’t found what you’re looking for?

Let us know and we’ll do our best to help out!

sit back and relax

We have monthly site maintenance options to ensure that your website is running smoothly.

Website development post-launch support and resources
Secret Link
SHARE YOUR CART