The State of Czech Product Data: A Third of Products Ship Without a Description
Published
We read the structured product data of 33,408 Czech websites. About a third of product records carry no description and more than half no brand. Czech shops still beat Germany and Poland on EAN and category markup.

Czech product data is better than its reputation in some places and surprisingly thin in others. We went through the publicly visible structured data of 33,408 Czech websites and 6.9 million product records to see which fields shops actually fill, how they compare with Slovakia, Poland, Germany and Hungary, and what the gaps cost when a new product has to go live.
The short version:
- About one in three product records has no description in its structured data.
- More than half carry no brand.
- Only about 1 in 5 product records includes an EAN/GTIN, yet Czech sites still put one in their markup more often than sites in Germany, Poland, Hungary or the global average.
Method in brief. Source: Web Data Commons schema.org Product subset, extracted from the October 2024 Common Crawl (released January 2025). We took every website whose domain ends in .cz (33,408 domains, 6,914,424 Product records) and, for country comparisons, every domain with at least 50 product records in .cz, .sk, .pl, .de, .hu and worldwide. A "field fill rate" is the share of Product records whose markup contains that field. Analysis: Python over the WDC per-domain statistics, October 2026. We report groups only, never individual shops. Full caveats are at the end.
Why this matters now
A missing field used to mean a slower feed approval. Today it decides whether a product shows up at all, and in more places than before:
- AI search reads your data, not your layout. Google launched AI Mode in Czech in October 2025. Its guidance for AI features in Search tells site owners to keep structured data in line with the visible page and Merchant Center information up to date. OpenAI's product feed specification for ChatGPT lists description and brand among its required fields. Those are the two fields missing most often in our data: a third of records have no description and more than half no brand.
- A filter only shows products that have the value. If brand, size or color is empty, the product disappears the moment a shopper ticks that filter. Baymard Institute counts brand among the five filter types every shop should offer, and its testing shows that when users can't filter properly, they may not find products the site actually sells.
- Thin product pages lose sales and come back as returns. In Salsify's 2025 survey of 1,910 shoppers in the US and UK, 53% said they had abandoned a purchase because of incomplete or poorly written titles or descriptions. In Rithum's 2025 survey of 6,000 consumers in five countries including Germany and France, 33% had returned an item because it didn't match the description or photos, and 37% wanted more detailed product descriptions.
- Czech shops have more marketplaces to feed. Kaufland opened its Czech marketplace on 12 April 2023 and Allegro.cz launched in May 2023. Kaufland requires an EAN and a manufacturer for products in every category. In our data, only 23% of records carry an EAN and 20% a manufacturer.
- The law expects product data on every offer. Since 13 December 2024, the EU General Product Safety Regulation requires every online offer to show the manufacturer's name with a postal and electronic address, details that identify the product including a picture, and any warnings or safety information (summary of Article 19 by the Czech Ministry of Industry and Trade, in Czech). This doesn't have to live in markup, so our 20% manufacturer figure says nothing about compliance. But the data has to exist for every product.
Large catalogs feel all of this most. On the 135 Czech sites with 5,000+ product records, only 45% of records have a description and 3% a category, as the deep dive below shows.
What Czech product data looks like in 2024 crawl data
Structured data is the machine-readable version of a product page: the name, price, image, brand, EAN and description that search engines, comparison sites and AI assistants read without parsing your layout. It is not your whole catalog, but it is the part the rest of the internet sees.
Across .cz domains with at least 50 products (14,875 domains holding 96% of all product records in the sample), the picture looks like this:

| Field | Share of product records with the field |
|---|---|
| Name | 97% |
| Image | 85% |
| Price / offer | 84% |
| Description | 67% |
| SKU | 51% |
| Brand | 45% |
| Category | 25% |
| GTIN / EAN (any type) | 23% |
| Manufacturer | 20% |
| MPN | 13% |
The basics that a page needs to render are there. The fields that tell a machine what the product is (description, brand, identifiers) drop off fast.
Two numbers stand out:
- Description: 67%. Roughly one in three product records gives a search engine or comparison site nothing to read beyond the title.
- Brand: 45%. More than half of the records don't say who made the product.
Complete records are rare. Only 35% of these domains fill name, description, image, price and brand on at least 90% of their products. Add an EAN to that list and the share falls to 8%.
Bigger catalogs, thinner records
We split the Czech domains by how many product records the crawl found on them. The pattern is clear, and for anyone running a large catalog it is uncomfortable:

