Rates start @ $15/hour!

How to Add a WooCommerce MAP Policy Notice (3 Methods)

How to Add a WooCommerce MAP Policy Notice (3 Methods)
Quick Answer

A MAP (Minimum Advertised Price) policy notice in WooCommerce hides or replaces the actual product price with a manufacturer-mandated minimum price and shows a "See Price in Cart" or "Click to See Price" message. You can add this using the WooCommerce Minimum Advertised Price extension, a free plugin like WooCommerce M.A.P., or a custom PHP snippet hooked into woocommerce_get_price_html.

Key Takeaways

  • MAP stands for Minimum Advertised Price - it restricts the lowest price you can publicly display, not the price you actually charge
  • WooCommerce does not have built-in MAP support, so you need a plugin or custom code to add it
  • The WooCommerce Minimum Advertised Price extension ($79/year) is the most complete solution with "See Price in Cart" dialogs and structured data control
  • A free alternative is hooking into woocommerce_get_price_html to replace the displayed price with a custom notice on specific products
  • Always set MAP per product or per variation, not globally, because not all manufacturers enforce the same policy
  • Control which price appears in your structured data (schema) to avoid Google Shopping policy violations

If you need to know how to add a WooCommerce MAP policy notice to your store, you are in the right place. A MAP notice is a message displayed on your product page that replaces or hides the actual selling price with the manufacturer’s minimum advertised price. MAP stands for Minimum Advertised Price, and it is a policy set by manufacturers that restricts the lowest price a reseller can publicly display in advertising, on websites, or in email campaigns. If you sell products from brands that enforce MAP pricing, adding this notice to your WooCommerce store is not optional – it is a compliance requirement.

WordPress developer Devansh Thakkar has implemented MAP policy notices on WooCommerce stores selling branded products including generators, lighting equipment, and industrial supplies. Based on experience building these for authorized dealer websites, there are three reliable methods to add a MAP policy notice in WooCommerce, and this guide covers all of them with working code.

What Is a MAP Policy and Why Does It Matter for WooCommerce Stores?

A Minimum Advertised Price (MAP) policy is an agreement between a manufacturer and its authorized resellers that sets the lowest price at which the product can be publicly advertised. It is not a restriction on the price you actually charge – you can sell below MAP. You just cannot advertise below it on your website, in Google Shopping feeds, in email campaigns, or on marketplace listings.

MAP policies exist to protect brand value and prevent a race to the bottom among resellers. Brands like Generac, Milwaukee Tool, Weber, Bose, and thousands of others enforce MAP. Violations typically result in warnings, then loss of authorized dealer status, and eventually being cut off from purchasing inventory at wholesale pricing.

For WooCommerce store owners, this means your product page price display must comply. If your actual selling price is lower than the MAP, you need to either hide the price entirely, show the MAP with a strikethrough and a “See Price in Cart” message, or display a “Click to See Our Price” button that reveals the real price on gesture.

Pro Tip: MAP applies to advertised prices, not transaction prices. Your cart and checkout can show the real (lower) price. The restriction is only on what is publicly visible before the customer initiates a purchase action. This distinction is what makes “See Price in Cart” and “Click to See Price” implementations legally compliant. – Devansh Thakkar, WordPress Developer

3 Methods to Add a MAP Policy Notice in WooCommerce

There are three approaches to adding a WooCommerce MAP policy notice, and knowing how to add the right one depends on how many products need MAP compliance, whether you need variation-level control, and your budget. Here is a comparison:

Method Best For Cost Variation Support Structured Data Control
WooCommerce Minimum Advertised Price Extension Stores with 50+ MAP products $79/year Yes Yes
Free WooCommerce M.A.P. Plugin Simple stores, few MAP products Free Limited No
Custom PHP Code (functions.php) Developers, full control needed Free (dev time) Yes (custom build) Yes (custom build)

Method 1: Using the WooCommerce Minimum Advertised Price Extension

The WooCommerce Minimum Advertised Price extension is the most complete solution. It was originally a first-party WooCommerce product, was retired for a period, and is now available through third-party providers. It adds a dedicated MAP price field to every product and variation, and handles the frontend display automatically.

Step 1: Install and Activate

Purchase and install the extension. After activation, go to WooCommerce > Settings > Products and scroll to “Minimum Advertised Pricing Options.”

Step 2: Configure Global Settings

Set these options:

  • Display Actual Price: Choose “In Cart Only” (safest for strict MAP) or “In Cart/On Gesture” (shows a “See Price” button)
  • Minimum Advertised Price Label: Enter text like “MAP Price” or “Manufacturer’s Minimum Price”
  • Show Savings: Enable to display the difference between MAP and your actual price in the cart
  • Price Displayed to Search Engines: Set to “Minimum Advertised Price” to avoid Google Shopping violations

