Product feed for Google Merchant Center
Product feed to Google Merchant Center
The "Shopping feed" extension creates an XML file with your entire product catalog. Google Merchant Center, Meta, and Snapchat retrieve this file and build their product ads on it. One extension delivers the feed to all three — you don't need to install anything extra per channel.
Activate the Shopping feed extension
- Go to Extensions → Your extensions and search for Shopping feedInstall the extension if it's not already installed.
- Turn on
- Activate the module at the top of the settings.
The feed will start generating in the background. The first time you open a feed URL right after activation, you might get a message that the feed is being generated — wait a few minutes and try again.
Feed URLs
Replace yourstore.com with your own domain.
Channel | URL |
|---|---|
Google Merchant Center | |
Snap Pixel | |
The top three point to the same content. The channels only expect their own file names, so use the URL that belongs to the channel you are setting up.
You can also find the URLs at the bottom of the extension's description, pre-filled.
Add the feed to Google Merchant Center
- Log in to Google Merchant Center.
- Add a new feed, and select scheduled fetch from URL.
- Paste the Google URL above.
Google has its own guide for the steps on its page: Add product data via a file source
Extra feed for main product
If you have products with variants, each variant is a separate row in the regular feed — one per size, color, or combination. Some systems cannot handle this and need one row per main product instead. Google often uses this as a supplementary feed.
Turn on extra feed for main product in the settings. Then mainproducts.php is generated in addition to the regular feed, with only the main products.
This setting is easy to overlook: mainproducts.php responds with "Feed not enabled" as long as the switch is off, even if the Shopping feed module is otherwise active. No separate module is required — just this switch.
Product feed settings (Google, Meta, Snapchat)
Setting | What it does |
|---|---|
Activate module | The main switch. All feed URLs are dead without this |
Use item number as ID | Sends the item number as product ID in the feed instead of the internal product ID |
Allow image upscaling | Upscales product images to meet Google's minimum image size requirements |
Update frequency in hours |
|
Stock status – ignore available date | Products that are in stock are marked as available even if they have a future availability date |
Show custom labels in the shopping feed | Sends item number as |
custom_label_0 | and the value from the product tag for custom labels as |
Support for backorder/pre-order | Uses |
preorder | and |
, products with 2 or fewer will disappear | extra feed for main product |
Two of the settings are listed with the same name, "Allow image upscaling". The top one actually controls the item number as product ID — see the description text under each setting if you are unsure which one you are changing.
Product tags that control the feed
Some things are set per product instead of in the settings. The tags are located under ,Tags
Tag | What it does |
|---|---|
Exclude from feeds | The product is completely removed from all feeds |
Always in stock | The product is displayed as available regardless of actual inventory |
Minimum quantity (per product) | Overrides the setting "Minimum number of products" for this specific product |
Dynamic availability date | The availability date is set to today's date plus the number of days you enter. Useful for pre-order items without a fixed date |
Custom label | The value is sent as |
Several of these tags must be created by Mystore before they appear on the product page. Contact customer service if you cannot find them.
Gift cards are always automatically removed from the feed.
Separate articles cover custom labels and pre-order in detail.
What does the Google product feed contain?
Per product, among other things, the following is sent:
- Product ID, title, and description are included in the feed for each product
- Google product category and the store's own category path are included in the feed
- Link to the product page, main image, and any additional images are included in the feed
- Condition, shipping weight, and stock status are included in the feed
- Availability date is included in the feed when the product is not yet in stock
- The feed contains the regular price in the store's standard currency, and automatically adds the campaign price and the campaign's start/end date when the product has an active campaign price — no separate setting is needed
- Brand, EAN, and valid barcode are included in the feed
There is no separate setting for transferring images — these are automatically retrieved from the product's image gallery.
The description is stripped of HTML. Products with variants are sent as one row per variant, linked together with a common group ID so that Google understands it is the same product.
When is the product feed for Google, Meta, and Snapchat updated?
The feed is stored as a pre-generated file on the server. This is the file that the channels retrieve, and therefore the feed URL responds quickly even with many thousands of products.
The file is rebuilt:
- Once a day with the default setting
Every six hoursif you set the update frequency to - — approximately at 05:30, 11:30, 17:30, and 23:30.
If you change prices or stock, it will not take effect in the feed until the next generation. The same applies to products you exclude with a tag.
If no file exists yet — right after activation, or for a brand new feed — the URL will respond that the feed is being generated and will start the job. Wait a few minutes and retrieve it again. Google and Meta will automatically try again themselves.
Troubleshooting: product feed for Google Merchant Center, Meta, and Snapchat
Symptom | Probable cause |
|---|---|
"You need to install google PLA" | The Shopping feed module is not activated |
"Feed not enabled" on | "extra feed for main product" is off |
"Feed is being generated" | The file has not been created yet. Try again in a few minutes |
Products are missing from the feed | Check "Minimum number of products", the tag to exclude products, and if the product is active in the store |
Everything appears as sold out | Look at "Show all products regardless of stock status" and "Stock status – ignore date available" |
Price changes or campaign prices are not displayed in Google Merchant Center, Meta, or Snapchat | The feed has not been regenerated yet. Set the update frequency to 6 hours if you need faster updates |
External tools cannot read price | Some tools expect a different format. If you use Klaviyo, there is a separate Klaviyo feed that is more suitable |