| Products per domain | Domains | Description | Brand | Category | GTIN / EAN |
|---|---|---|---|---|---|
| 1–9 | 9,336 | 87% | 31% | 45% | 9% |
| 10–49 | 9,197 | 84% | 42% | 50% | 17% |
| 50–499 | 12,099 | 78% | 55% | 51% | 31% |
| 500–4,999 | 2,641 | 68% | 44% | 17% | 21% |
| 5,000+ | 135 | 45% | 30% | 3% | 14% |
- Small sites describe their few products well but rarely add brand or EAN. Plausibly many of them sell their own goods, where a GTIN may simply not exist.
- Mid-sized shops (50–499 products) are the most complete group on brand, category and EAN.
- The largest catalogs are the least complete on every field we measured. The 135 domains with 5,000+ product records hold about a fifth of all Czech product records in the sample, so their gaps weigh heavily on the averages.
Part of the drop is a measurement effect. Large sites often mark up products on category and listing pages too, with just a name and a price, and those thin records count as products in the crawl. But that only softens the finding, it doesn't erase it: the bigger the catalog, the more products go out without the attributes channels ask for. Completeness doesn't scale by hand.
Czech shops lead the region on EAN and category
To compare countries fairly we counted domains, not products, so a few giant sites can't skew the result. The question was simple: what share of domains with 50+ products fill a field on at least half of their products?

