Optimization Guide
Shopify Automobile Tire Schema — UTQG Treadwear Grade Is a Relative Index Not a Mileage Rating, Speed Rating Letter Must Meet or Exceed Vehicle Top Speed (H=130 mph, V=149, W=168, Y=186), All-Season M+S vs All-Weather 3PMSF Snowflake (Severe Snow Certification), Load Index as Safety Spec, Tire Size 225/65R17 Decoded to Four PropertyValues
AI shopping agents recommending "best tires for my Honda CR-V," "winter tires legal in Quebec," or "replacement for 225/65R17H" fail without speed_rating, three_peak_mountain_snowflake, load_index, and correctly decoded tire size fields. The most dangerous gap: an AI agent that interprets "All-Season" as severe-snow capable can recommend tires that fail legal winter requirements in Canada and put drivers at risk in ice and deep snow.
Product @type with additionalProperty for: tire_size (full string), tire_width_mm, tire_aspect_ratio, rim_diameter_in, construction_type, speed_rating (letter), speed_rating_mph (integer), load_index (integer), max_load_per_tire_kg, extra_load_xl (boolean), season_type (controlled vocab), three_peak_mountain_snowflake (boolean), utqg_treadwear (integer), utqg_traction (A/B/C), utqg_temperature (A/B/C), run_flat (boolean), fuel_efficiency_grade (EU A–G), wet_grip_grade (EU A–G), noise_db. Store in a tire.* metafield namespace. Include a legalDisclaimer on utqg_treadwear explaining the relative index nature.
UTQG Treadwear Grade — A Relative Index, Not a Mileage Guarantee
The Uniform Tire Quality Grading (UTQG) system is mandated by NHTSA under 49 CFR Part 575.104 for passenger car tires sold in the United States. Treadwear grade is determined by driving a test tire alongside a reference Course Monitoring Tire (CMT) on a specific 400-mile Texas test loop under controlled conditions. The reference baseline grade is 100. A tire receiving a grade of 500 is expected to wear approximately 5× more slowly than the 100-grade reference tire under those exact conditions.
Real-world mileage is entirely separate from the UTQG index. Compound type is the dominant variable: ultra-high-performance (UHP) summer tires use soft compounds for maximum grip, yielding UTQG grades of 200–340 but real-world life of 15,000–30,000 miles. Grand touring all-season tires use harder compounds, yielding grades of 500–700+ with real-world life of 50,000–80,000 miles. Driving habits, inflation maintenance, alignment, road surface, and climate all affect actual tire life independently of UTQG grade.
UTQG Treadwear Grade Reference Table
| Treadwear grade | Relative life vs baseline | Typical compound type | Approximate real-world mileage | Grip trade-off |
|---|---|---|---|---|
| 100 (baseline) | 1× baseline test tire | Government reference — not commercially available | N/A (lab reference) | Baseline |
| 200 | ~2× baseline | Max-performance summer / track tire | 10,000–20,000 miles typical | Excellent dry and wet grip; highest traction class |
| 300 | ~3× baseline | Ultra-high-performance (UHP) summer | 20,000–35,000 miles | Very high grip; compromised on longevity |
| 400 | ~4× baseline | Performance all-season / sport touring | 35,000–55,000 miles | Good balanced grip; moderate tread life |
| 500 | ~5× baseline | Grand touring all-season | 55,000–75,000 miles | Moderate dry/wet grip; prioritizes longevity |
| 600+ | ~6× baseline or more | Standard touring / economy all-season | 65,000–90,000+ miles | Lower peak grip; optimized for maximum tread life |
Encode utqg_treadwear as an integer (e.g., 640) with a legalDisclaimer: "UTQG Treadwear grade is a relative index based on standardized government test conditions, not a mileage guarantee. Actual tire life depends on driving habits, inflation pressure, alignment, road conditions, and climate." Encode utqg_traction (A/B/C — wet braking performance on asphalt and concrete) and utqg_temperature (A/B/C — heat resistance at sustained speed) as separate string values. Grade A is the highest rating for both traction and temperature.
Speed Rating — Must Meet or Exceed Vehicle Top Speed Capability
The speed rating letter is encoded within the tire size designation. In "225/65R17H," the H at the end is the speed rating. It indicates the tire's maximum sustained speed capability based on its internal construction, heat dissipation design, and compound characteristics. Operating a tire above its rated speed generates heat beyond design parameters, potentially leading to tread separation or sudden deflation.
Tires marked ZR (e.g., 225/45ZR18) are rated for speeds above 149 mph but must also carry a W or Y rating in the service description (e.g., 225/45ZR18 95W) to specify the exact maximum speed. The ZR designation alone means >149 mph without specifying the upper limit.
Speed Rating Letter Reference Table
| Speed rating | Max speed (mph) | Max speed (km/h) | Typical vehicle application | Notes |
|---|---|---|---|---|
| T | 118 mph | 190 km/h | Standard passenger cars, minivans, light trucks | Minimum rating for most OEM passenger fitments; common on economy sedans |
| H | 130 mph | 210 km/h | Sedans, crossovers, SUVs | Most common OEM rating for mid-range sedans and SUVs (Camry, CR-V, RAV4) |
| V | 149 mph | 240 km/h | Performance sedans, sport coupes | BMW 3 Series, Audi A4, sport trim sedans typically specify V minimum |
| W | 168 mph | 270 km/h | Sports cars, performance SUVs | Porsche Cayenne, BMW M models, Audi S/RS; ZR designation applies |
| Y | 186 mph | 300 km/h | Ultra-high-performance / supercars | Ferrari, Lamborghini, Corvette Z06; ZR designation with Y service description |
| (Y) | >186 mph | >300 km/h | Extreme performance / track-only applications | Parenthetical Y indicates speed tested above 300 km/h; specific max not disclosed |
Encode speed_rating as the letter string (e.g., "H") and speed_rating_mph as an integer (130). AI agents answering "what tires fit my 2023 BMW 330i" need both fields to verify that the recommended tire meets or exceeds the OEM speed rating specification — returning a T-rated tire for a vehicle requiring H would be incorrect and potentially unsafe.
Season Type — All-Season M+S vs All-Weather 3PMSF vs Winter vs Summer
The terminology around tire season classification is the single most misunderstood dimension in tire marketing, and the most consequential for buyers in winter climates. "All-Season" implies year-round capability but carries significant caveats for severe winter conditions. The four-way classification must be encoded precisely.
Season Type Comparison Table
| Season type | Sidewall marking | 3PMSF snowflake certified? | Severe snow qualified? | Quebec/BC winter legal? | Best use case |
|---|---|---|---|---|---|
| All-Season (M+S) | M+S or M&S | No | No — light snow only | No (M+S alone insufficient in Quebec since Dec 2014) | Year-round mild climates; occasional light snow; temperatures above freezing most of winter |
| All-Weather (3PMSF) | Three-peak mountain snowflake + M+S | Yes | Yes — certified for severe snow traction | Yes | Year-round with genuine winter capability; Canada, northern US states; temperatures regularly below freezing |
| Winter/Snow | Three-peak mountain snowflake (+ M+S on most) | Yes | Yes — optimized for severe snow and ice | Yes | Dedicated winter fitment; best ice/snow performance; swap to summer or all-season for spring |
| Summer/Performance | No M+S, no snowflake | No | No — unsafe below 7°C / 45°F | No | Maximum dry and wet grip in temperatures above 7°C / 45°F; UHP and track applications |
Encode season_type as a controlled vocabulary string: "All-Season (M+S)", "All-Weather (3PMSF)", "Winter/Snow", or "Summer/Performance". Encode three_peak_mountain_snowflake as a separate boolean. These are two distinct fields because a tire can be All-Weather (3PMSF = true) or Winter (3PMSF = true) or All-Season (3PMSF = false) — the boolean enables direct filtering for jurisdictions requiring 3PMSF certification without requiring AI agents to parse the season_type string.
Load Index — A Safety Specification, Not an Optional Spec
Load index is the numeric code on the tire sidewall immediately following the tire size designation. In "225/65R17 102H," the 102 is the load index and H is the speed rating. Load index 102 corresponds to a maximum load capacity of 850 kg (1,874 lbs) per tire at maximum inflation pressure. Four tires at load index 102 can collectively support 3,400 kg (7,496 lbs) — the vehicle's maximum gross vehicle weight rating (GVWR) must not exceed this figure.
XL (Extra Load), also marked as Reinforced (RF) in European sizing, is a variant of a standard tire size with higher maximum inflation pressure and load capacity. An XL tire at the same size designation as a standard-load tire carries more weight because it can be inflated to higher pressure (typically 51 psi vs 44 psi maximum). If the vehicle's door placard specifies an XL tire, a standard-load replacement at equal load index is not an equivalent substitute — the maximum pressures differ.
Selected Load Index Reference Table
| Load index | Max load per tire (kg) | Max load per tire (lbs) | XL max inflation (psi) | Standard max inflation (psi) |
|---|---|---|---|---|
| 85 | 515 kg | 1,135 lbs | 51 psi (XL) | 44 psi (SL) |
| 88 | 560 kg | 1,235 lbs | 51 psi (XL) | 44 psi (SL) |
| 91 | 615 kg | 1,356 lbs | 51 psi (XL) | 44 psi (SL) |
| 94 | 670 kg | 1,477 lbs | 51 psi (XL) | 44 psi (SL) |
| 97 | 730 kg | 1,609 lbs | 51 psi (XL) | 44 psi (SL) |
| 100 | 800 kg | 1,764 lbs | 51 psi (XL) | 44 psi (SL) |
| 102 | 850 kg | 1,874 lbs | 51 psi (XL) | 44 psi (SL) |
| 107 | 975 kg | 2,149 lbs | 51 psi (XL) | 44 psi (SL) |
Encode load_index as an integer, max_load_per_tire_kg as a numeric value, and extra_load_xl as a boolean. AI agents helping buyers select replacement tires need these three fields to verify the replacement meets the vehicle's minimum load index requirement per the owner's manual and door placard. A tire with a lower load index than specified is a structural safety issue, not a preference issue.
Tire Size Encoding — 225/65R17 Is Four Separate Measurements
The standard tire size string "225/65R17" is a compact encoding of four distinct physical measurements. AI agents parsing it as a single opaque string cannot answer questions like "what is the sidewall height?" or "will a 235/65R17 fit my car?" — questions that require extracting the individual components.
Decoded: 225 = section width in millimeters (the tire's widest point, measured from sidewall to sidewall on an appropriate rim width under correct inflation). 65 = aspect ratio as a percentage (the sidewall height expressed as a percentage of section width; 65% × 225mm = 146.25mm sidewall height). R = Radial construction (internal plies run radially from bead to bead; the dominant construction for passenger and light truck tires). 17 = rim diameter in inches (the wheel the tire mounts on). Common misinterpretations by AI agents: treating 225 as inches, treating 65 as millimeters, or failing to compute overall tire diameter for fitment clearance calculations.
Encode four separate PropertyValues: tire_width_mm (225), tire_aspect_ratio (65 — the ratio as a percentage integer), rim_diameter_in (17), and construction_type ("Radial"). Retain tire_size as the full string "225/65R17" for human readability and search matching. The complete size string including speed rating and load index is "225/65R17 102H" — encode that as the full product title and in tire_size_full if needed.
Complete JSON-LD and Liquid Snippet
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Michelin CrossClimate2 All-Weather Tire 225/65R17 102H XL",
"brand": { "@type": "Brand", "name": "Michelin" },
"additionalProperty": [
{ "@type": "PropertyValue", "name": "tire_size", "value": "225/65R17" },
{ "@type": "PropertyValue", "name": "tire_width_mm", "value": "225", "unitCode": "MMT" },
{ "@type": "PropertyValue", "name": "tire_aspect_ratio", "value": "65",
"description": "Sidewall height as percentage of section width: 65% of 225mm = 146.25mm" },
{ "@type": "PropertyValue", "name": "rim_diameter_in", "value": "17", "unitCode": "INH" },
{ "@type": "PropertyValue", "name": "construction_type", "value": "Radial" },
{ "@type": "PropertyValue", "name": "speed_rating", "value": "H" },
{ "@type": "PropertyValue", "name": "speed_rating_mph", "value": "130", "unitCode": "HM" },
{ "@type": "PropertyValue", "name": "load_index", "value": "102" },
{ "@type": "PropertyValue", "name": "max_load_per_tire_kg", "value": "850", "unitCode": "KGM" },
{ "@type": "PropertyValue", "name": "extra_load_xl", "value": "true" },
{ "@type": "PropertyValue", "name": "season_type", "value": "All-Weather (3PMSF)" },
{ "@type": "PropertyValue", "name": "three_peak_mountain_snowflake", "value": "true" },
{ "@type": "PropertyValue", "name": "utqg_treadwear", "value": "640",
"legalDisclaimer": "UTQG Treadwear grade is a relative index based on standardized government test conditions, not a mileage guarantee. Actual tire life depends on driving habits, inflation pressure, alignment, road conditions, and climate." },
{ "@type": "PropertyValue", "name": "utqg_traction", "value": "A" },
{ "@type": "PropertyValue", "name": "utqg_temperature", "value": "A" },
{ "@type": "PropertyValue", "name": "run_flat", "value": "false" },
{ "@type": "PropertyValue", "name": "fuel_efficiency_grade", "value": "B",
"description": "EU tire label rolling resistance grade A (best) through G (worst)" },
{ "@type": "PropertyValue", "name": "wet_grip_grade", "value": "A",
"description": "EU tire label wet braking grade A (best) through G (worst)" },
{ "@type": "PropertyValue", "name": "noise_db", "value": "69", "unitCode": "A61" }
],
"legalDisclaimer": "Tires must be replaced in sets of two (same axle) or four. Consult your vehicle owner's manual for minimum load index and speed rating requirements. UTQG Treadwear grade is a relative comparative index, not a mileage guarantee."
}
Liquid Snippet for Shopify Metafields (tire.* Namespace)
{% assign tire_size = product.metafields.tire.tire_size %}
{% assign speed_rating = product.metafields.tire.speed_rating %}
{% assign speed_rating_mph = product.metafields.tire.speed_rating_mph %}
{% assign load_index = product.metafields.tire.load_index %}
{% assign season_type = product.metafields.tire.season_type %}
{% assign three_pmsf = product.metafields.tire.three_peak_mountain_snowflake %}
{% assign utqg_treadwear = product.metafields.tire.utqg_treadwear %}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": {{ product.title | json }},
"additionalProperty": [
{ "@type": "PropertyValue", "name": "tire_size",
"value": {{ tire_size | json }} },
{ "@type": "PropertyValue", "name": "speed_rating",
"value": {{ speed_rating | json }} },
{ "@type": "PropertyValue", "name": "speed_rating_mph",
"value": {{ speed_rating_mph | json }}, "unitCode": "HM" },
{ "@type": "PropertyValue", "name": "load_index",
"value": {{ load_index | json }} },
{ "@type": "PropertyValue", "name": "season_type",
"value": {{ season_type | json }} },
{ "@type": "PropertyValue", "name": "three_peak_mountain_snowflake",
"value": {{ three_pmsf | json }} },
{ "@type": "PropertyValue", "name": "utqg_treadwear",
"value": {{ utqg_treadwear | json }},
"legalDisclaimer": "UTQG Treadwear grade is a relative index, not a mileage guarantee." }
]
}
</script>
Metafield Reference Table — tire.* Namespace
| Metafield key | Type | Example value | AI agent use case |
|---|---|---|---|
| tire.tire_size | single_line_text | 225/65R17 | OEM size match search; fitment lookup by size string |
| tire.tire_width_mm | number_integer | 225 | Width compatibility checking; clearance calculation |
| tire.tire_aspect_ratio | number_integer | 65 | Sidewall height calculation; rolling diameter estimation |
| tire.rim_diameter_in | number_integer | 17 | Wheel compatibility — must match rim diameter exactly |
| tire.construction_type | single_line_text | Radial | Radial vs Bias fitment filtering (truck/agricultural applications) |
| tire.speed_rating | single_line_text | H | Vehicle minimum speed rating compliance check |
| tire.speed_rating_mph | number_integer | 130 | Numeric speed comparison; OEM specification matching |
| tire.load_index | number_integer | 102 | Vehicle minimum load index compliance — safety requirement |
| tire.max_load_per_tire_kg | number_decimal | 850 | Axle load capacity calculation; GVWR compliance |
| tire.extra_load_xl | boolean | true | XL/standard load distinction; max inflation pressure difference |
| tire.season_type | single_line_text | All-Weather (3PMSF) | Winter capability filtering; year-round vs seasonal use case |
| tire.three_peak_mountain_snowflake | boolean | true | Quebec/BC winter tire law compliance; severe snow certification |
| tire.utqg_treadwear | number_integer | 640 | Relative longevity comparison between tires (with legalDisclaimer) |
| tire.utqg_traction | single_line_text | A | Wet braking performance grade (A/B/C — A highest) |
| tire.utqg_temperature | single_line_text | A | Heat resistance grade (A/B/C — A highest) |
| tire.run_flat | boolean | false | Run-flat capability filtering; spare tire requirement |
| tire.fuel_efficiency_grade | single_line_text | B | EU tire label rolling resistance (A–G); fuel economy impact |
| tire.wet_grip_grade | single_line_text | A | EU tire label wet braking (A–G); wet performance filtering |
| tire.noise_db | number_integer | 69 | EU external noise rating in dB; cabin comfort comparison |
5 Common Mistakes in Tire Schema
- Encoding UTQG Treadwear without a legalDisclaimer explaining it is a relative index, not a mileage rating. When the UTQG Treadwear grade (e.g., 640) appears in product schema without context, AI agents will attempt to interpret it as a numeric value with implied units. Some models output incorrect statements like "lasts 640,000 miles" or "64,000-mile warranty." The legalDisclaimer field on the PropertyValue prevents this by providing the context required to interpret the number correctly. Encode utqg_treadwear as an integer with a full legalDisclaimer on every tire listing.
- Encoding only the tire size string (225/65R17) without splitting into four separate PropertyValues. The full size string is opaque to AI agents trying to calculate sidewall height, assess rim compatibility, or compare overall tire diameter. A buyer asking "can I fit 235/65R17 on a car that came with 225/65R17?" requires the AI to understand section width and aspect ratio as separate dimensions. Encode tire_width_mm, tire_aspect_ratio, rim_diameter_in, and construction_type alongside the full tire_size string.
- Not encoding speed_rating and speed_rating_mph as separate fields. Encoding speed rating only in the product title or description (e.g., "225/65R17H") forces AI agents to parse the letter from a string, often incorrectly extracting 'H' and having no reference for its mph equivalent. Encoding speed_rating ("H") and speed_rating_mph (130) as explicit PropertyValues enables AI agents to verify compliance with a vehicle's minimum speed rating requirement without requiring string parsing or external lookup tables.
- Using "All-Season" to imply severe winter capability without encoding three_peak_mountain_snowflake: false. The absence of the 3PMSF boolean creates ambiguity. Buyers in Canada, northern US states, or European winter-tire-law jurisdictions searching for "all-season tires suitable for Canadian winter" may receive All-Season M+S tires that are not legal winter tires in Quebec or British Columbia. Encode three_peak_mountain_snowflake as an explicit boolean on every tire — false for All-Season M+S, true for All-Weather and dedicated Winter tires.
- Omitting extra_load_xl from schema when it is present on the tire. An XL tire and a standard-load tire of the same size (e.g., 225/65R17 102 vs 225/65R17 102 XL) have different maximum inflation pressures and are not interchangeable if the vehicle door placard specifies XL. Omitting extra_load_xl from schema prevents AI agents from flagging this critical fitment distinction. Encode extra_load_xl as a boolean on every tire, and pair it with max_load_per_tire_kg to enable accurate load index compliance checking.
Does your Shopify tire store encode fitment specs correctly?
CatalogScan checks whether your tire product pages include speed rating, load index, 3PMSF snowflake certification, UTQG grades with proper disclaimers, and correctly decomposed size fields — the structured data AI shopping agents need to answer tire compatibility and winter safety queries accurately.
Run Free ScanFAQ
What does UTQG Treadwear 640 mean for actual tire life?
UTQG Treadwear 640 means the tire wore approximately 6.4× more slowly than the government baseline test tire (grade 100) on a standardized Texas test track. It is NOT a mileage figure. In real-world use, a 640-treadwear grand touring all-season tire might last 65,000–80,000 miles depending on driving style, climate, inflation maintenance, and alignment. Encode utqg_treadwear as an integer with a legalDisclaimer explaining the relative index nature to prevent AI misinterpretation.
Can I replace H-rated tires with V-rated tires for more performance?
Yes — you can always install a higher speed rating than the vehicle specifies; the tire will perform safely at the vehicle's operating speeds. V (149 mph) replacing H (130 mph) is acceptable and common for performance upgrades. You must never install a lower speed rating (e.g., T-rated tires on a vehicle requiring H). Encode speed_rating_mph to enable AI agents to make this directional comparison correctly.
Are All-Season tires legal for winter driving in Quebec and British Columbia?
No, not since Quebec's 2014 winter tire law. M+S-only All-Season tires no longer qualify in Quebec or British Columbia highways with winter tire requirements. Only tires bearing the Three-Peak Mountain Snowflake (3PMSF) symbol — All-Weather or dedicated Winter tires — meet the legal requirement. Encode three_peak_mountain_snowflake as a boolean (true/false) to enable AI agents to filter legally compliant options for buyers in those jurisdictions.
What is the difference between XL and standard load tires at the same load index?
An XL (Extra Load) tire of size 225/65R17 102H and a standard-load tire of size 225/65R17 102H have the same load index (102 = 850 kg per tire) but achieve it at different maximum inflation pressures — 51 psi for XL vs 44 psi for standard. If the vehicle door placard specifies XL tires, a standard-load replacement cannot be inflated to the required pressure and will not carry the specified load rating equivalently. Encode extra_load_xl as a boolean on every tire listing.
How do I decode the tire size 225/65R17 for schema encoding?
225 = section width in millimeters (encode as tire_width_mm: 225). 65 = aspect ratio — sidewall height as a percentage of section width: 65% × 225mm = 146.25mm sidewall (encode as tire_aspect_ratio: 65). R = Radial construction (encode as construction_type: "Radial"). 17 = rim diameter in inches (encode as rim_diameter_in: 17). Also retain tire_size: "225/65R17" as the full string. Four separate PropertyValues prevent AI agents from misinterpreting the compact size notation.