Facebook and Instagram shopping ads run on product catalogs — structured data files that tell Meta exactly what you sell, how much it costs, and where to send shoppers when they click. Without a well-configured catalog, your products either won’t appear in ads at all or will show with incorrect details that hurt your click-through rate and return on ad spend.
Product Feed Pro and Product Feed Elite generate your Meta catalog feed automatically from your WooCommerce product data and keep it in sync on a schedule you control. Create the feed once, give Meta the URL, and the plugin handles every update after that.
Jump to:
- What you need before you start
- Part 1: Build your feed in the plugin
- Part 2: Connect your feed to Meta Commerce Manager
- Troubleshooting common issues
- Frequently asked questions
What you need before you start
- Product Feed Pro or Product Feed Elite installed and activated on your WooCommerce store. The Facebook DRM channel is available on both plans.
- A Meta Business Manager account at business.facebook.com. This is where your catalog lives.
- A Facebook Page or Instagram Business profile connected to your Business Manager. Meta requires at least one connected asset before you can run catalog ads.
- Products with complete data — title, price, stock status, and at least one image. Incomplete products will be rejected during the feed review.
Part 1: Build your feed in the plugin
To open the feed creation wizard:
- In your WordPress dashboard, go to Product Feed → Manage feeds.
- Click Add New Feed. Alternatively, go directly to Product Feed → Create feed.
Step 1: General settings
The General tab controls which products are included in the feed, how the feed file is formatted, and how often it is regenerated. For detailed instructions, see Complete Guide to Feed General Settings.
Configure the basic options for your feed:
| Setting | Recommendation |
|---|---|
| Project name | Give the feed a clear name (e.g., META_US) |
| Country | Choose your target country |
| Channel | Select Meta / Facebook Catalog Feed / Instagram |
| Include product variations | Enable — Meta requires each variation (size, color) as a separate item |
| And only include default product variation | Optional — use when you want to include only the default variant of each product |
| And only include lowest priced product variation(s) | Optional — use only if you want to advertise one variant per product |
| File format | XML (recommended) |
| Refresh interval | Daily for most stores; hourly if your inventory changes frequently |
| Create a preview of the feed | Enable to generate a test feed before the first submission |
Click Save & Continue to proceed to Field Mapping.

Step 2: Field mapping
This is the most important step. Meta will reject products that are missing required fields or that use incorrect values. The plugin pre-maps the most common fields, but review every required field before saving.
Required fields
| Meta Attribute | Suggested Mapping | Notes |
|---|---|---|
| id | Product ID | Must be unique and stable. Don’t change it after submission. Meta uses it to track item history. |
| title | Product Name | Keep under 65 characters; longer titles are truncated in most ad placements. No all-caps, no promotional text. |
| description | Product Description | Plain text only, no HTML or links. Must differ from the title, up to 9,999 characters. |
| availability | Availability | Automatically maps to WooCommerce stock status. Accepted values: in stock, out of stock. |
| condition | Condition | Use Static Value and enter new for most stores. Accepted values: new, refurbished, used. |
| price | Regular Price | Format: 29.99 USD. Always use a period as the decimal separator. Never use currency symbols. |
| link | Link | Full product URL. Must resolve to a live page on your domain. |
| image_link | Main Image | Minimum 500×500 px. Meta recommends 1024×1024 px. Maximum 8 MB. Square images perform best in ad placements. |
| brand | Brands | If you use the WooCommerce brands attribute, map it here. Otherwise, use Static Value and enter your store name. |

