How to generate an XML feed for your product catalog

Generate an XML feed for your product catalog
Learn four ways to generate an XML feed for your Shopify product catalog, with step-by-step setup, validation tips and how to submit it to Google Shopping.
Table of Contents
Get fresh insights on Google Ads optimization delivered straight to your inbox.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
By clicking Sign Up you're confirming that you agree with our Terms and Conditions.

To generate an XML feed for your product catalog, export your Shopify product data, map each field to the XML tags a channel expects, build the output, host it at a public URL, and validate it before you submit. On Shopify, an app can automate every step and refresh the document on a schedule.

An XML feed is the document that tells Google Shopping, Meta, and other channels what you sell. Clean data means more approved products and fewer wasted ad clicks. This guide shows four ways to create one from a Shopify store, how to submit it, and how to fix the errors you will meet along the way.

What is an XML feed?

This format is a structured list of every item in your Shopify product catalog. Each product sits inside its own element, and each element contains values such as the product title, description, price, image link, and availability. The structure is strict, so a machine can read it in seconds.

A product feed is also called a data feed. It comes in several types, such as an XML document, a text sheet, or a Google Sheet. A data feed in XML handles nested attributes, such as shipping details, better than a flat sheet, and teams that want a simple option can start there.

The platform supports XML in its specification. According to Merchant Center Help, you can submit RSS 2.0 or Atom 1.0 formats, save them in UTF-8 or UTF-16, and send a single file up to 4 GB.

Why does your shopify store need an XML product feed?

Shoppers never see your data, but they feel its effect. Google Shopping uses it to decide which ads and free listings show for each search. If a price, image, or stock value is wrong, the product can be disapproved.

Many Shopify sellers start with the Google & YouTube app, which syncs products without any XML. The Shopify Help Center explains that all products available to your Shopify store sync on first setup. That suits a simple catalog.

An XML product feed gives you more control. You can add custom and additional fields, rewrite titles for search, and send the same product data to several channels. It also enables a third party tool to apply rules to every item before it goes live.

What does an XML product feed contain?

Every item must contain the core attributes that Google requires. Its product data specification lists these required fields:

  1. id: a unique value, up to 50 characters. The platform recommends the SKU.
  2. title: plain text, up to 150 characters.
  3. description: plain text, up to 5,000 characters.
  4. link: the landing page URL.
  5. image link: the URL of the main picture.
  6. price: a number plus an ISO currency code, such as 15.00 USD.
  7. availability: in stock, out of stock, preorder, or backorder.

Preorders also need an availability date. Identifiers matter too. The brand attribute is required for new products, with a limit of 70 characters. A GTIN is strongly recommended when one exists. In that case, enter the full number. If a product has no GTIN, include the manufacturer part number and the brand.

Keep titles and descriptions free of promotional content. Pictures follow a new standard. Each product image must be high resolution, at least 500 x 500 pixels, with enforcement starting January 31, 2027, so check your Shopify product catalog now. Additional images can show other angles.

In XML, each Google product attribute uses the g: prefix, for example g:price. The root element declares the namespace, and every opening tag needs a closing tag. One missing tag can stop the whole output.

Image showing what a XML product feed contains

How to generate an XML feed in shopify

Shopify does not offer a native XML builder. Here are four options, from the simplest to the most flexible.

Use a feed app from the shopify app store

The Shopify App Store lists many tools that create XML from your Shopify product catalog. Most connect in a few clicks, read your products, and give you a link.

Before you install one, review the listing. Check the rating, scan the latest reviews, and see how the developer provides support. A free plan can provide a safe test before you commit.

For a walkthrough of the process, AdNabu explains how to create a Google Shopping feed for a Shopify store.

Look for these features:

  • Mapping, so you can match Shopify values to each channel.
  • Rules that edit titles and categories in bulk.
  • Options that enable scheduled runs or real time sync when inventory moves.
  • Error reports that provide the exact item and field.

Use the native google and youtube channel

If you only sell through Shopping ads, the native Shopify channel may be enough. It reads your Shopify catalog and sends it through a direct connection. You enter missing values, such as the product category, inside the channel.

The Shopify Help Center sets out requirements for it. You need a live Shopify store that is not in private mode, a payment provider, a refund policy, a contact method, a Google account, and a verified domain. Products also need a unique identifier, either a GTIN or a brand and part number.

The limit is control. You cannot easily rewrite titles at scale or share the same data with other channels. For that, use XML.

Export to CSV and convert

Shopify can export your product list as a spreadsheet. Clean the data there, then convert the sheet into an XML file with a conversion tool or a short script. If you want a free option, this route works, but it is manual. Skip it if your catalog moves daily.

Build a custom feed with the admin API

Developers can read product data through the Shopify Admin API and run a script that writes the XML on a server. This gives full control over structure, logic, and timing.

It also adds effort. You must host the output, protect the endpoint, and keep the code up to date. That covers platform changes: the Content API for Shopping reached its sunset date on August 18, 2026, so any custom script that calls it must move to the Merchant API.

Step by step: create a feed that google accepts

Follow these steps, whichever method you choose.

Step 1: clean your product data

Fix the product source system before you build anything. Ensure every item has a clear title, a correct price, a working image, and accurate inventory and stock values. Use ISO format for every date. Add GTINs where they exist, skip duplicate variants, and manage Shopify variants with care.