Step 3: Set MAP Per Product

Go to any product, open the Product Data > General tab, and enter the MAP value in the “Minimum Advertised Price” field. For variable products, set it per variation under the Variations tab.

Step 4: Test the Frontend

Visit the product page. The actual price should be hidden. The MAP price displays with a strikethrough and your configured label. If set to “On Gesture,” a “See Price” button appears. Clicking it opens a popup with the real price and an “Add to Cart” button.

Pro Tip: Always set the structured data price to MAP, not your actual selling price. If Google indexes your real (lower) price, it appears in search results and Shopping feeds, which is a MAP violation even though your website technically hides it. The WooCommerce MAP extension handles this automatically when configured correctly. – Devansh Thakkar, WordPress Developer

Method 2: Using the Free WooCommerce M.A.P. Plugin

The free WooCommerce M.A.P. plugin from the WordPress.org repository adds a Minimum Advertised Price field to the product editor. If the product’s selling price is lower than the MAP, the plugin displays the MAP price instead and shows a “Click to View Our Price” link on the product page.

How to Set It Up

  1. Install and activate the plugin from Plugins > Add New (search “WooCommerce MAP”)
  2. Edit any product and find the new “Minimum Advertised Price” field under pricing
  3. Enter the MAP value. If your regular or sale price is below this number, the MAP displays instead
  4. Save the product and check the frontend

The free plugin is limited. It does not handle variable products well, does not give you control over structured data, and the “Click to View Our Price” text is not easily customizable without editing plugin files. For stores with only a handful of MAP products and simple product types, it works. For anything more complex, use Method 1 or Method 3.

Method 3: Custom PHP Code for Full Control

If you need precise control over how to add a WooCommerce MAP policy notice – what it says, which products it applies to, and how it looks – custom PHP is the way to go. This is the method WordPress developer Devansh Thakkar uses on client stores where the manufacturer’s MAP requirements have specific wording or display rules that no plugin handles out of the box.

The Code: Replace Price Display with MAP Notice

Add this to your child theme’s functions.php or use the Code Snippets plugin:

/**
 * Replace WooCommerce price with MAP notice for specific products.
 * Uses a custom field 'map_price' set on each product.
 */
function devansh_map_price_notice( $price_html, $product ) {
    // Get the MAP price from custom field
    $map_price = get_post_meta( $product->get_id(), 'map_price', true );
 
    // Only modify if MAP price exists and product price is below MAP
    if ( $map_price && $product->get_price() < $map_price ) {
        $formatted_map = wc_price( $map_price );
        $price_html  = '<del>' . $formatted_map . '</del> ';
        $price_html .= '<span class="map-notice">';
        $price_html .= 'See price in cart';
        $price_html .= '</span>';
    }
 
    return $price_html;
}
add_filter( 'woocommerce_get_price_html', 'devansh_map_price_notice', 10, 2 );
 
/**
 * Optional: Add CSS for the MAP notice styling.
 */
function devansh_map_notice_css() {
    echo '<style>
        .map-notice {
            display: inline-block;
            background: #d4f161;
            color: #0a0a0a;
            padding: 4px 12px;
            border-radius: 4px;
            font-weight: 600;
            font-size: 14px;
        }
    </style>';
}
add_action( 'wp_head', 'devansh_map_notice_css' );

How to Use This Code

  1. Add a custom field called map_price to any product that requires MAP compliance
  2. Enter the MAP value (numbers only, no currency symbol)
  3. If the product's WooCommerce price is lower than the MAP, the price display on shop and product pages will show the MAP with a strikethrough and a "See price in cart" badge
  4. The actual price still shows in the cart and at checkout, which is MAP-compliant

Extending This for Variable Products

For variable products, you need to hook into the variation price as well. Add this alongside the code above:

/**
 * Handle MAP for variable product variations.
 */
function devansh_map_variation_price( $price_html, $product ) {
    if ( $product->is_type( 'variation' ) ) {
        $map_price = get_post_meta( $product->get_id(), 'map_price', true );
        if ( $map_price && $product->get_price() < $map_price ) {
            $formatted_map = wc_price( $map_price );
            $price_html  = '<del>' . $formatted_map . '</del> ';
            $price_html .= '<span class="map-notice">See price in cart</span>';
        }
    }
    return $price_html;
}
add_filter( 'woocommerce_variation_price_html', 'devansh_map_variation_price', 10, 2 );
add_filter( 'woocommerce_variation_sale_price_html', 'devansh_map_variation_price', 10, 2 );

