Shopify product category vs Google product category: how they relate to your feeds
They are two different columns in the same CSV export, filled from two different taxonomies: Product Category is Shopify's own tree, Google Shopping / Google Product Category is Google's, and filling one does not fill the other. That is the whole distinction, and it is where the confusion comes from. The rest of this guide is how far Shopify's mapping between them actually goes, the re-import behaviour that silently wipes the Google column, and how to fill it for a real store.
What this comes down to
- They are two columns in one export, filled from two taxonomies. Product Category is Shopify’s tree; Google Shopping / Google Product Category is Google’s.
- Filling one does not fill the other, and no Shopify documentation for the Google & YouTube channel says otherwise — treat the Google column as yours to fill.
- Shopify does publish a Shopify-to-Google mapping, but it is one-directional, targets one Google taxonomy version, and leaves categories with no counterpart.
- A blank non-required column in a Shopify CSV import overwrites the existing value with blank. This is how stores lose categories they already set.
- Put the numeric ID in the Google column. Product Category is a separate field and takes Shopify’s own values.
Two different columns, one export
Open Shopify’s official product CSV template and you will find both Product category and Google Shopping / Google product category. They are not the same field and neither is derived from the other.
- Product category is a value from Shopify’s own taxonomy. It drives things inside Shopify, and Shopify uses it to generate suggestions — the documentation notes that this information
is used to generate a product category suggestion powered by Shopify Magic
. - Google Shopping / Google product category is the Merchant Center attribute: a value from Google’s 5,595-category taxonomy, by ID or exact path.
The categories the official mapping cannot map are exactly the ones that needed a judgement call anyway.
Does Shopify fill the Google one in for you?
Not as far as Shopify documents. It is worth being precise about this, because the assumption is widespread.
For the Meta channel, Shopify does document auto-filling the Google product category. For the Google & YouTube channel, no Shopify documentation we could find says the Shopify taxonomy is mapped onto google_product_category. What Shopify does say about that channel is the opposite in spirit: if you don’t add a product category, then Google automatically assigns a category to the product, but you might encounter errors
.
So the safe assumption is that the Google column is yours to fill. If your store happens to have it populated, check where the value came from before relying on the mechanism.
The mapping that does exist, and where it stops
Shopify publishes its taxonomy openly, including integration mappings, in the Shopify/product-taxonomy repository. The Google mapping there is real and large — on the order of fourteen thousand rules — and it is worth knowing three things about it:
- It is one-directional: Shopify category → Google category. There is no reverse.
- It ships an explicit unmapped list. Not every Shopify category has a Google counterpart, so a mapping-only approach leaves holes.
- It targets a specific Google taxonomy version. Since Google accepts any version published after August 2011 and translates it forward, that is tolerable — but it means the mapping and the current taxonomy are not the same thing.
The practical reading: a mapping is a good first pass and a poor final answer. It gets the easy ones right and leaves you the ambiguous ones, which were always the ones needing judgement.
The re-import that wipes your categories
Shopify’s documentation states that if a non-required column in the import CSV file is blank, then the matching value in the product list is overwritten as blank
. A re-import with an empty category column does not skip the field. It clears it.
This is how a tidy-up turns into a day of recovery. Two rules avoid it: import only the columns you intend to change, and never re-upload a trimmed-down export.
A related note from the same documentation: a product created by CSV or by an app can end up uncategorised in Shopify’s own taxonomy, because all products should be assigned a Shopify product category. If a category isn’t assigned, then your product saves as uncategorized. This could also happen if a product is created with CSV or an app
. So a store built by import often has both columns empty, not just the Google one.
Filling the Google column for a real store
Export your products, and the file you get is the input our Bulk Category Mapper expects: point it at the title column and the handle or ID column, and it returns the same rows with the Google category, its numeric ID, the full path and a confidence figure. Variants of one product resolve to one decision and are charged once, which matters on Shopify where a shirt in five sizes and four colours is twenty rows.
Then paste the ID column into a two-column import — handle plus Google Shopping / Google product category — and nothing else, for the reason in the previous section.
Submit the numeric ID rather than the path. Google accepts either and recommends the ID, and an ID cannot be broken by a renamed category or a mangled ampersand in a CSV.
One more Shopify thing that moved
Shopify sunset its own Product Reviews app, and its help centre now documents migrating those reviews into another app rather than exporting them. If you are trying to read your reviews at volume, the export lives in whichever review app you use — the Shopify review page covers where to find it, including the export limits in Judge.me.
Questions
Does Shopify send my Shopify product category to Google as the Google category?
Not according to any Shopify documentation we could find for the Google & YouTube channel. Shopify does document auto-filling the Google product category for the Meta channel, which makes the absence of an equivalent statement for Google worth taking seriously. Treat the Google column as yours to fill.
Can I just use the official Shopify-to-Google mapping?
As a first pass, yes — Shopify publishes it in the product-taxonomy repository. But it is one-directional, it ships a list of Shopify categories with no Google counterpart, and it targets a specific Google taxonomy version. The categories it cannot map are the ones that needed a judgement call anyway.
Why did my categories disappear after a CSV import?
Because a blank non-required column in a Shopify import overwrites the existing value with blank rather than being skipped. Import only the columns you are changing.
Which column should I put the value in?
Google Shopping / Google product category, using the numeric ID. Product category is Shopify's own taxonomy and is a separate field.
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.
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.
How to bulk-assign Google product categories in WooCommerce
Getting Google category IDs onto hundreds of WooCommerce products without editing them one at a time: export, map, and write them back.