Variant grouping
| Meta Attribute | Suggested Mapping | Notes |
|---|---|---|
| item_group_id | Item Group ID | Groups all variants of the same product together (e.g., the same shirt in different sizes). The plugin calculates this automatically from the parent product ID. |
Meta uses item_group_id to display the right variant in ads based on what the shopper has browsed. Always map this field for variable products.
Product identification
| Meta Attribute | Suggested Mapping | Notes |
|---|---|---|
| gtin | Global Unique ID (GTIN, UPC, EAN, or ISBN) | The product’s Global Trade Item Number (UPC, EAN, or ISBN). Use the manufacturer-assigned value only. EU stores must include a GTIN for all branded products. |
| mpn | MPN | Manufacturer Part Number. Use when you don’t have a GTIN. |
| identifier_exists | Plugin Calculation | The plugin sets this automatically. It tells Meta whether a GTIN or MPN exists for the product. |
For handmade or custom products with no GTIN or MPN, set identifier_exists to false using a Static Value.
Recommended optional fields
These fields aren’t strictly required, but they improve ad targeting and reduce the risk of disapprovals.
| Meta Attribute | Suggested Mapping | Notes |
|---|---|---|
| google_product_category | Google Product Category | Use Google’s taxonomy. Must be at least two levels deep, e.g., Apparel & Accessories > Clothing. Accepts the full path or the numeric category ID. |
| product_type | Category Path | Your WooCommerce category structure (e.g., Men > Jeans > Slim Fit). Not from Google’s taxonomy, use your own. |
| fb_product_category | — | Meta’s own taxonomy. Use this alongside google_product_category if you want to target Meta-specific product categories. |
| additional_image_link | Additional Image | Up to 20 extra product images. Carousel ads and Shop listings use these. |
| sale_price | Sale Price | Same format as price. Map to your WooCommerce sale price field. |
| sale_price_effective_date | Sale price effective date | ISO 8601 date range for the sale window. Format: 2025-12-01T00:00-08:00/2025-12-26T23:59-08:00. |
| color | Color | Word descriptions only (e.g., Forest Green). No hex codes. |
| size | Size | Word, abbreviation, or number with a unit (e.g., UK 10). Don’t include the word “size”. |
| gender | Gender | Accepted values: female, male, unisex. |
| age_group | Age Group | Accepted values: adult, all ages, teen, kids, toddler, infant, newborn. |
| material | Material | e.g., Cotton, Leather. Up to 100 characters. |
| pattern | Pattern | e.g., Plaid, Floral, Solid. Up to 100 characters. |
| custom_label_0 to custom_label_4 | — | Free-text fields for your own campaign segmentation (e.g., Summer Sale, High Margin, Clearance). Meta doesn’t display these in ads — you use them in Ads Manager to build product sets. |
For fixed values, like condition or gender, click the field type dropdown, select Static Value, and type the value directly. You can add more optional fields at any time by clicking + Add field mapping.
Click Save & Continue to proceed to Category Mapping.
Step 3: Category mapping
Map your WooCommerce categories to Google’s product taxonomy (Meta uses Google’s taxonomy for google_product_category). On the left, you’ll see your store categories; on the right, type at least four characters to see taxonomy suggestions. Map as many categories as possible. Unmapped categories are more likely to trigger warnings in Commerce Manager.
Click Save & Continue to proceed to filters.
Step 4: Filters (optional)
Filters let you include or exclude products based on conditions — for example, excluding out-of-stock products or only including products above a certain price point. For a full walkthrough, see How to create filters for your product feed.
Step 5: Rules (optional)
Rules let you modify product data dynamically using IF/THEN logic. Common uses include:
- Setting a fallback value when a field is empty (e.g., map
descriptionto the short description if the long description is blank) - Standardizing color names (e.g.,
blk→Black) - Prepending text to titles to improve ad click rates
See How to create rules for details.
Step 6: Conversion & Google Analytics
Use the Conversion & Google Analytics tab to append UTM parameters to your product links. This lets Google Analytics attribute traffic and conversions to specific campaigns, ad sets, and ads. Toggle Enable Google Analytics tracking on, then fill in your campaign parameters:
- utm_source:
facebook - utm_medium:
cpc - utm_campaign: Your campaign name or the feed title
- utm_content: Ad set or product group name
For a detailed guide, see How to configure UTM tracking parameters for product feeds.
Click Generate Product Feed to build your feed file.
Step 7: Copy your feed URL
Once the feed finishes generating, go to Product Feed → Manage feeds to see it listed. From here you can:
- Click the Copy URL icon next to the feed URL — you’ll paste this into Meta Commerce Manager.
- Refresh Feed — triggers an immediate regeneration of the feed file.
- Edit Feed — reopens the feed wizard to update any settings.
- Duplicate Feed — creates a copy of this feed with the same settings.
Part 2: Connecting your feed to Meta Commerce Manager
Step 1: Access Commerce Manager
Go to the Meta for Business page and select your business account from the top-left dropdown.

Step 2: Create or open a catalog
If you don’t have a catalog yet, click Get Started or navigate to Catalogs in the left menu. Click Add Product/Catalog, choose E-commerce as the catalog type, and complete the setup wizard.
If you already have a catalog, open it from the Catalogs list.
Step 3: Add your data feed
Inside your catalog, click Data Sources in the left navigation, then select Data Feeds. Click Add Data Feed.

Step 4: Choose “Use a URL”
Select Use a URL — this is the recommended option for WooCommerce stores. Meta will automatically re-fetch your feed on a schedule, so your catalog stays in sync without any manual work.

Paste your Product Feed Pro feed URL into the Enter the URL where your file is hosted field.
Step 5: Set a fetch schedule
Choose how often Meta should re-fetch your feed:
- Hourly — Best for stores with frequent price or stock changes
- Daily — The right choice for most WooCommerce stores
- Weekly — Only suitable for very static catalogs

Set your preferred fetch time (displayed in UTC) and click Next.
Step 6: Save and trigger the first upload
Click Upload. Meta immediately performs the first fetch and starts processing your items. Initial processing takes 15–60 minutes, depending on catalog size. You’ll see a summary of items uploaded, warnings, and errors in the Data Sources dashboard.
Step 7: Review diagnostics
After processing, open the Diagnostics tab inside your catalog. Here you’ll see:
- Rejected items — products missing required fields or with invalid values
- Warnings — products with missing recommended fields or image issues
- Active items — products that passed review and are eligible for ads
Fix any errors in your WooCommerce product data or feed settings, then trigger a manual re-fetch in Commerce Manager or wait for the next scheduled fetch.
Step 8: Connect your catalog to ad assets
Once your catalog is populated, you can connect it to:
- Facebook Page Shop / Instagram Shopping — to display products in your shop storefront
- Advantage+ Catalog Ads — in Ads Manager, create a campaign with the Catalog Sales objective and select your catalog
- Dynamic Retargeting Ads — show previously viewed products to shoppers who visited your site
Troubleshooting common issues
brand, condition, and availability) are mapped or set as static values.identifier_exists to false. See How to Fix GTIN Errors.29.99 USD — a number, a space, then the ISO currency code. No symbols, no commas as decimal separators.Frequently asked questions
quantity_to_sell_on_facebook field?Need help?
If you have a question or run into any issues, we’re here to help.
- Premium users: Open a support ticket
- Free users: Visit our community forum
For the latest Meta catalog requirements, visit the Meta Business Help Center.


