Product pages · Commerce schema

Shopify Offer structured data: price, currency and availability evidence

Offer markup becomes useful when its commerce facts agree with the product users can actually buy. Presence alone is not enough; price, currency, availability and Product-to-Offer relationships need coherent evidence.

01
The problem

Start with what the storefront is actually publishing.

Product JSON-LD can exist while Offer information is absent, incomplete or disconnected from the Product entity.

Variant logic, localization and app injection can make commerce facts differ between server HTML and rendered storefront state.

02
Why it matters

Use impact without inventing certainty.

Offer data describes commercial facts such as price, currency and availability in machine-readable form.

Those facts should reflect the storefront rather than being optimized independently; stale or contradictory commerce markup is less trustworthy than no extra field at all.

Root causes

Look for the generator before fixing the symptoms.

Shopify storefront problems often repeat because a theme, app, import or content workflow produces the same output across a page type.

01

Possible root cause

Custom schema code does not account for variants.

02

Possible root cause

Currency/market logic changes visible prices without updating JSON-LD.

03

Possible root cause

A theme publishes Product while an app separately publishes Offer markup.

04

Possible root cause

Availability mapping uses an invalid or stale value.

Recommended action

Fix the smallest real root cause.

  1. 01

    Compare structured commerce facts with the visible product and selected market.

  2. 02

    Trace whether the theme or app owns the Offer output.

  3. 03

    Fix the shared generator and variant/market mapping rather than patching sample URLs.

  4. 04

    Avoid duplicating Offer objects merely to make a validator green.

Verification

Prove the storefront changed.

  1. 01

    Render affected product pages in the relevant storefront context.

  2. 02

    Confirm Offer is attached to the intended Product and core commerce facts are present and coherent.

  3. 03

    Re-run the representative product sample after template/app changes.

Start with evidence

Turn the guide into evidence from your own Shopify store.

Run a representative storefront audit, review the affected URLs and fix the highest-confidence root cause first.

Run your free store audit