How to Create a WooCommerce Product Feed
Deviking Product Feeds Pro lets you create XML or CSV product feeds directly from your WooCommerce catalog.
You can start with a ready-made marketplace template or build a completely custom feed by selecting exactly which WooCommerce fields should be included in the output.
This guide walks you through creating a new feed from start to finish.
Create a New Feed
From your WordPress dashboard, go to:
Deviking Feeds → Add Feed
The feed editor is divided into sections so you can configure the output, product selection, field mapping, filtering, scheduling and delivery independently.
You can save your configuration at any time before generating the actual feed file.
1. Give Your Feed a Name
Enter a descriptive name that will help you identify the feed later.
For example:
Google Shoppingor:
Main XML FeedThe feed name is used inside the WordPress administration area and does not need to match the generated filename.
General Settings
2. Choose a Feed Template
The Feed Template setting provides a quick starting point for your feed.
Deviking Product Feeds Pro includes templates for several common destinations as well as fully custom XML and CSV configurations.
Available templates include options such as:
- Custom XML
- Custom CSV
- Google Shopping
- Meta / Facebook Catalog
- Microsoft / Bing Shopping
- TikTok
- ChatGPT / OpenAI
- Criteo
- Skroutz
- BestPrice
- SHOPFLIX
Choose a template and click:
Apply Template
Applying a template configures the relevant output structure and initial Attribute Mapping for that destination.
Selecting a template from the dropdown alone does not modify the feed. The configuration changes only after you click Apply Template.
Existing filters, storage settings, destinations and schedules are preserved when a template is applied.
3. Choose the Feed Type
Deviking Product Feeds supports:
- XML
- CSV
The available settings change automatically depending on the selected format.
Normally, the file type becomes fixed after the initial feed configuration has been saved.
If you later need to convert the feed between XML and CSV, you can apply a template of the other type. Deviking will update the feed structure and filename extension accordingly.
4. Configure the Filename
Choose the filename that will be used for the generated feed.
For example:
products.xmlor:
catalog.csvUse a clear and unique filename so that multiple feeds do not overwrite one another.
The generated file can later be used directly by marketplaces, advertising platforms, external systems or custom integrations.
Product Scope
5. Choose Which Products to Include
Use the product scope settings to determine which WooCommerce records can appear in the feed.
Depending on your catalog, you can generate feeds containing:
All Products + Variations
Includes normal products and variation records according to the configured variation behavior.
This is useful when each variation needs to appear as its own purchasable item.
Only Parents
Outputs parent products without separate variation rows.
This can be useful when the destination expects one record per main WooCommerce product.
Only Variations
Outputs variations without including their variable parent products.
This is useful for channels where every size, color or other variation must have its own feed record.
Attribute Mapping
Attribute Mapping determines the actual contents of every product record.
Each mapping row connects an output field in the feed with a value from WooCommerce.
For example:
| Feed field | WooCommerce source |
|---|---|
id | Product ID |
title | Product Name |
description | Description |
link | Permalink |
image | Featured Image |
price | Current Price |
sku | SKU |
Ready-made templates already contain an initial mapping suitable for their destination.
Custom feeds allow you to build the structure yourself.
6. Output Field
The output field is the name written into the resulting XML or CSV file.
For example:
titlecould generate:
<title>Premium Hoodie</title>while in CSV it could appear as a column:
titleYou are not limited to predefined field names when creating custom feeds.
7. Choose a Source
The Source determines where the value comes from.
The source selector can include information from areas such as:
- WooCommerce product data
- pricing
- stock
- SKU
- descriptions
- images
- categories
- product attributes
- taxonomies
- custom fields / post meta
- parent product data
- static values
The available sources are grouped and searchable to make large WooCommerce catalogs easier to configure.
8. Fallback Source
A mapping row can also use a Fallback Source.
The fallback is used when the primary source does not contain a value.
For example:
Primary source: Description
Fallback source: Short DescriptionIf a product has no full description, the short description can be used automatically.
Another example:
Primary source: SKU
Fallback source: Product IDFallbacks help prevent incomplete feed records without requiring separate rules for every product.
9. Skip Empty Values
Enable Skip if empty when an output field should not be written if no value is available.
This is particularly useful for optional XML elements.
Instead of producing:
<brand></brand>the element can simply be omitted.
Prefix and Suffix
You can add text before or after a mapped value.
For example, a suffix could turn:
25into:
25 kgor a prefix could convert a relative product identifier into another required format.
Product Feeds Pro can also use dynamic source placeholders in Prefix and Suffix values for more advanced configurations.
Transform Values
Transforms let you modify a value before it is written to the feed.
Available transformations include operations such as:
- Trim whitespace
- Strip HTML
- Preserve HTML
- Lowercase
- Uppercase
- Limit characters
- Replace text
- Number Format
- Value Map
Different transforms are useful for different feed requirements.
Value Map
Value Map lets you translate WooCommerce values into values required by another platform.
For example, WooCommerce stock values:
instock
outofstock
onbackordercan be converted to:
in stock
out of stock
available for orderor:
in_stock
out_of_stock
backorderdepending on the destination.
This avoids modifying the original WooCommerce product data.
XML Settings
When creating an XML feed, you can define its XML structure.
Root Element
The root element wraps the complete feed.
For example:
<products>
...
</products>Product Element
The product element wraps each individual product record:
<products>
<product>
...
</product>
<product>
...
</product>
</products>Different marketplace templates can automatically configure the structure required by that destination.
CDATA
For XML feeds, individual mapping rows can use CDATA.
This is useful for fields containing characters or HTML that should be treated as content rather than XML markup.
Example:
<description><![CDATA[
Product description here
]]></description>CDATA can be enabled separately for the fields that require it.
Advanced XML Structure
Product Feeds Pro also supports more complex XML configurations, including:
- nested XML paths;
- repeated elements;
- XML attributes;
- product-level attributes;
- namespaces;
- custom XML header;
- custom XML footer;
- content before the product collection;
- content after the product collection.
This allows custom XML feeds to match significantly more complex specifications than a simple flat product list.
CSV Settings
For CSV feeds you can configure how values are separated and written.
Available settings include:
Delimiter
Determines how columns are separated.
For example:
,or:
;Enclosure
Determines how values containing special characters are enclosed.
The common value is:
"Header Row
Controls whether the first CSV row contains the mapped field names.
UTF-8 BOM
Can be enabled when required for compatibility with software that expects a UTF-8 BOM.
Product Filtering
After defining the output structure, you can decide which products should actually appear.
Quick Filters
Simple Include / Exclude filtering can be performed using information such as:
- Product IDs
- SKUs
- Categories
These are useful when you only need straightforward product selection.
Advanced Filter Groups
Product Feeds Pro provides Advanced Filter Groups for more complex rules.
A group can work as either:
Include
Products must satisfy the rule to remain eligible.
or:
Exclude
Products matching the rule are removed.
Conditions can evaluate product information with operators such as:
- Equals
- Not equal
- Greater than
- Greater than or equal
- Less than
- Less than or equal
- Contains
- Does not contain
- Starts with
- Ends with
- Is empty
- Is not empty
- In list
- Not in list
Multiple conditions can be combined using AND or OR logic.
Category Mapping
If the destination uses a different category structure from WooCommerce, open:
Deviking Feeds → Category Mapping
Category Mapping lets you associate your WooCommerce categories with the category values required by another platform.
This allows your products to remain organized normally in WooCommerce while the exported feed uses the destination’s category structure.
Language
If WPML is installed and available, Product Feeds Pro can generate a feed for a selected language.
The language is stored independently for each feed.
This makes it possible to maintain separate feeds such as:
products-en.xml
products-de.xml
products-fr.xmlusing the translated WooCommerce product content.
Feed Storage
Every feed is generated as a real file on your server.
You can use:
- the WordPress uploads directory; or
- a configured local server directory.
Once generated, the feed URL can be supplied directly to a service that periodically retrieves product data.
Split Large Feeds
For large catalogs, Split Feed can divide one feed into multiple files based on a maximum number of records.
For example:
products-1.xml
products-2.xml
products-3.xmlEach XML part remains a complete valid XML document.
For CSV feeds, each part can contain its own column header.
Remote Destinations
Product Feeds Pro can also send generated files automatically to remote servers.
Supported protocols include:
- FTP
- FTPS
- SFTP
Multiple remote destinations can be configured for the same feed.
The feed is always generated locally first. Remote delivery takes place afterward, so a remote connection failure does not remove a successfully generated local feed.
Schedule Automatic Generation
Feeds can be regenerated automatically using WordPress scheduling.
Available schedules include:
- Manual
- Every 5 minutes
- Every 15 minutes
- Every 30 minutes
- Hourly
- Every 6 hours
- Every 12 hours
- Daily
- Weekly
Select the interval appropriate for how frequently your catalog changes.
Stores with frequently changing stock or prices may prefer shorter intervals, while relatively static catalogs can use longer schedules.
Preview the Feed
Before generating the final file, use Preview to inspect the resulting structure.
Preview is useful for checking:
- field names;
- mapped values;
- transforms;
- product selection;
- XML structure;
- CSV columns.
This allows you to catch configuration problems before creating the complete feed.
Validate the Feed
Use Validate to check the generated feed for structural issues.
For XML feeds, this is particularly useful for detecting malformed XML before the URL is submitted to an external platform.
Validation confirms the technical structure of the generated file; individual marketplaces may still apply their own requirements and validation rules.
Saving and Generating a Feed
Deviking Product Feeds intentionally separates saving configuration from generating output.
Save Feed
Save Feed stores your current settings.
It does not regenerate the feed file.
Generate Feed
Generate Feed generates the file using the last saved configuration.
Unsaved changes are not included.
Save & Generate
Save & Generate first saves the current configuration and then immediately generates a new feed file.
For most editing sessions, this is the quickest way to update both the configuration and the output.
Open the Generated Feed
After successful generation, use Open Feed to view the current feed file.
You can then copy its URL and provide it to the marketplace, advertising platform or external service that will consume the feed.
Your Product Feed Is Ready
Once the feed has been saved and generated, Deviking Product Feeds will take care of rebuilding it according to the configured schedule.
You can return to:
Deviking Feeds → Feeds
at any time to:
- edit the configuration;
- regenerate the feed;
- duplicate it;
- open the generated file;
- review its current status.
For your first feed, a good workflow is:
Choose Template → Review Mapping → Configure Products → Preview → Save & Generate → Validate → Open Feed