Skip to main content
Page

Cannabis product schema

Product schema markup implementation for cannabis strains, concentrates, and edibles. Drive rich snippets and search visibility for individual product pages.

Get a Free Audit for This Service
16 sections
|6 min
> Audit
Introduction

Every strain, concentrate, and edible your dispensary carries should broadcast its existence to Google through product schema. This schema type transforms product pages from invisible text into rich snippets that display pricing, ratings, availability, and effects directly in search results.

Section 01

How Product Schema Works for Cannabis

Product schema tells search engines that a specific page describes an item for sale. For cannabis, this means strain names, product types, THC/CBD content, effects, and pricing. When implemented correctly, your strains appear in Google Images, voice search results, and rich snippet panels that show price, rating, and availability.

Product schema is structured data that identifies a cannabis strain or product, including its name, image, rating, price, and availability status. This markup makes pages eligible for rich snippets in results, which can improve click-through rates and establish product authority for individual strain pages competing against wholesale marketplaces.

Section 02

Core Product Properties for Cannabis

The required properties are name, image, and offers. The name should match exactly how you list the strain or product on your menu and website. Don't use uppercase ALL CAPS for names, even if that's your brand style. Use proper title case.

The image property must be a high-quality product photo. For cannabis, this means professional strain photography (not blurry macro shots) or professional product photography for concentrates and edibles. Include at least one image per product; multiple images strengthen rich snippets.

The offers property contains price and availability. You'll nest pricing details here, including currency, price value, and your inventory status (in stock, out of stock, pre-order). For cannabis, availability status matters enormously because legal restrictions often create supply constraints.

Section 03

Handling Cannabis Product Types

Cannabis presents a schema challenge because product types vary dramatically. A strain is fundamentally different from a concentrate, which differs from an edible. Your product schema should include the productType property to differentiate.

For strains, include cannabinoid content (THC percentage, CBD percentage) in the description. Use the offers property to show per-gram pricing, eighth pricing, and quarter pricing if applicable. Include aggregateRating if you have customer reviews.

For concentrates, specify the format (shatter, wax, distillate, live resin) in the productType. Include potency information. For edibles, specify serving size, mg per serving, and total mg in the offers property.

The description property should be a short summary capturing the strain's lineage, primary effects, and flavor profile. Keep it concise, since search results truncate long descriptions.

Cannabis product schema must differentiate between strain types, concentrates, and edibles using the productType property. Each product category requires specific properties (cannabinoid percentages for flowers, serving sizes for edibles, potency for concentrates) to ensure accurate rich snippet display and user expectations alignment.

Section 04

Rating and Review Integration

If you aggregate reviews from multiple sources, your aggregateRating property consolidates those into one schema rating. This rating property can show in rich snippets and influence click-through rates.

Include ratingCount to show how many reviews you've collected. Review volume is a trust signal alongside the rating itself, so a high rating built on very few reviews is weaker evidence than the same rating built on many.

Include ratingValue (the decimal rating) and bestRating (5 for a 5-star scale). Worst rating is always 1. These three properties together complete the rating assertion.

Section 05

Price Tracking and Availability

The offers property accepts multiple pricing tiers. If you sell eighths, quarters, and ounces, create separate offer objects for each unit size. Each offer includes priceCurrency (USD), price, and url (the link to purchase or view details).

Availability property accepts inStock, outOfStock, preOrder, or inStoreOnly. For cannabis, inStoreOnly is often appropriate because many states restrict shipping cannabis products. This tells customers they must visit your physical location, setting expectations.

Price property must be a specific number, not a range. If you have pricing tiers, create multiple offer objects with different prices. Use price property for the actual selling price at that moment, not a list price.

Section 06

Integrating with Headset and Springbig

If you're using Headset inventory management, Product schema should pull inventory status from your live feed. Out-of-stock products still carry value in search results, but availability status must be accurate. Customers checking search results expect to find what you claim is in stock.