How to Handle MAP Pricing in Google Shopping and Structured Data

Structured data is where most WooCommerce store owners get caught on MAP compliance. Even if your product page hides the real price, WooCommerce and your SEO plugin (Rank Math, Yoast) automatically generate Product schema with an Offers block that includes the actual price. Google reads this schema, indexes it, and displays it in Shopping results and rich snippets.

If Google shows your below-MAP price in search results, that counts as a MAP violation in the eyes of most manufacturers, even though it is technically the structured data and not a visible price on the page.

The Fix for Structured Data

Override the schema price output. In Rank Math, go to Rank Math > Titles & Meta > Products and check the schema settings. If you are using the WooCommerce MAP extension, set "Price Displayed to Search Engines" to "Minimum Advertised Price."

For custom code implementations, filter the schema directly:

/**
 * Override WooCommerce structured data price for MAP products.
 */
function devansh_map_schema_price( $markup, $product ) {
    $map_price = get_post_meta( $product->get_id(), 'map_price', true );
    if ( $map_price && $product->get_price() < $map_price ) {
        $markup['offers'][0]['price'] = $map_price;
    }
    return $markup;
}
add_filter( 'woocommerce_structured_data_product', 'devansh_map_schema_price', 10, 2 );

Pro Tip: After implementing MAP schema changes, test with Google's Rich Results Test tool. Enter your product URL and verify that the price shown in the structured data preview matches the MAP, not your actual selling price. Do this for both simple and variable products. - Devansh Thakkar, WordPress Developer

Common MAP Notice Display Patterns for WooCommerce

Different manufacturers have different requirements for how the MAP notice should appear. Here are the four most common patterns, based on what Devansh Thakkar has implemented across authorized dealer WooCommerce stores:

Pattern What the Customer Sees When to Use
See Price in Cart MAP with strikethrough + "Add to cart to see our price" Strict MAP policies, most common approach
Click to See Price MAP displayed + button that opens a popup with real price Manufacturers that allow "gesture" price reveal
Call for Price MAP displayed + "Call for our best price" with phone number High-ticket items, B2B stores
Login to See Price MAP displayed + "Log in for dealer pricing" Wholesale/dealer portals with role-based pricing

MAP Policy Notice for Specific Product Categories Only

Not all products in your store will have MAP restrictions. You may sell products from 10 brands but only 3 enforce MAP. The code snippets in Method 3 already handle this by checking for the map_price custom field - if the field is empty, the product displays normally.

If you want to apply a MAP notice to an entire product category instead of individual products, modify the filter to check the category:

/**
 * Apply MAP notice to all products in a specific category.
 */
function devansh_map_category_notice( $price_html, $product ) {
    if ( has_term( 'generac', 'product_cat', $product->get_id() ) ) {
        $price_html  = '<span class="map-notice">';
        $price_html .= 'Manufacturer pricing policy in effect. ';
        $price_html .= 'Add to cart to see our price.';
        $price_html .= '</span>';
    }
    return $price_html;
}
add_filter( 'woocommerce_get_price_html', 'devansh_map_category_notice', 10, 2 );

Replace 'generac' with the slug of your product category. This is useful when a manufacturer requires the same MAP notice wording on every product in their lineup.

How to Add a MAP Policy Page to Your WooCommerce Store

Beyond the product-level notice, many authorized dealers also need a standalone MAP policy page explaining the pricing policy to customers. This page serves two purposes: it educates confused customers who see "See Price in Cart" for the first time, and it demonstrates to the manufacturer that you take MAP compliance seriously.

What to Include on the Page

  1. A brief explanation of what MAP means in plain language
  2. Why some product prices are hidden or displayed differently
  3. How the customer can see the actual price (add to cart, click button, call)
  4. A statement that your store is an authorized dealer
  5. Contact information for pricing questions

Link to this page from your product page MAP notice. For example, change "See price in cart" to "See price in cart (Why?)" so customers understand what is happening instead of thinking your site is broken.

Testing Your MAP Implementation

After you add a WooCommerce MAP policy notice, test these scenarios before going live:

  1. Product page: Verify the real price is hidden and the MAP or notice is displayed
  2. Shop/catalog page: Verify the price is hidden in product listings too, not just on the single product page
  3. Cart: Verify the real (lower) price appears once the product is added
  4. Checkout: Verify the real price carries through to checkout and payment
  5. Google Rich Results Test: Enter the product URL in Google's Rich Results Test and verify the schema price is the MAP, not the real price
  6. Google Shopping feed: If you use a product feed plugin, verify the feed outputs the MAP for price
  7. Email notifications: Check that order confirmation emails show the actual paid price, not the MAP
  8. Caching: Clear all caches (LiteSpeed, Cloudflare, WP Rocket) and verify the notice displays for logged-out visitors

