Google has confirmed that its Google Shopping crawler does not process structured data generated through JavaScript, because the shopping bot crawls βa lot and fastβ and cannot wait for JavaScript to render.Β
The clarification came directly from a Google engineer during the Search Central Live event in Zurich, explaining why Google updated its documentation 14 months ago to warn against JavaScript-based structured data for shopping feeds.
This opens up urgent questions. If the Shopping crawler cannot wait for JS rendering, how many e-commerce sites are unknowingly delivering incomplete or βinvisibleβ product data?Β
The answer, based on Googleβs latest explanation, appears to be yes and the implications are much bigger than a simple technical guideline.
Why Did Google Warn Against JavaScript-Based Structured Data for Shopping?
The story began over a year ago when Google quietly updated its documentation to caution retailers: Do not generate Shopping structured data dynamically through JavaScript.

But many in the retail SEO and community didnβt know why the warning was issued or how strict Googleβs stance really was.
Now, during the Zurich event, a Google engineer finally provided the missing explanation:
The Google Shopping bot crawls so frequently, and at such high volume, that it doesnβt have time to wait for JavaScript to load structured data.
Unlike Google Search, which uses Googlebot and a rendering queue to process JavaScript, the Shopping crawler runs at a dramatically higher pace. It must fetch:
- Real-time pricing
- Inventory updates
- Availability changes
- Configuration data
- Sale status
- Variants
- Merchant feed updates
Because pricing and availability shift constantly, the Shopping Graph needs near real-time data ingestion.
Simply put, the Shopping crawler has a job to do and JavaScript slows it down.
How Does the Shopping Crawler Differ from Google Search?
This is the core misunderstanding that many developers and SEOs had until now:
Google Search β JavaScript is processed
Googlebot waits, renders, and extracts structured data, even if it is loaded through JavaScript. Rendering can be delayed due to queueing, but it eventually happens.
Google Shopping β JavaScript is ignored
The Shopping crawler does not wait for JS. If the structured data is not present in raw HTML, it will not be read.
This difference explains Googleβs strict recommendation to always provide static, server-side structured data for product pages.
At the Zurich event, Barry Schwartz summarized it on X:
βGoogle Shopping wonβt process structured data loaded through JavaScript because Shopping crawls a lot, fastβ¦ It is different from Google Search.β
This distinction matters for every retailer that relies on dynamically injected product data.
How Fast Does the Shopping Bot Crawl and Why Does Speed Matter?
The Google engineer didnβt provide exact crawl-rate numbers, but the context makes the situation clear:
The Shopping crawler must ingest data at industrial scale.
Retail data changes constantly:
- Flash sales
- Stock-outs
- Price adjustments
- Promotions
- Currency fluctuations
- Merchant feed updates
- Local inventory changes
If the bot waited for JavaScript rendering:
- The Shopping Graph would lag
- Prices could be outdated
- Unavailable products might appear
- Merchants could lose sales
- Google could show incorrect listings
Because Google Shopping handles millions of SKUs across global retailers, its crawlers simply cannot afford rendering delays.
This is why Google considers JavaScript-loaded schema too slow and too unreliable for high-frequency shopping data.
What Risks Do Retailers Face If They Use JavaScript for Structured Data?
Retailers still using JavaScript-based structured data may experience serious issues, often without knowing the cause:
1. Incorrect or missing product data in Google Shopping
If the bot cannot read the JS-rendered schema, it may not see: price, availability, product variants, brands, SKU and shipping details.Β
This affects product rich results and Shopping listings.
2. Reduced visibility in Shopping results
Google Shopping prioritizes accurate, stable data sources. Missing structured data can cause ranking loss in: free listings, Shopping ads, product carousels and knowledge-based shopping formats
3. Merchant Center disapprovals
Inconsistent or missing structured data (between schema, Merchant Center feed, and on-page content) can trigger: mismatched price errors, availability mismatches
and structured data inconsistencies.Β
4. Slower inclusion in the Shopping Graph
Because the bot skips JavaScript rendering, any JS-only product data is effectively invisible. Retailers may unknowingly be operating at a severe disadvantage.
What Did Industry Experts Say About the Announcement?
Aleyda Solis added important clarification on X:
βIn Search, theyβre parsing JavaScriptβ¦
In Shopping, itβs different because they crawl a lot. If they have to crawl more, structured data should not rely on client-side rendering.β
Is client side rendered JS bad for structured data?
In search: theyβre parsing it. This invites drift tough if you have any content gap and is reflected in the page. They should be aligned.
For shopping : itβs differerent because they crawl a lot. If they have to crawlβ¦ pic.twitter.com/06q9sggrwK
β Aleyda Solis ποΈ (@aleyda) December 9, 2025
She emphasized that relying on client-side JS for structured data invites data drift, meaning:
- What users see versus
- What the Shopping crawler reads
may become misaligned. This misalignment is one of the biggest drivers of Merchant Center errors.
Barry Schwartz, who originally raised the discussion, reinforced the key message in simple terms:
Google Shopping won’t process structured data loaded through JavaScript because Shopping crawls a lot, fast, because it needs real time pricing/availability. It is different from Google Search.
β Barry Schwartz (@rustybrick) December 9, 2025
Google Shopping needs speed, not rendering. Structured data must be server-side.
How Should Retailers Implement Structured Data for Google Shopping?
Although the article avoids heavy bullet points, the core guidance is clear: Retailers must ensure structured data is included in raw HTML before JavaScript executes.
The recommended implementation methods include: server-side rendering (SSR), static HTML markup, server-side templates (Liquid, PHP, Node SSR, etc.), pre-rendering for dynamic platforms and CMS-level schema injection.Β
This ensures that the Shopping crawler can retrieve that data instantly.
Client-side rendering (React, Vue, Angular, JS widgets) cannot be relied upon.
Why Does Google Shopping Treat Structured Data So Differently?
From Googleβs perspective, the Shopping Graph is a time-sensitive ecosystem.
Even a delay of a few minutes in updating stock or price can mean: showing incorrect information, displaying out-of-stock items, inaccurate comparisons and poor user experience.Β
With this, it merchant complaints and compliance issues in regulated markets. And because Shopping data is often transactional, accuracy is essential.
Is This a Temporary Limitation or a Permanent Decision?
Based on the tone of the announcement, this is not a temporary constraint.
It is a design choice. The Shopping crawler is built for: speed, frequency, freshness and scale.Β
JavaScript rendering would fundamentally break that model.
Google Searchβs approach is not viable for the Shopping ecosystem, and nothing suggests that will change.
Dipti Arora
AuthorDipti Arora is a Senior Content Writer with over seven years of experience creating impactful content across Digital Marketing, SEO, technology, and business domains. She has a strong background in managing news verticals and delivering editorial excellence. Dipti has contributed to leading publications such as The Times of India and CEO News, where her research-driven storytelling and ability to simplify complex subjects have consistently stood out. She is passionate about crafting content that informs, engages, and drives meaningful results.