# StoreConnect Support

StoreConnect generates product JSON-LD structured data using a built-in snippet. In v21, this snippet was renamed and extended with new fields for richer Google search results.

## Template rename

The product JSON-LD snippet was renamed from:

```
snippets/products/product/json-ld.liquid
```

to:

```
snippets/products/product/rich_data_json.liquid
```

A backward-compatible shim means the old path (`snippets/products/product/json-ld.liquid`) continues to work without changes. You do not need to update any existing theme templates that reference the old snippet name.

:::note
The shim provides backward compatibility for the old snippet name. Check with StoreConnect support for the timeline if you want to migrate to the new name.
:::

## What's new in the rich data snippet

### Multiple product images

Multiple product images are now included in the JSON-LD output, in line with Google's recommendations. Previously, only the primary image was included.

```json

"image": [
  "https://example.com/image1.jpg",
  "https://example.com/image2.jpg"
]
```

### Price range for variant products

Variant products now output a price range using `lowPrice` and `highPrice` (schema.org `Offer` fields) when variants have different prices. When all variants share the same price, a single `price` field is used instead.

```json

{
  "@type": "Offer",
  "lowPrice": "29.99",
  "highPrice": "59.99",
  "priceCurrency": "USD"
}
```

### Variant relationship fields

The following fields are now included for variant products to help Google correctly understand product relationships:

| Field | Description |
|-------|-------------|
| `isVariantOf` | References the parent `ProductGroup` object |
| `variesBy` | Array of `DefinedTerm` objects representing the attributes variants differ by (for example, `[{"@type": "DefinedTerm", "name": "https://schema.org/color"}]`) — note the lowercase schema.org URL format |
| `productGroupID` | The Salesforce SFID of the parent product group. This is a stable internal identifier, not the product code |

### Availability and price

The snippet always outputs a price value (the sale price if set, otherwise the list price). Availability is always `InStock` unless **Track Inventory** is enabled on the product and the item is out of stock.

### Additional fields

The following fields are included in the JSON-LD output when the relevant data is present on the product:

| Field | Condition | Notes |
|-------|-----------|-------|
| `brand` | Set on the product | Output as a `Brand` object with `name` |
| `gtin` | UPC is present | Prefixed with `"0"` to produce a 13-digit GTIN-13 (for example, `"0123456789012"`) |
| `itemCondition` | Always | `https://schema.org/NewCondition` or `https://schema.org/UsedCondition` |

### Schema types used

The snippet uses the following schema.org types:

| Type | Used for |
|------|----------|
| `ProductGroup` | The parent product (with variants) |
| `Product` | An individual product or variant |
| `Offer` | Price for a single product, variant, or price range across a product group |
| `Brand` | Brand associated with the product |
| `DefinedTerm` | Individual variant attributes within `variesBy` |

## Open Graph price meta tags

In addition to the JSON-LD block, StoreConnect adds Open Graph price meta tags to the `<head>` of each product page via `snippets/meta_data.liquid`:

```html

<meta property="og:price:amount" content="29.99" />
<meta property="og:price:currency" content="USD" />
```

These tags are used by social platforms and some shopping integrations to read the product price directly from the page head, independently of the JSON-LD block. They reflect the same price used in the JSON-LD output (sale price if set, otherwise list price).

## Customizing the snippet

If you want to override the built-in JSON-LD output, create a snippet template in your theme with the key:

```
snippets/products/product/rich_data_json
```

Your custom snippet replaces the built-in output entirely. See [Theme templates](theme-templates) for how to create snippet templates.

---

## Follow StoreConnect

- [Email Newsletter](https://getstoreconnect.com/c/lp-newsletter)
- [LinkedIn Newsletter](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7444956928444862464)
- [YouTube](https://www.youtube.com/channel/UCngKdP2x8l1wcbAKW3tvU8g)
- [LinkedIn](https://www.linkedin.com/company/storeconnect)
- [X / Twitter](https://x.com/storeconnecthq)

## Popular Links

- [Partners](https://getstoreconnect.com/partners)
- [News](https://getstoreconnect.com/articles/news)
- [Events](https://getstoreconnect.com/articles/events)
- [Feature Comparison](https://getstoreconnect.com/how-we-compare)
- [Download a free trial](https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000FMkeKUAT)
- [Book a Demo](https://getstoreconnect.com/contact)

## Documentation

- [Help documentation](https://support.storeconnect.com/help-documentation)
- [Videos & tutorials](https://support.storeconnect.com/videos-tutorials)
- [Developer reference](https://support.storeconnect.com/developer-reference)
- [Release notes](https://support.storeconnect.com/release-notes)
- [Troubleshooting](https://support.storeconnect.com/troubleshooting)
- [Trust Center](https://trust.getstoreconnect.com/)
- [Status Page](https://status.storeconnect.com/)

## Contact

- info@getstoreconnect.com
- US +1 415 745 3230
- AUS +61 2 8365 2308

100 S Ashley Dr, Suite 600-2461
Tampa FL 33602-600 USA

Level 22, Sydney Place
180 George Street
Sydney, NSW, 2000, AUS

---

StoreConnect Support — https://support.storeconnect.com