| Market | Domains (50+ products) | Description | Brand | Category | GTIN / EAN |
|---|---|---|---|---|---|
| Czech Republic (.cz) | 14,875 | 79% | 54% | 46% | 29% |
| Slovakia (.sk) | 6,455 | 79% | 48% | 32% | 22% |
| Poland (.pl) | 20,960 | 80% | 44% | 8% | 13% |
| Germany (.de) | 47,580 | 78% | 43% | 11% | 16% |
| Hungary (.hu) | 7,750 | 83% | 43% | 6% | 14% |
| All domains worldwide | 1,017,054 | 81% | 49% | 13% | 8% |
On descriptions, Czech sites are average. On brand, category and EAN, they lead: almost twice the German share on GTIN, nearly four times the global share, and four times the German share on category.
Why? A hypothesis: platform templates
About 40% of Czech e-commerce runs on Shoptet, according to the company. Shoptet's developer documentation says its templates output schema.org microdata on product detail pages. On the product pages of Shoptet's public demo store that we checked in October 2026, the markup carries the same set of properties, including category, manufacturer, productID and identifier.
We used that set as a fingerprint:
- 27.5% of Czech domains with 50+ products carry it, compared with 15.7% in Slovakia and 1% or less in Poland, Germany and Hungary.
- Among Czech fingerprint domains, 53% include a GTIN on most products. Among the rest, 20% do.
So a large part of the Czech lead plausibly comes from template defaults: if the shop fills an EAN in the admin, the theme publishes it. Two caveats keep this a hypothesis. A fingerprint isn't proof of platform, since other systems can emit the same properties. And the template we checked is the 2026 version, while the crawl is from 2024. Even without fingerprint domains, though, Czech sites still put a GTIN on most products slightly more often (20%) than German (16%), Polish (13%) or Hungarian (13%) sites.
The lesson for everyone else: defaults matter. When the platform outputs a field automatically, the bottleneck moves to whether the field is filled in the first place.
Why the missing fields cost time-to-market
A missing field rarely blocks a product page. It slows down everything the product needs after that: matching, approval and visibility. Here is what the channels Czech shops sell through say in their own documentation.
Heureka. Heureka matches offers to product cards mainly by category, exact product name and EAN. Its help pages say the EAN can radically speed up matching, but also that matching needs the name, category, manufacturer, parameters and price. EAN is mandatory only in selected categories such as books, music and film. Heureka also publishes average matching times: 4–7 days in standard categories, 14–21 days in categories with mandatory EAN, and about a month in clothing and fashion.
Zboží.cz. Seznam's comparison site lists product name, EAN, manufacturer and product number as the main matching factors. Its feed specification accepts GTIN-8, 12, 13 and 14.
Google Merchant Center. Google's product data specification lists description as required and brand as required for all new products except movies, books and music. For GTIN, Google's answer is "it depends": it strongly recommends one whenever the manufacturer assigned it. Google's GTIN guide adds that products with a missing or incorrect GTIN may get limited visibility, that accurate matching can't be assured without one, and that a product with an assigned GTIN submitted without it could be disapproved. Products with no GTIN may need brand and MPN instead.
Allegro. Since February 2024, Allegro has required an EAN in selected categories. Without one you can't list, edit or renew offers there. Allegro also recommends using the GTIN to find a product in its catalog, which shortens listing.
Amazon. Amazon uses the GTIN to match your offer to an existing listing or create a new one. Without a GTIN you need an exemption first.
Now map that onto the numbers above. A product with no brand fails Google's requirement. A product with no EAN and no manufacturer leaves Heureka and Zboží.cz to match on the name alone, and an unusual name means manual matching. A product with no description gives every channel, and every AI shopping assistant, less to work with. None of this shows up as an error on your own site. It shows up as days or weeks before the product earns its first click elsewhere. For a market where e-shops turned over CZK 206 billion in 2025 (APEK and Heureka), those weeks add up.
EAN gets most of the attention, and we cover it in detail in our guide to listings with missing EAN or GTIN. But the data says brand and description are the bigger gaps. They just fail more quietly.
What to do about it
You don't need a crawl of the whole Czech web to find your own gaps. You need a few hours and an export.
- Measure your fill rates per field. Export the catalog and count, per product, whether description, brand, manufacturer, EAN, category and key parameters are filled. Our product data quality checklist has a ready template.
- Check what your templates actually publish. Open a few product pages and look at the structured data. If the admin has an EAN but the page doesn't, that's a theme problem, not a data problem. Our guide to structured data for e-commerce products shows what to look for.
- Fix the largest categories first. The data shows the gaps grow with catalog size. Start where you have the most products and the strictest channel rules: clothing and fashion, books and media, and categories with mandatory parameters.
- Fill fields before the product launches, not after a feed error. Brand and manufacturer are usually in the supplier file. EANs are often on the packaging or in the supplier price list. Descriptions are the slow part.
- Track time-to-first-listing. Measure the days from adding a product to its first approved listing on Heureka, Zboží.cz or Google. That number will tell you if the work pays off. We wrote about building that workflow in how to cut time-to-market for new listings.
This is the work we built Lasso for. Lasso takes a supplier file or an existing catalog, finds the missing brand, EAN, parameters and descriptions, and marks what still needs a human check, so products leave the queue with the fields the channels ask for. If you want to see what that looks like on your own data, send us a sample file and we'll show you your gaps.
Methodology and caveats
Data. Web Data Commons schema.org Product subset, release 2024-12, based on the October 2024 Common Crawl (crawl ID CC-MAIN-2024-42). The subset covers 3.3 million domains worldwide. Domains are pay-level domains, so subdomains count with their parent.
Scope. "Czech" means a domain ending in .cz. Czech shops on .com or .eu are missing, and some .cz domains aren't shops at all: they include manufacturers, catalogs and marketplaces. We therefore talk about websites and domains, not shops.
What we measured. The share of Product records whose structured data (Microdata or JSON-LD) contains a field. We didn't check whether values are correct: a present EAN may be invalid and a present description may be one sentence. A field missing from markup may still exist in a shop's feed or database. The numbers describe what machines can read on the page, not the full catalog.
Known biases.
- Listing and category pages that mark up products with only a name and a price lower the averages, most of all for large sites. Shoptet's templates, for example, don't use microdata on listing pages, while other platforms do.
- Web Data Commons merges Microdata and JSON-LD without deduplication, so a product marked up in both formats counts twice.
- Common Crawl samples pages and doesn't crawl every page of every site, so record counts per domain are crawl coverage, not catalog size.
- The data is from late 2024. Shops have changed since, and we'll repeat the analysis on newer crawls.
Vertical breakdown. The per-domain statistics don't include reliable category values, so we didn't break the results down by vertical rather than guess.
Privacy. We report groups of domains only and don't name or rank individual shops.
If you're curious about how other teams handle catalog quality at scale, browse our use cases.