Springbig integration can feed customer reviews directly into your aggregateRating, creating a dynamic rating that updates as customers rate products through your loyalty program. This keeps your schema fresh without manual updates.

Section 07

Effects and Terpene Properties

Create custom properties for terpene profiles and effects. Most e-commerce schema doesn't support cannabis-specific attributes, so you'll use additionalProperty to define these.

Example: additionalProperty.name = "Primary Terpenes", additionalProperty.value = "Limonene, Myrcene, Pinene". This adds context that Google might use in voice search results or featured snippets.

For effects, do the same: additionalProperty.name = "Effects", additionalProperty.value = "Relaxing, Creative, Evening". These attributes help users scanning results understand whether the strain fits their occasion. Health and effect claims are restricted in most state cannabis advertising rules. Use experience and occasion terms only, never a symptom or condition.

Section 08

Rich Snippet Optimization

Product schema displays as rich snippets that show price, rating, availability, and sometimes images. To maximize rich snippet potential, ensure your product page includes:

High-quality product images (use image array property for multiple views) Customer reviews or ratings (aggregateRating property) Current pricing and availability (offers property) Clear product description (description property)

Pages with genuine customer reviews give Google more to display. Fewer reviews still can show snippets, but reviews amplify visibility.

Rich snippet visibility depends on product schema that includes customer ratings, multiple images, and current pricing. Cannabis products with aggregateRating give users peer-review confidence before they visit your site.

Section 09

Measurement Product Category for Cannabis

The measurement property helps define product weight and potency. Use this for eighth (3.5g), quarter (7g), ounce (28g) measurements standard to cannabis retail.

For concentrates, measurement might be grams or percentage potency. Include units explicitly: "28 grams", "1000 mg", "85% THC". This eliminates ambiguity in search results and voice assistant responses.

Section 10

Legal Compliance in Product Schema

Your product schema cannot make unsubstantiated medical claims. Never claim a strain "cures anxiety" or "treats PTSD" in schema markup. You can describe effects ("uplifting", "relaxing") but not therapeutic claims.

Third-party testing information belongs in the description, but lab test results shouldn't be embedded in schema properties. Link to testing documentation without making claims schema markup.

Pricing must be current. Don't use outdated pricing in schema; Google detects pricing inconsistencies between schema and actual page content. Update product schema whenever your menu pricing changes.

Section 11

Volume and Bulk Pricing Strategies

If you offer bulk discounts, create multiple offer objects showing each tier's effective price. For example, an eighth at one price and three eighths at a lower combined price. This lets customers see bulk savings in search results before clicking.

Don't average prices. If an eighth costs $40 and a quarter costs $70, show both prices, not "$55 average". Explicit pricing beats estimated pricing.

Section 12

Handling Pre-Order and Limited Products

For limited drops or pre-order strains, set availability to preOrder. Include releaseDate property showing when the product becomes available. Include inventoryLevel property showing pre-order quantities if applicable.

This helps customers understand timing without visiting your site. Voice assistants can announce, "This strain is available for pre-order, releasing March 15."

Section 13

Product Schema Testing

Use Google's Rich Results Test to validate product schema before publishing. The test shows exactly what Google extracts, including how your rich snippet will display. Test after each price change or availability update.

Section 14

Measurement Unit Consistency

Use standard measurement units: grams for weight, percentages for potency, mg for milligrams. Don't mix imperial and metric units in the same schema instance. Consistency helps voice assistants and automated systems parse your data.

Section 15

Connecting Product to Business Schema

Every product schema should reference your Business schema through the seller property. This links individual products back to your dispensary entity, strengthening the relationship between business and product authority.

Use the same business name in seller property as appears in your Business schema's name property. Exact matching ensures Google recognizes the connection.

---

Continue Exploring

// deploy

Ready to Deploy This Protocol?

Start with a comprehensive audit. We'll map every opportunity and build your custom growth protocol.

> [ INITIATE AUDIT ]
BA://OS