Teaching example · all product records and results below are synthetic. This is not a client case, a live store audit or a Google approval result.
Start with one item, not the entire catalogue
For an Australian retailer or its website team, a price-mismatch warning should lead to a reproducible item-level investigation. Establish the merchant-approved price, exact variant, market and evidence time first. Then compare the feed, initial page, selected state, matching structured-data offer and checkout product line. Agreement between five wrong records is not correctness.
A merchant described a default-variant discrepancy in a 2021 Shopify discussion. It is historical problem evidence, not a current volume estimate or proof of the suggested fix.
A filled example you can reproduce
The fictional approved catalogue sets MRL-TEACH-BLK-M to AUD79.00; L is AUD89.00. Every observation is labelled synthetic and recorded at 03:01 AEDT on 15 October 2026. The requested landing-page link is for M, but the initial state displays L. Its matching schema offer still contains AUD69.00. The table is not a real store measurement.
| Layer | Observed SKU | AUD | Finding |
|---|---|---|---|
| Feed | MRL-TEACH-BLK-M | 79.00 | Agrees with approved sample |
| Initial landing page | MRL-TEACH-BLK-L | 89.00 | Wrong variant and price |
| Selected variant | MRL-TEACH-BLK-M | 79.00 | Agrees with approved sample |
| Matching schema Offer | MRL-TEACH-BLK-M | 69.00 | Stale price |
| Checkout product | MRL-TEACH-BLK-M | 79.00 | Agrees with approved sample |
Two different investigations follow. The initial page needs a variant-preselection check; the schema record needs its own update/source check. A correct selected state does not cancel the incorrect initial state. Do not simply choose whichever system currently shows the feed price.
Run the evidence-aware check
Download the offline checker, broken snapshot, corrected snapshot and filled audit worksheet. Use Node 22.13 or newer. These files do not fetch URLs, change your shop or send data to Google.
node price-evidence-check.mjs --test node price-evidence-check.mjs sample-broken.json node price-evidence-check.mjs sample-corrected.json
The broken input reports initialPage:price-mismatch, initialPage:wrong-variant and schema:price-mismatch. The corrected input reports CONSISTENT. Eighteen tests also check missing records, missing evidence, currency, invalid money, unknown authority and unsupported context. BLOCKED means obtain the missing evidence or use a different workflow; it is not an instruction to guess a value.
Turn the result into a bounded supplier brief
- Have the merchant confirm the relevant catalogue revision, price owner, currency and exact variant. Attach evidence rather than merely ticking confirmed.
- Record the actual submitted URL, initial HTML, visible selected state, corresponding Offer and checkout product amount. Remove personal/customer information from shared captures.
- Ask the responsible theme, feed or integration owner to explain the conflicting record and synchronisation sequence in a staging environment.
- Repeat the same item after the proposed correction, including a second differently priced variant. Retain before/after evidence and the unchanged assumptions.
- Review the later Merchant Center status separately. Do not label the incident resolved only because this local checker passes.
Official facts and limits
Google's price specification requires submitted amount/currency to match landing-page and checkout information, and excludes shipping from product price. Its mismatch guide addresses variant preselection. Search documentation separates single-page and multi-page variant structures, so this checker does not prescribe a canonical rewrite. Sources checked 15 October 2026:
- Google Merchant Center — Price [price]
- Google — Inaccurate price: feed and landing page
- Google Search — Product variant structured data
Our workflow, integer-cent model and expected errors are original teaching choices, not Google requirements or a promised repair. Scope is ordinary Australian fixed-price retail offers in AUD; taxes must already be handled by the approved merchant context. No tax calculation, sale/member/subscription/B2B pricing, stock availability, schema extraction, automatic-update diagnosis or country-switching is implemented. Evidence labels are not authenticated by the program. A real owner still has to verify the files and approval.
What to bring to a website diagnostic
Bring a redacted item ID, feed revision, submitted link, context and five timestamped records. That lets a website/search team scope the investigation without a private price list, customer order or account credential. No paid plugin or catalogue-wide rewrite is justified by this example alone.