Step 2: map your fields

Match each Shopify field to a tag, whether it comes from your ERP system or your inventory system. Title maps to title, variant price maps to price, and the product page maps to link. Include the optional attributes that help search, such as color, size, and product type. Assign every product to a category, because Shopping groups items by category. Add additional attributes only when they are accurate. Search terms often include size and color, so keep titles specific.

Step 3: generate the XML

Run your tool and create the XML file. Review the result in a browser or a text editor. Confirm that it contains a valid XML declaration, that the structure is sound, and that each item looks right. Run a short test before you publish.

Step 4: host it at a public URL

Ensure the URL is public. It must start with http, https, ftp, or sftp, and it must point straight to a file. A link to a web page makes processing fail.

Step 5: connect it to the platform

In your Merchant Center account, open the data sources area and add a product source from a file. Paste the URL and choose a schedule. If the link requires a login, enter the username and password in the authentication section. This lets you protect the data from public access while the platform can still read it. Use a strong password to protect the feed, and rotate the password if it leaks. Ensure Googlebot can access the folder that holds your XML, because blocking it causes failed fetches.

Review the requirements for your country, and set the schedule after you finish your updates. Scheduling before changes can delay when the new data appears.

Step 6: review diagnostics

After the first fetch, open the diagnostics tab, check the date of the last fetch, and start with high priority errors. Then review every warning. Correct each issue at the source, not in the XML, so the next refresh does not bring it back. Manage each fix in Shopify.

How do data sources work?

A data source tells the platform where your product data lives. The API describes several kinds, including primary and supplemental sources. A primary source holds your main catalog. A supplemental source adds or overrides attributes, such as custom labels, without touching the main data.

Can you reuse the document for meta?

Often you can reuse most of the data, depending on your business and products. Meta catalogs have their own specification, and you manage them in Meta Commerce Manager. Review Meta's specification for each attribute before you upload, because a Meta ad can only show items that meet its requirements. Keep the structure and content consistent across channels.

A good feed manager helps here. It lets you manage one catalog across channels and enables different titles, images, and offers for each one.

Common XML feed errors and how to fix them

Most disapprovals trace back to a short list of problems.

A mismatched price or availability is the top cause. The value must match the landing page and the checkout, including any sale price. If your inventory moves fast, schedule more frequent fetches or use real time sync.

Invalid GTIN values come next. Do not guess or invent codes, and do not skip the check. If you have no GTIN, use the part number and brand.

Formatting errors break the output. Unclosed elements, wrong encoding, and special characters can all fail processing. Save in UTF-8 and escape characters such as the ampersand.

Image problems also appear often. Watermarks and placeholder pictures can cause a rejection, so use high quality photos that meet the size limit.

Google reviews every product against its policies, and some items also need manual review. A policy issue can block an item even when the XML is perfect. Review the product against the policy, then resubmit.

For a longer list of causes and fixes, see DataFeedWatch's guide to common Merchant Center errors. Our own guide to Google Shopping feed optimization covers the data quality side in more depth.

Keep your product feed healthy over time

A product feed is not a one-time project. Prices shift, items sell out, and new products arrive. Shopify sellers should plan these routines:

  • Review diagnostics each week.
  • Check the date of the last fetch.
  • Check that the data update runs after each change.
  • Test new products before they go live.
  • Plan a monthly review of your top products and search terms.
  • Track disapproved items and fix or remove them.

A 30-day expiry policy also applies to synced data, so stale items can drop out.

Once the data is clean, you can segment products for campaigns. A top seller can get a different bid than an item that burns ad budget. Custom labels make this possible, and a feed manager can add them in bulk. To learn how, see our guide to custom labels for Google Shopping.

Image showing how to keep your product feed healthy over time

Which feed tool should you choose?

Match the tool to your needs and size, because the best option depends on both. A small Shopify business with a simple use case may do well with the native channel. A growing Shopify shop that sells products on several sales channels will want a feed manager with rules, search friendly titles, support for Meta, and bulk editing.

Review these points before you choose:

  • Cost and free plan limits.
  • Supported channels, such as Google, Meta, and marketplaces.
  • Refresh speed and schedule options.
  • Quality of support and documentation.
  • Ratings and reviews from other Shopify sellers.

Install a trial from the Shopify App Store, generate a small output, and check it in Merchant Center before you roll it out.

Frequently asked questions

How do I generate an XML feed in shopify?

Install a feed app from the Shopify App Store, map your fields, and copy the link. Then add the link as a data source and set a schedule.

Does shopify create an XML feed by default?

No. Shopify does not offer a native XML builder. The native channel syncs products directly, while a third party tool or a custom script creates the document.

Is a free feed tool good enough?

A free plan can work for a small catalog. Check the limits on items, channels, and refresh speed, and read recent reviews before you rely on it.

Conclusion

XML turns your Shopify product catalog into data that Google and other channels can read. Clean your source data, choose the method that fits your catalog, host the output, and submit it through your account. Then review diagnostics often and fix errors at the source.

Start small, test with a few products, and scale up once the feed passes review. Track performance, and a healthy feed means more approved products, better search visibility, and better results from every campaign.

Join our monthly tips!

Get fresh insights on Google Shopping optimization delivered straight to your inbox.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
By clicking Sign Up you're confirming that you agree with our Terms and Conditions.