Creation of Google Shopping Feed Limit Issue

Hello Everyone,
We are encountering an issue related to the feed we created for Google Shopping.
We created a new template for pages, and we print in a liquid loop each product with the relative xml tags (like , <g:price>, <g:product_type> etc.). There is no issue in the liquid itself, but we encounter the 1000 product limit for paginate, and even trying forcing it to aument, the total number of products printed is still 1000.
We currently have more than 6000 products, so it is not possible for us to populate the Google Shopping correctly.

Is there a workaround for the 1000 products limit, and if not, how can we create a feed that has all the store products?

Thanks a lot

1 Like

The way I’ve usually done this is to pull all product data from the store and subscribe to products/create and products/update webhooks and push the XML to Google Shopping feeds (daily). I believe the biggest store we’ve done this for has ~100k products and it seems to be working just fine^

2 Likes

@Sembox_Sembox If you’re set on using Liquid to generate the Google Shopping feed one option would be to create 7+ different pages that each have <1000 products and then add those separate feeds to Google Merchant Center.

The maintenance would get difficult though, any changes to the logic and you’d need to update all the files, and you’d need to watch over time to make sure no individual feed hit 1000 products.

Generally, I’d recommend try an app for that or creating your own script to download the data from Shopify, created the XML document and upload it to GMC.

You can use collection template instead page template and use collection pagination so you only have to maintain one file.

Make sure to add at the beginning:

{%- layout none -%}

And then you will be able to paginate by 1000:

{%- paginate collection.products by 1000 -%}

Now you can do access it via:

 /collections/all?view=your_template_name?page=1
 /collections/all?view=your_template_name?page=2
 /collections/all?view=your_template_name?page=3

and so on…

You can also use it with other collections too!

2 Likes

That’s a lot more elegant!

Ok so from what I understand you used Python to create this snippet? If so I figure you are hosting it on another server. I would like to keep it all in the Shopify enviroment.

I see, but this means that if I have to link a single feed to my Google Shopping, I have to choose which page to link, having the same issue of not having all the products at once. But thanks for the hint

Yes, this is as far as you can get by hosting a feed on Shopify infra. Otherwise, you will need to spin up a custom server to handle the heavy lifting and upload it somewhere. Or just use an app :wink:

JavaScript*

Regardless, that’s how I do it, you can use that as a baseline or do the way you want to do it^

On a store with 30k SKUs, we tackled this by incrementally building the XML feed as we fetched product data using GraphQL and a generator function. This approach allows us to start constructing the feed immediately as each product batch is processed, avoiding the delays that would come from waiting for the entire product catalog to load before starting XML generation—especially crucial for large catalogs where execution time can become prohibitive.

To keep the feed up to date, we implemented a CRON job that runs every 3 hours.