How schema markup fits into Google's ranking framework
Structured data strengthens E-E-A-T signals and topical authority. Learn how carousels and rich results work within Google's broader ranking systems.
Google's carousel rich results give your site a horizontally scrollable row of entities directly in search results. This guide covers every requirement, every JSON-LD property, every eligibility rule — and how structured data carousels drive LLM citation and AI Mode visibility in 2026.
Carousel rich results are currently in beta and available only in EEA countries, Turkey, and South Africa. Requirements and guidelines may change as Google develops this feature. Google Search Central Docs
A Google structured data carousel is a horizontally scrollable rich result that appears directly in Google Search. It displays multiple entities from a single website — restaurants, hotels, products, events — as individual tiles. Each tile can show the entity's image, name, price range, and star rating at a glance.
This is fundamentally different from a standard organic listing. Instead of one blue link, your site gets a visually rich row of items. Users can scroll through your offerings without ever leaving the search results page.
The feature is currently in beta, which means Google is actively refining it. Requirements may shift as the feature matures. But implementing it now — correctly — puts you ahead of the vast majority of websites. Google Search Central
Host carousels — where all tiles come from a single domain — give publishers significantly more SERP real estate than a standard listing. A travel site, restaurant directory, or e-commerce platform that implements carousels correctly could occupy a disproportionately large visual space in results.
Beyond visual prominence, the machine-readable entity data you publish via ItemList markup directly feeds into how large language models understand your site's topical authority. This is a dual benefit: better rich results today, stronger LLM citation signals for tomorrow.
Google shows two types of carousel results in search. A multi-source carousel aggregates results from multiple different websites — commonly seen for news, recipes, or top-10 roundups. That type of carousel does not require structured data from you directly.
A host carousel — the focus of this guide — shows results exclusively from one website. All tiles scroll from your domain alone. This is the carousel type that structured data carousels beta unlocks. It requires you to deliberately implement ItemList markup on a summary or category page.
Before investing time in implementation, confirm whether your business or audience falls within the current eligible regions. Google has been explicit: carousel rich results are not globally available yet.
| Region | Supported Query Types | Status |
|---|---|---|
| European Economic Area (EEA) | Hotels, vacation rentals, ground transportation, flights, local businesses, events/tours/activities, shopping | Available |
| Turkey | Hotels, vacation rentals, local businesses only | Partial |
| South Africa | Hotels, vacation rentals, events/tours, flights, shopping, food delivery, car hire, bus booking | Available |
| India, US, UK (outside EEA), Asia-Pacific | Not yet available | Not Live |
If your site serves users in the EEA or Turkey, you must register interest through Google's official forms. For hotels, vacation rentals, local businesses, events, tours, and ground transportation, use the Google Search aggregator features interest form. For shopping queries in CSS Program countries, you need to enrol through the Comparison Shopping Services programme.
If your site is based in India — including Chennai, Bengaluru, Mumbai, or Delhi — carousel rich results are not live in your region yet. However, implementing the correct ItemList structured data now future-proofs your site for when Google expands the feature globally.
More importantly: the same structured data that enables carousels also strengthens your entity graph, improves Knowledge Panel eligibility, and increases your citations in AI Mode and large language model outputs. The investment has immediate returns even outside eligible regions.
Google's implementation path is clear and well-documented. Follow these seven steps precisely to give your pages the best chance of appearing as carousel rich results.
<script type="application/ld+json"> block in the <head> of your summary page.
name, a url pointing to its standalone detail page, and at least one image.
priceRange for local businesses, aggregateRating for any entity, amenityFeature for lodging, servesCuisine for restaurants, and offers for products and events.
Our Digital Marketing Course in Chennai includes live schema markup labs, Rich Results Test workshops, and real site audits. Build skills that earn results — not just certificates.
The ItemList type is the container that holds all the entities in your carousel. Every carousel implementation begins here. All URLs inside the list must point to different pages on the same domain as the summary page.
Each entry inside itemListElement is a ListItem.
A ListItem has two required properties: position (a 1-based integer indicating order) and item (the actual entity object with its own properties).
The order you specify in the markup is the order Google uses to sequence tiles in the carousel.
Every entity in your ItemList — regardless of type — needs three required properties at the item level. These are non-negotiable for carousel eligibility.
| Property | Type | Notes |
|---|---|---|
name |
Text | The entity's display name. HTML formatting is ignored. Shown as the tile title in the carousel. |
url |
URL | Must link to a standalone detail page for this specific entity. No anchor links. All URLs must be unique and on the same domain as the summary page. |
image |
URL or ImageObject | At least one image of the entity. Do not use logos. Google recommends three images in 16×9, 4×3, and 1×1 aspect ratios at minimum 50K total pixels each. |
Image quality is often the deciding factor in whether a carousel tile looks compelling enough to generate clicks. Google recommends providing multiple high-resolution images in three aspect ratios so it can select the best fit depending on the display context.
The minimum of 50,000 pixels means a 1×1 square image should be at least 224×224 pixels — though in practice, aiming for 800×800 or above produces far better results in SERP display. Always include 16×9, 4×3, and 1×1 variants when possible.
The LocalBusiness type covers physical locations and service providers. When your entities are hotels, restaurants, cafés, vacation rentals, spas, or any brick-and-mortar business, use LocalBusiness or its most specific sub-type.
The most commonly used sub-types for carousel carousels are
Restaurant, Hotel, and VacationRental.
The more specific your type, the more recommended properties become available — and the richer your carousel tile can appear.
| Property | Applicable To | Notes |
|---|---|---|
priceRange |
All LocalBusiness | Use "$", "$$", "$$$", "$$$$" or a range like "$–$$$". Must be fewer than 12 characters or Google ignores it. |
aggregateRating |
All LocalBusiness | Nest a ratingValue and reviewCount inside an AggregateRating object. Default scale is 1–5. Use bestRating and worstRating if your scale differs. |
servesCuisine |
Restaurant only | Text value for cuisine type: "Italian", "South Indian", "Japanese", etc. |
amenityFeature |
LodgingBusiness (Hotel, VacationRental) only | Use LocationFeatureSpecification with a name and value. Examples: beachAccess (boolean), freeBreakfast (boolean), internetType (string). |
Note that amenityFeature is only available when you use the LodgingBusiness type or one of its sub-types.
Generic types like LocalBusiness do not expose this property in structured data.
Use the most specific type possible to unlock the richest set of optional properties.
If your summary page lists products — a "Top Coats of the Season" page, "Best Running Shoes Under ₹5000", or similar — use the Product type for each item.
The key recommended property here is offers, which surfaces pricing directly in the carousel tile.
You can use either Offer (for a single price) or AggregateOffer (for a price range when multiple variants exist).
Always include priceCurrency in
ISO 4217 format
— for example, INR for Indian Rupees, EUR for Euros, USD for US Dollars.
If currency is omitted, Google defaults to USD.
For "Things to Do" style pages — tour listings, activity roundups, local event guides — use the Event type.
Events support the same offers structure as products.
If an event is free to attend, set offers.price to 0 explicitly.
You can mix Event and LocalBusiness entities on the same summary page when appropriate. A "Top Things to Do in Chennai" page might include both ticketed events and free local attractions. Google supports this mixed-type approach within a single ItemList.
The following examples show complete, valid JSON-LD blocks for three common carousel scenarios. Each is modelled after Google's official documentation structure and includes all required plus key recommended properties. Adapt the values to your real entities before deploying.
{
"@context": "https://schema.org",
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "Restaurant",
"name": "Murugan Idli Shop",
"image": [
"https://example.com/photos/1x1/murugan.jpg",
"https://example.com/photos/4x3/murugan.jpg",
"https://example.com/photos/16x9/murugan.jpg"
],
"priceRange": "$",
"servesCuisine": "South Indian",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.7,
"reviewCount": 3820
},
"url": "https://www.example.com/restaurants/murugan-idli-shop"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@type": "Restaurant",
"name": "Sangeetha Veg Restaurant",
"image": [
"https://example.com/photos/1x1/sangeetha.jpg",
"https://example.com/photos/4x3/sangeetha.jpg",
"https://example.com/photos/16x9/sangeetha.jpg"
],
"priceRange": "$",
"servesCuisine": "South Indian Vegetarian",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.5,
"reviewCount": 2140
},
"url": "https://www.example.com/restaurants/sangeetha"
}
},
{
"@type": "ListItem",
"position": 3,
"item": {
"@type": "Restaurant",
"name": "Annalakshmi Restaurant",
"image": [
"https://example.com/photos/1x1/annalakshmi.jpg",
"https://example.com/photos/4x3/annalakshmi.jpg",
"https://example.com/photos/16x9/annalakshmi.jpg"
],
"priceRange": "$$",
"servesCuisine": "Indian Vegetarian",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.6,
"reviewCount": 1590
},
"url": "https://www.example.com/restaurants/annalakshmi"
}
}
]
}
{
"@context": "https://schema.org",
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "Hotel",
"name": "ITC Grand Chola",
"image": [
"https://example.com/photos/1x1/itc.jpg",
"https://example.com/photos/4x3/itc.jpg",
"https://example.com/photos/16x9/itc.jpg"
],
"priceRange": "$$$$",
"amenityFeature": {
"@type": "LocationFeatureSpecification",
"name": "swimmingPool",
"value": true
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.8,
"reviewCount": 5240
},
"url": "https://www.example.com/hotels/itc-grand-chola"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@type": "Hotel",
"name": "The Leela Palace Chennai",
"image": [
"https://example.com/photos/1x1/leela.jpg",
"https://example.com/photos/4x3/leela.jpg",
"https://example.com/photos/16x9/leela.jpg"
],
"priceRange": "$$$$",
"amenityFeature": {
"@type": "LocationFeatureSpecification",
"name": "freeBreakfast",
"value": true
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.9,
"reviewCount": 3110
},
"url": "https://www.example.com/hotels/leela-palace-chennai"
}
},
{
"@type": "ListItem",
"position": 3,
"item": {
"@type": "Hotel",
"name": "Hyatt Regency Chennai",
"image": [
"https://example.com/photos/1x1/hyatt.jpg",
"https://example.com/photos/4x3/hyatt.jpg",
"https://example.com/photos/16x9/hyatt.jpg"
],
"priceRange": "$$$",
"amenityFeature": {
"@type": "LocationFeatureSpecification",
"name": "internetType",
"value": "Free"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.6,
"reviewCount": 4780
},
"url": "https://www.example.com/hotels/hyatt-regency-chennai"
}
}
]
}
{
"@context": "https://schema.org",
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "Product",
"name": "ProStride Running Shoes X1",
"image": [
"https://example.com/photos/1x1/prostride.jpg",
"https://example.com/photos/4x3/prostride.jpg",
"https://example.com/photos/16x9/prostride.jpg"
],
"offers": {
"@type": "AggregateOffer",
"lowPrice": 3499,
"highPrice": 4299,
"priceCurrency": "INR"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.6,
"reviewCount": 1842
},
"url": "https://www.example.com/products/prostride-x1"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@type": "Product",
"name": "SwiftGlide Trail Runner",
"image": [
"https://example.com/photos/1x1/swiftglide.jpg",
"https://example.com/photos/4x3/swiftglide.jpg",
"https://example.com/photos/16x9/swiftglide.jpg"
],
"offers": {
"@type": "Offer",
"price": 2999,
"priceCurrency": "INR"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.4,
"reviewCount": 930
},
"url": "https://www.example.com/products/swiftglide-trail"
}
},
{
"@type": "ListItem",
"position": 3,
"item": {
"@type": "Product",
"name": "AirPace Road Runner Pro",
"image": [
"https://example.com/photos/1x1/airpace.jpg",
"https://example.com/photos/4x3/airpace.jpg",
"https://example.com/photos/16x9/airpace.jpg"
],
"offers": {
"@type": "AggregateOffer",
"lowPrice": 4899,
"highPrice": 5699,
"priceCurrency": "INR"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.8,
"reviewCount": 2380
},
"url": "https://www.example.com/products/airpace-road-runner-pro"
}
}
]
}
Passing the Rich Results Test is not the same as meeting all carousel eligibility requirements. Google enforces structural and content guidelines that no automated validator can fully check. Violating these guidelines silently disqualifies your pages from carousel display.
#hash — are not supported as detail page URLs. You must have separate, standalone pages for each entity.
LocalBusiness rather than Hotel) are allowed but limit your access to recommended properties like amenityFeature. Use the most specific type that accurately describes your entities.
Most marketers understand structured data as a tool for rich results. Far fewer recognise that it is also a primary signal for large language models — and that connection is becoming increasingly important in 2026.
When you implement ItemList with specific sub-types and rich entity attributes, you are publishing machine-readable statements about the entities your site covers. Google's Knowledge Graph ingests these signals. LLMs like Gemini, ChatGPT, and Perplexity use entity graphs to determine which sources to cite when answering user queries.
A site that clearly maps "Restaurant" → "South Indian cuisine" → "Chennai" → specific named restaurants with ratings and images is far more citable by an AI answering "best South Indian restaurants in Chennai" than a site with the same content but no entity-level markup.
In vector-based retrieval systems — which power modern AI search and LLM responses — the precision of your entity definitions directly affects how your content is retrieved and ranked. ItemList schema creates explicit entity-to-category-to-location relationships that vector embeddings can anchor to.
Think of it this way: without structured data, your content is a cloud of words. With ItemList markup, it becomes a set of precise, typed, interlinked entities. Typed entities are far easier for embedding models to retrieve accurately. This is why structured data implementation in 2026 is as much an LLM optimisation strategy as it is a classic SEO tactic.
Large language models and Google's AI Mode use several entity-level signals to determine citation-worthiness. Structured data carousels help you satisfy many of them simultaneously.
Hotel rather than LocalBusiness creates a sharper type boundary. LLMs retrieve typed entities far more reliably than generic ones when answering category-specific queries.aggregateRating data gives LLMs quantitative quality signals. An entity with a 4.8 rating from 5,000 reviews is far more citation-worthy than one with no rating data.Valid structured data markup does not guarantee carousel display. Google assesses multiple factors beyond technical correctness before showing a rich result. Here is a systematic approach to diagnosing why a carousel may not be appearing despite valid markup.
This is the most common reason carousels fail to appear. If your site primarily serves users outside EEA countries, Turkey, or South Africa, the feature is simply not available for your queries. Check your target audience location before all other diagnostics.
Google requires at least three itemListElement entries in your ItemList.
A list of two items — even with perfect markup — will not qualify.
Review your JSON-LD and confirm three or more unique entities are included, each with distinct detail page URLs.
If any of the URLs referenced in your ItemList are blocked by robots.txt, noindex tags, redirects, or login requirements, Google cannot crawl and verify them. Use the URL Inspection tool to check each detail page for crawl accessibility issues.
Placing ItemList markup on an individual entity's detail page rather than a summary page is a structural error. The markup must be on a category or list page that aggregates multiple entities. Google explicitly does not support all-in-one pages where details are anchor links within the same page.
If your page has received a structured data manual action, Google ignores all markup on that page. Check your Search Console Manual Actions report to rule this out. Remember: structured data cannot compensate for thin content, low-quality pages, or policy violations.
If you have confirmed eligibility, valid markup, crawlable detail pages, and no manual actions — and the carousel still does not appear — be patient. It can take several weeks after initial indexing for Google to begin showing rich results. Monitor the Rich Results report in Search Console for status updates.
The summary-to-detail page architecture required by ItemList markup is not just a technical constraint. It is also an internal link architecture opportunity that strengthens your entire site's SEO.
Your summary pages — which carry the carousel markup — should be treated as high-priority hub pages. They consolidate topic authority and distribute link equity to individual entity detail pages. This mirrors the ideal hub-and-spoke content model that Google rewards with topical authority signals.
From your detail pages, link back to the summary page using descriptive anchor text. A hotel detail page for "ITC Grand Chola" should link back to your "Top Luxury Hotels in Chennai" summary page. This creates a bidirectional link loop that reinforces the entity cluster and strengthens both pages in Google's assessment.
Cross-link between related summary pages as well. A "Top Restaurants in Chennai" summary page should contextually link to your "Best Dining Experiences in Tamil Nadu" or "South Indian Vegetarian Restaurants" pages where relevant. This builds the topical authority breadth that both Google and LLMs use to determine subject matter expertise.
For deeper reading on building entity-driven content architecture, see our ZenX Academy blog for related guides on topical authority, semantic SEO, and technical site structure.
Understanding schema markup conceptually is valuable. Knowing how to implement it, test it, and connect it to a broader topical authority strategy is what actually moves rankings. That is exactly what ZenX Academy's programmes teach — hands-on, with real sites and real results.
ZenX Academy's editorial team is composed of active digital marketing practitioners, SEO specialists, and AI tools trainers based in Chennai. Every guide is written from direct implementation experience — not theoretical overviews. We teach what we practice, and we practice what we publish. For course enquiries, visit our About page or contact us directly.
Google structured data carousels are a beta rich result feature that displays a horizontally scrollable row of entities from a single website in Google Search. Each tile shows the entity's image, name, price range, and rating. They require ItemList structured data combined with at least one supported type — LocalBusiness, Product, or Event. They currently appear only in EEA countries, Turkey, and South Africa.
Three content types support carousel rich results: LocalBusiness (and its subtypes including Restaurant, Hotel, and VacationRental), Product, and Event. You must combine ItemList markup with at least one of these types on a summary or category page. You can mix types — for example, including both Event and LocalBusiness entities on a "Things to Do" page.
No. For the carousel rich result beta, Google only requires structured data on the summary or category page. You do not need to add markup to individual detail pages. However, detail pages must exist as publicly accessible, standalone pages on the same domain — anchor links within the summary page itself are not supported.
Google requires a minimum of three itemListElement entries for carousel eligibility. Each entry needs a unique position number (1-based integer) and a unique URL linking to a standalone detail page on the same domain. Two items — even with perfect markup — will not qualify for the carousel rich result.
ItemList structured data creates machine-readable entity relationships that large language models use to map topical authority. When your pages clearly define entity types, attributes (ratings, prices, features), and category relationships, LLMs can retrieve and cite your content more accurately when answering relevant user queries. This makes structured data a dual investment — rich results for today and LLM citation signals for AI-driven search.
No. Valid markup makes your page eligible but does not guarantee display. Google evaluates overall page quality, geographic eligibility, content compliance with Search Essentials, and relevance to the user's query. Monitor your status through Google Search Console's Rich Results report and ensure your summary and detail pages meet the highest content quality standards.
Yes — and you should. While the carousel rich result is only displayed in eligible regions currently, implementing ItemList markup now has three immediate benefits: it future-proofs your site for when Google expands the feature, it improves your entity graph for Knowledge Panel and AI Mode visibility, and it strengthens your site's structured internal link architecture. The implementation investment pays dividends even before the feature becomes available in your region.
After deploying valid markup, Google needs to crawl and re-index your summary page and all referenced detail pages. This typically takes days to a few weeks depending on your site's crawl frequency. Requesting re-crawl via the URL Inspection tool and submitting an updated sitemap can accelerate indexing. Even after indexing, carousel display timing depends on Google's quality assessments — there is no fixed timeline.
Join Chennai's most current digital marketing programme. Our AI Digital Marketing Training covers structured data, LLM citation strategies, AI Mode SEO, and hands-on schema implementation with real websites.