Skip to main content

og:price tags and Google Shopping: keep every price in sync

og:price and product:price are Open Graph tags written for link previews, while Merchant Center’s structured data help is written around schema.org Product markup. Feed both from one price, so no preview, markup or page disagrees.

Minor4 min read

Why this matters

Google's “About structured data markup for Merchant Center” page is about schema.org: “You can use schema.org structured annotations to allow Google to reliably retrieve up-to-date information directly from your website.” Its requirements are short and strict: “Structured data must match the values that are shown to the customer.” And: “Your landing page can't change based on information about the customer, such as if you adapt prices based on a customer’s IP address or browser type.”

Open Graph tags do a different job. They set the title, image and price a social network or messaging app shows when someone shares your link, and they sit outside the schema.org markup Merchant Center’s help talks about. That is exactly why they drift: nobody looks at them until a shared link shows last month’s sale price.

Where they matter for Shopping is consistency. Google's price mismatch fix page lists “Structured data markup on your website is incorrect” among the usual causes of a mismatch, and the “Price [price]” page says “Automatic item updates use the Schema.org microdata on your landing page to help keep your data fresh.” A page that declares one price in its markup, another in its Open Graph tags and a third on screen is asking for trouble with at least one of them. The safe setup is one price field in your platform feeding the visible price, the Product structured data and the Open Graph tags together. See JSON-LD Product schema for the markup and Open Graph metadata for the rest of the tags.

The free scan reads the price your product page declares and the price it shows. It flags a product page whose structured data has no price, and reports a structured data price that disagrees with the visible price as a failure. It does not see your Merchant Center data, so the submitted price is a manual comparison. The price checks are all on the misrepresentation checker.

Typical evidence

A correct number wearing the wrong currency

Line up og:price against the JSON-LD price and the visible page, and look for three-way mismatches. The currency case is the one people miss — a right-looking amount tagged in the wrong currency resolves to a different price, and won't match your target country.

visible page
£19.99
GBP
JSON-LD
19.99
GBP
og:price
19.99
USD
Amount matches, currency doesn't — a UK store emitting USD. It resolves to a different value and fails against the GBP target country.
One source of truth — the live price field — feeds the page, the schema and the og: tags. Check the currency code against your GMC target country after every price change.

The public signals this check looks for:

  1. A shared link shows last month’s sale price because the theme writes og…

    A shared link shows last month’s sale price because the theme writes og:price from a cached value.

  2. product

    product:price:amount carries the price without tax while the page shows it with tax.

  3. The Open Graph tags describe the default variant while the link was for another

    The Open Graph tags describe the default variant while the link was for another.

  4. A currency app changes the visible price, but the Open Graph price and currency stay in th…

    A currency app changes the visible price, but the Open Graph price and currency stay in the base currency.

  5. An app removed from the theme still writes its own price tags into the page head

    An app removed from the theme still writes its own price tags into the page head.

What it looks like once it is right

The shop removes the old app’s tags and lets the theme write the Open Graph price, its currency and the Product structured data from the same price field. Page, markup and link preview all say £18 GBP.

Common mistakes

Common mistake

A candle page shows £18 and its Product structured data says £18, but an og:price tag written by an old sharing app still says £22 from before a price drop, with USD as the currency.

Fix checklist

One price field, three surfaces, no drift

The cure is mundane and total: a single source of truth feeds the visible page, the JSON-LD schema and the og: tags. If all three read from one field, no two of them can ever be played against each other.

CMS · product.price (source of truth)
29.99 GBP
visible page
£29.99 GBP
JSON-LD
£29.99 GBP
og:price
£29.99 GBP
Check the currency code against your GMC target country once, and every surface inherits it. Hardcoding any one of the three is how the mismatch is born.

Questions merchants ask

Does Google Shopping use og:price?

Google's Merchant Center help on structured data is written around schema.org Product markup, and its automatic item updates use the schema.org markup on your page. Treat Open Graph tags as link-preview data, and keep them in line with the same price anyway.

What is the difference between og:price and product:price?

Both are Open Graph properties that link previews use to show a price; which ones appear depends on your platform or theme. Whatever your theme writes, the amount and currency should match the visible price for the same variant.

Which price markup matters most for Merchant Center?

The Product structured data. Google's page on structured data for Merchant Center says it must match the values shown to the customer, and its price mismatch fix page lists incorrect structured data markup among the usual causes of a mismatch.

Remediation

Risk signal

Nobody audits the tags a browser never shows, which is how one page ends up quoting three prices. One price source feeding all of them costs an afternoon and ends the argument.
PriorityLow priority on its own — clear it as housekeeping so the record is complete.
EvidenceRecord the current state before each change, apply the fix, then capture the corrected state so every change is evidenced.

Similar cases

Sources

  1. About structured data markup for Merchant CenterGoogle Merchant Center Help — support.google.com
  2. How to fix: Mismatched product priceGoogle Merchant Center Help — support.google.com
  3. Price [price] — submitting accurate product pricesGoogle Merchant Center Help — support.google.com

Last reviewed 23 Sep 2026.

That is one issue. The library documents 134.

The free scan lists what it finds on your store. The paid report adds the affected pages, captured evidence and step-by-step fixes. Start free, with no account needed.