How to bulk-assign Google product categories in WooCommerce
The route that works is a CSV round-trip, which is what WooCommerce support itself points to: set the category by hand on one product, export All Products with the meta columns included, find the Meta: column that now holds your value, fill it for every row, and import back. The extra step exists because the value is product meta added by a feed extension, not a WooCommerce category term — so bulk term editors cannot see it, and the Google for WooCommerce attribute mapping tool does not appear to offer product category as a target at all. The rest of this guide is finding that column with certainty, filling five thousand rows, and verifying before you trust it.
What this comes down to
- The value is product meta added by a feed extension, not a WooCommerce category term — which is why bulk term editors cannot see it.
- The CSV round-trip is the route WooCommerce support itself points to: set it by hand on one product, export with meta columns, fill the column, import back.
- Do not look the meta key up. Set the category on one product, export that product, and read the Meta: column name from the file.
- Import only the identifier column and the category column. A blank cell in a recognised column is generally written as blank, not skipped.
- WooCommerce core has no Google feed, so the attribute only exists if a feed extension put it there.
Where the category lives in WooCommerce
WooCommerce core has no notion of a Google product category. It arrives with whatever feed extension you use — most often Google for WooCommerce (formerly Google Listings & Ads), which adds a Google for WooCommerce tab to the product editing screen with the category field on it, and stores the value as product meta.
That matters for bulk work: the value is meta on the product, not a WooCommerce product category term. So the tools that bulk-edit taxonomy terms will not touch it, and the tools that bulk-edit meta will.
Bulk term editors cannot see it because it was never a category term in the first place.
The attribute mapping tool, and why it may not help
Google for WooCommerce has an attribute mapping feature — Marketing → Google for WooCommerce → Attributes → Create attribute rule — which maps a WooCommerce attribute or a fixed value onto a Google feed attribute, optionally scoped to specific product categories. It is the right shape for this job.
The catch: merchants have reported on the plugin’s support forum that Google Product Category does not appear in the target attribute dropdown, while it is available on individual product screens. A support representative reproduced the behaviour and escalated it. That is a report, not documented behaviour, and it may have been addressed — so check the dropdown before assuming, and if the target is there, use it. If it is not, the CSV route below is what WooCommerce support recommends in its place.
One thing worth knowing either way: a value set on an individual product overrides a global attribute rule. Rules fill gaps; they do not overwrite deliberate choices.
The CSV round-trip
This is the reliable route, and it is the one WooCommerce support points to: export, fill the column, import back.
- Export. Products → All Products → Export. Include the meta columns; the file you get back is the one that tells you the exact meta key the category is stored under, which varies by extension.
- Find the column. Open the export and look for a
Meta:column holding the Google category for a product you have already set by hand. Setting one product manually first, before exporting, is the quickest way to identify the column with certainty. - Fill it in. Put the numeric category ID in that column for every product. Google accepts the ID or the full path and recommends the ID.
- Import. Products → All Products → Import, tick Update existing products, and map the column back to the same meta key.
Import only the columns you are changing — id or sku plus the category column. A CSV importer that receives a blank cell for a field it recognises will generally write that blank, and a wide re-import is how people accidentally clear descriptions and prices.
Filling in five thousand rows
The export gives you a file with product titles and an empty category column, which is exactly the input our Bulk Category Mapper takes. Upload it, point it at the title column and the id or SKU column, and you get the same file back with the category, its ID, the full path and a confidence figure appended — plus a separate file of the rows it was not confident about, with the runner-up categories attached.
Paste the ID column into your export, import it back, and the manual work is reading the short uncertain list rather than the whole catalog. Identical products in several variations are charged once, so a catalog of one shirt in twenty sizes is one decision.
The first rows of your own file run free, with the same engine, so you can see whether it works on your data before paying for any of it.
While you are in there
WooCommerce stores product reviews as WordPress comments, and core has no export for them — the built-in Product CSV Importer and Exporter handles products only, and WooCommerce’s own reviews import/export documentation points at a paid extension. If that is your next job, the WooCommerce review page lays out the options, including the free copy-and-paste route.
Verify before you trust it
After the import, open two or three products and check the Google tab shows the category you expect. Then check Merchant Center once the feed has resynced — you can watch the pending re-sync task under WooCommerce → Status → Action Scheduler if nothing appears to be happening.
Remember that google_product_category is optional and Google assigns a category automatically, so “no error” does not mean “value accepted”. Look at the product, not the absence of a warning.
Questions
Can I set the Google product category for all products at once?
If every product genuinely belongs in one category, a fixed-value attribute rule in Google for WooCommerce is the cleanest way — assuming the category is available as a target attribute, which merchants have reported it may not be. Otherwise the CSV round-trip is the route, and it is what WooCommerce support recommends.
Which meta key holds the category?
It depends on the extension. Set the category by hand on one product, export that product, and read the Meta: column name from the file. That is faster and more reliable than looking it up.
Will a CSV import overwrite my other product data?
It can. Import only the identifier column and the category column, with "update existing products" enabled. A blank cell in a recognised column is generally written as blank rather than skipped.
Do I need a feed plugin at all?
To send a category to Merchant Center, yes — WooCommerce core has no Google feed. The value is added by whichever extension builds your feed.
Read next
How to find the right Google product category (with ID)
A practical walkthrough: read the taxonomy, pick the most specific category that is still true, and get the numeric ID your product feed needs.
How to override Google's automatic product category with a supplemental feed
What a supplemental feed can and cannot change, when Google accepts a category override, and the exact two columns to submit in the file.
Google product category vs product_type: what's the difference
One is Google's fixed taxonomy, the other is your own. They do different jobs, and confusing the two is why feeds end up miscategorised.