WooCommerce gives every product 3 tabs on its page: Description, Additional Information, and Reviews. That’s plenty for a plain product, but it falls short the moment you sell anything that raises questions before checkout about things like sizing, shipping windows, ingredients, return terms.
The most common solution for many website owners is to add WooCommerce custom product tabs, especially after fielding the same pre-sale questions repeatedly. You can do this with a plugin (the more user-friendly option) or go the developer path.
Before making any choice, however, you need to think about the architecture of your required setup. Do you need one tab that applies across the whole catalog, tabs set individually per product, or a mix of both?
This guide walks through 3 things in order: how to structure tabs across a catalog, which plugin to install (or whether to skip plugins and use a filter instead), and what to put inside each one.
What a custom product tab is, and how global vs per-product tabs differ
A custom product tab is a content section you add to a WooCommerce product page, either through a plugin or with a bit of code. It sits alongside the default tabs, carries its own clickable label, and holds whatever the sale needs: a size guide, a shipping policy, an ingredients list, an embedded video, an FAQ, or a downloadable spec sheet.
Every tab on the product page – including the 3 defaults – is registered through the same woocommerce_product_tabs filter. WooCommerce builds its own tabs that way too. That shared plumbing is exactly why a well-coded tab plugin slots in next to Description and Reviews instead of replacing them.
Now, let’s go back to the main question: global or per-product?
| Per-product tabs | Global tabs | |
|---|---|---|
| How they’re made | On a single product’s edit screen | Built once, assigned in bulk |
| Where they show | Only on that one product | By category, tag, store-wide, or brand |
| Best for | Genuinely one-off content | Anything that repeats |
| Example | A certification for a single item | A warranty tab across every product |
Most tab plugins do both, but not all of them. Several popular free options are per-product only, so global assignment is the specific feature to check for before you install. Your catalog size decides the ratio: 30 SKUs can run on per-product tabs, 300 cannot.
For example, let’s say you need a “Warranty” tab pushed globally to the whole store, plus a “Fabric composition” tab added to the one shirt whose blend differs from the rest of the line. You would need a plugin that can do both, and choosing it up front saves you from installing a per-product-only plugin, then updating 200 listings by hand.
3 custom product tab plugins worth installing
These 3 plugins cover what most stores need, each picked for active maintenance, clean code, and a genuinely different strength. All 3 can rename, reorder, and switch off the default Description, Additional Information, and Reviews tabs, so treat that as a given rather than a deciding factor.
What separates them is the following:
| Plugin | Free version | Where it wins | Price |
|---|---|---|---|
| Custom Product Tabs for WooCommerce | Fully free | Bulk-assigning tabs by category, tag, or brand | Free |
| YITH WooCommerce Tab Manager | Limited | Ready-made tab types (galleries, FAQ, maps) | Free + premium |
| Addify Custom Product Tabs Manager | None | Role-based tab visibility | From $69/year |
Custom Product Tabs for WooCommerce
Custom Product Tabs for WooCommerce is a free plugin from Web Builder 143 that adds unlimited tabs and assigns them in bulk. You build a tab once, then push it to an entire category, tag, or brand, or you drop it onto a single product when you need to.
Main features:
- Global tabs assigned by category, tag, brand, or individual product
- Per-product tabs added from the product data screen
- Option to disable the default WooCommerce tabs
- YouTube embeds, shortcodes, and SEO-friendly tab slugs
Pricing: Free on WordPress.org.
Best for: Catalogs that need the same tab repeated across a category or brand without paying a cent. It holds a 4.9-star rating across 10,000+ active installs.
YITH WooCommerce Tab Manager
YITH’s WooCommerce Tab Manager plugin is another option with a good number of ready-made tab types. Rather than one blank editor, each tab can be a set layout – an image or video gallery, an FAQ block, a downloads list, a contact form, or a Google Map – with no markup that you need to write yourself.
Main features:
- Free: Text-and-image tabs, shortcode support, store-wide global tabs, drag-and-drop ordering, and disabling the default tabs
- Premium: The ready-made layouts above (image and video galleries, FAQs, downloads, contact form, Google Maps)
- Premium: Category-specific targeting, plus hiding global tabs on chosen products
- Premium: Tab icons, per-product overrides of the default tabs, hide-on-mobile, and color styling
Pricing: Free version on WordPress.org; premium is $89.99/year for 1 site.
Best for: Stores whose tabs carry mixed media (like manuals, videos, maps, galleries) instead of plain text. It’s rated 4.5 out of 5 across 83 ratings.
Addify Custom Product Tabs Manager
Custom Product Tabs Manager For WooCommerce is an Addify plugin, and its real strength is control over who sees a tab. You can restrict any tab to specific user roles, so a wholesale tier sees trade terms or bulk pricing while retail shoppers never do.
Main features:
- Tab visibility restricted by user role or individual customer
- Global tabs plus product-level tabs, with per-product overrides
- Rename, reorder, or disable the default tabs
- Contact Form 7 support and per-tab styling (icon, background, text color)
Pricing: Paid, from $69/year or $110 for their two-year plan.
Best for: B2B or wholesale stores that show different tab content to different customer roles. It’s rated 4.87 out of 5.
Prefer to skip plugins altogether? The next section adds a tab with a few lines of code.
Adding custom tabs with the woocommerce_product_tabs filter
Not every store owner wants another plugin. If you’re comfortable with a little PHP, WooCommerce’s woocommerce_product_tabs filter lets you add a tab directly, without loading any third-party code on every page.
The example below scopes a “Size Guide” tab to specific product categories: a category-targeting pattern that’s usually buried in support threads. Building it as a small standalone plugin, rather than dropping it in your theme’s functions.php, keeps the tab working even when you switch themes.
Here’s the setup, step by step:
Step 1: In your WordPress install, open wp-content/plugins/ and create a folder named my-woocommerce-product-tabs. Inside it, create a file named my-woocommerce-product-tabs.php.
Step 2: Paste this into the file:
<?php
/**
* Plugin Name: My WooCommerce Custom Tabs
* Description: Adds a Size Guide product tab for selected WooCommerce product categories.
* Version: 1.0.0
* Author: Your Name
* Requires Plugins: woocommerce
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
add_filter( 'woocommerce_product_tabs', 'mywct_add_size_guide_tab' );
function mywct_add_size_guide_tab( $tabs ) {
global $product;
if ( ! $product instanceof WC_Product ) {
return $tabs;
}
$allowed_categories = array(
'tshirts',
'hoodies',
);
if ( ! has_term( $allowed_categories, 'product_cat', $product->get_id() ) ) {
return $tabs;
}
$tabs['my_size_guide'] = array(
'title' => __( 'Size guide', 'my-woocommerce-custom-tabs' ),
'priority' => 50,
'callback' => 'mywct_size_guide_tab_content',
);
return $tabs;
}
function mywct_size_guide_tab_content() {
?>
<h2><?php esc_html_e( 'Size Guide', 'my-woocommerce-custom-tabs' ); ?></h2>
<p><?php esc_html_e( 'Use the guide below to choose the best size for this product.', 'my-woocommerce-custom-tabs' ); ?></p>
<ul>
<li><strong><?php esc_html_e( 'Small (S):', 'my-woocommerce-custom-tabs' ); ?></strong> 34-36 in chest, 27 in length</li>
<li><strong><?php esc_html_e( 'Medium (M):', 'my-woocommerce-custom-tabs' ); ?></strong> 38-40 in chest, 28 in length</li>
<li><strong><?php esc_html_e( 'Large (L):', 'my-woocommerce-custom-tabs' ); ?></strong> 42-44 in chest, 29 in length</li>
</ul>
<?php
}Code language: PHP (php)
Here’s what each part does:
add_filter( 'woocommerce_product_tabs', 'mywct_add_size_guide_tab' );hooks into WooCommerce’s tab system so your function can add, remove, or modify tabs before they render.- The
$tabs array passed into mywct_add_size_guide_tab()holds the existing tabs, defaults included, so you’re adding to the page rather than replacing it. $allowed_categorieslists the category slugs that trigger the tab. Swap “tshirts” and “hoodies” for your own slugs.- The
has_term()check stops the tab from loading unless the product belongs to one of those categories. 'priority'=> 50 sets where the tab sits. WooCommerce’s defaults use 10 (Description), 20 (Additional Information), and 30 (Reviews), so 50 places the Size Guide after them. Lower the number to move it up.mywct_size_guide_tab_content()is the callback that prints whatever goes inside the tab.
Step 3: In your dashboard, go to Plugins → Installed Plugins and activate My WooCommerce Custom Tabs. The Size Guide tab now appears on every product in those categories.
With the mechanism handled, by a plugin or code, the real question is what goes inside the tabs. That’s where returns and abandoned carts actually get solved.
What to put in your custom tabs to reduce returns and answer objections
Your tabs need to have a purpose, and the most common pain point they solve is answering the questions customers ask before they buy. Generic templates just fill space, but a tab that kills a specific objection can improve your conversion rate.
So start from your own inbox. The questions you field on repeat are your initial tab list.
📌 Pro tip: Frame every tab as an objection, not a topic. “Will this fit through a standard doorway?” gets the attention that “Dimensions” never will. It’s technically the same answer, but one names the worry stalling the sale.
Here are a few examples of types of products that often require extra tabs:
- Apparel: A size guide tab defuses fit anxiety at the point of decision and cuts returns; care instructions head off support tickets; and a returns policy tab answers “what if it doesn’t fit” before checkout instead of after.
- Supplements and food: An ingredients and allergens tab gives you regulatory cover and a trust signal, while a usage tab covers dosing, preparation, and storage.
- Electronics and hardware: A specifications tab gives buyers the raw data they cross-reference, a compatibility list answers “Will this work with my setup?”, and an installation guide cuts “I couldn’t get it working” returns.
Media, performance, and SEO in tabs
Tabs aren’t limited to text.
- YouTube and Vimeo links drop in through WordPress’s built-in auto-embed (if you paste the URL on its own line in the tab editor, it renders as a player), or use a shortcode if your plugin locks down the editor.
- Google Maps goes in as an iframe, or as a dedicated Maps tab type that YITH WooCommerce Tab Manager offers out of the box.
- Shortcodes handle the rest: Contact Form 7, WPForms, product tables, and download buttons all sit inside tab content, which is also how tabs render correctly inside Elementor’s product template widget: shortcode in, styled output on the front end.
That flexibility has one string attached. Anything that ships its own JavaScript, e.g. a Maps iframe, a contact form, a video player, loads on every product page the moment a tab is assigned globally – and across hundreds of SKUs, that weight compounds quickly. Keep scripted content in per-product tabs and save global tabs for lightweight text.
Performance handled, the next thing owners tend to ask is whether Google even sees tab content. It does. Tab content sits in the page source, so it’s indexed like any other copy; the mechanism every major tab plugin relies on. However, you still need to be selective about where you place your strongest copy. Keyword-critical lines belong in the main description, with tabs carrying supporting details.
That balance carries over to mobile, where most tab plugins collapse into an accordion on smaller screens. It reads more easily than a row of horizontal tabs on a narrow viewport, and Google indexes it exactly the same way.
When custom tabs aren’t enough for interactive product configuration
Tab plugins are excellent at showing static information like size guides, care instructions, returns policies, or FAQs, and a contact form dropped in by shortcode handles the occasional general inquiry. That covers most product pages.
It stops working the moment the customer needs to configure the product itself. Engraving text, custom dimensions, add-ons that shift the price based on what someone picks – tabs display information, but they can’t capture it. A “Size guide” tab tells a shopper which size to choose; it can’t take the measurements for a made-to-order blind.
That’s a different category of plugin. Advanced Product Fields for WooCommerce adds 18 interactive field types, conditional logic, and dynamic pricing straight to the product page, so the page collects a customer’s choices and prices them on the spot.
Which route fits your store comes down to a few quick calls; here’s how to make them.
Your custom product tabs setup plan
You have 3 decisions, in this order.
- Settle your architecture: global tabs for anything that repeats, per-product tabs for the one-offs, usually a mix of both.
- Pick your tool: a plugin if you want a visual interface, or the
woocommerce_product_tabsfilter if you’d rather keep it in code. - Fill those tabs with objections, not filler.
Then make one move right now: Open the product page that fields the most questions and give it the tab it’s missing.
And when a page needs the customer to configure or price something, tabs can’t do it, but Advanced Product Fields for WooCommerce can. Try it out today!