Need a WooCommerce MAP Policy Notice Built for Your Store?

If your manufacturer requires specific MAP compliance wording, a "Click to See Price" popup, category-level MAP rules, or structured data overrides, this is not a generic plugin job. It requires a WooCommerce developer who understands both the technical implementation and the business rules behind MAP enforcement.

Devansh Thakkar has built MAP-compliant WooCommerce stores for authorized dealers selling branded products across lighting, generators, industrial equipment, and consumer electronics. After working on 100+ WooCommerce projects, the implementation is clean, tested, and does not break when WooCommerce updates.

Book a call or send a message with your manufacturer's MAP requirements, and I will scope the implementation and give you a fixed-price quote.

Frequently Asked Questions

What does MAP mean in WooCommerce?

MAP stands for Minimum Advertised Price. It is a manufacturer-imposed policy that restricts the lowest price a reseller can publicly display on their website, in ads, or in email campaigns. WooCommerce does not have built-in MAP support, so you need a plugin or custom code to implement it.

How do I add a MAP policy notice to a WooCommerce product page?

You can add a WooCommerce MAP policy notice using the WooCommerce Minimum Advertised Price extension ($79/year), the free WooCommerce M.A.P. plugin, or custom PHP code hooked into woocommerce_get_price_html. The custom code method gives you the most control over wording and display logic.

Can I show the real price in the WooCommerce cart even with MAP?

Yes. MAP policies restrict advertised prices only. The cart and checkout are considered part of the transaction, not advertising. Your real selling price can and should appear once the product is added to the cart. This is the standard "See Price in Cart" approach used by most authorized dealers.

Does MAP affect Google Shopping product listings?

Yes. If your WooCommerce structured data or product feed outputs a price below MAP, Google will display that price in Shopping results, which counts as a MAP violation. Override your schema and feed to output the MAP, not your selling price. The WooCommerce MAP extension handles this if you set "Price Displayed to Search Engines" to MAP.

What happens if I violate a manufacturer's MAP policy?

Violations typically follow a three-strike process: first a written warning with a deadline to fix the pricing, then a 30-day suspension of your dealer account, and finally permanent loss of authorized dealer status. Losing dealer status means you can no longer purchase inventory at wholesale pricing from that manufacturer.

Is MAP pricing legal?

Yes, in the United States. The Supreme Court ruled in Leegin Creative Leather Products v. PSKS (2007) that manufacturer-imposed minimum resale price agreements are not automatically illegal under antitrust law. They are evaluated on a case-by-case basis. MAP policies are standard practice across thousands of brands and are considered legal when applied uniformly.

Can I apply MAP to only some products in WooCommerce?

Yes. Using the custom code method, MAP notices only appear on products that have a map_price custom field set. Products without the field display their normal WooCommerce price. You can also apply MAP by product category using a has_term() check in the filter.

How does Devansh Thakkar implement MAP on WooCommerce stores?

Devansh Thakkar uses a combination of custom PHP hooks and structured data overrides tailored to each manufacturer's specific requirements. The implementation includes product-level MAP fields, frontend price replacement, cart price display, schema price override, and product feed configuration. Each build is tested against Google's Rich Results Test to verify compliance.

Does the WooCommerce MAP notice work with Elementor product pages?

Yes. The PHP hook method filters the price at the WooCommerce level, before Elementor renders it. Whether you use the default WooCommerce product template, Elementor's WooCommerce widgets, or Divi's WooCommerce modules, the MAP notice will display correctly because the filter modifies the price HTML output globally.

Can I use MAP and dynamic pricing together in WooCommerce?

You can, but it requires careful configuration. If your WooCommerce dynamic pricing rules calculate a price below MAP, the MAP notice should override the displayed price while the dynamic pricing still applies at the cart level. The custom code method handles this because it checks the final product price against the MAP value regardless of how that price was calculated.

Topics covered in this article WooCommerce
Share
Devansh Thakkar

Written by

Devansh Thakkar

WordPress Developer & SEO Specialist

Devansh Thakkar is a top-rated WordPress developer and SEO specialist with 5+ years of experience, 100+ projects delivered, and a 100% job success score on Upwork. He specializes in WordPress, WooCommerce, Elementor, page speed optimization, and technical SEO for clients worldwide.

100% Job Success 100+ Projects 5+ Years Upwork Top Rated

Need help with your WordPress project?

Top-rated developer with 100% job success and 100+ projects delivered worldwide. Let's talk about what you need.

Book a Free Call