How to Fix “Pixel and catalog price/currency mismatch” in Meta Commerce Manager
Meta compares the price and currency your pixel reports on ViewContent and Purchase events with the values in the catalog. A formatting difference — comma decimals, missing currency, tax-inclusive versus tax-exclusive — reads as a mismatch.
Scan your feed for this error for free
Paste your product feed URL (XML, CSV or JSON). The audit checks Pixel and catalog price/currency mismatch along with 25+ other pre-channel rules.
Why this happens
Technical root cause
The pixel reads the rendered storefront price (already localized) while the catalog carries the raw database price. Different rounding, currency symbols or decimal separators put the two out of sync even when the underlying amount is identical.
Meta Commerce Manager reports it as Pixel and catalog price/currency mismatch and applies: Degraded dynamic ad matching and unreliable ROAS attribution.
Native CMS friction
Shopify
Markets and currency conversion change the displayed price per visitor, while the feed exports the shop's base currency.
VTEX
Price tables per trade policy mean the pixel may fire a policy price that never appears in the exported feed.
WooCommerce
Tax display settings can render prices with tax included while the feed exports the net price.
Fixing it manually
- 1
Open Events Manager and inspect a recent ViewContent event for one affected product.
- 2
Compare its value and currency with the same item in Commerce Manager.
- 3
Align the tax treatment on both sides and use a dot as the decimal separator.
- 4
Publish prices as a numeric amount plus an ISO 4217 code, e.g. 129.90 USD.
The IRONFEED automated solution
One rule, applied to every product on every export. No spreadsheets, no re-uploads.
IF price MATCHES '[^0-9.]' OR currency NOT ISO_4217
SET price = format_decimal(strip_symbols(price), 2) + ' ' + iso_currency(currency)
ELSE keep price unchangedRun automatic linter checks before Meta Commerce Manager crawls your feed. IRONFEED validates every export against the channel spec, so this error is caught in Feed Review instead of in your channel dashboard.
Attribute requirements
| Attribute | Meta Ads requirement | Accepted format | IRONFEED transformation |
|---|---|---|---|
price | Required; must match the price on the landing page | Numeric with dot decimals plus ISO code, e.g. 129.90 USD | Symbol stripping, decimal normalization and currency append |
sale_price | Optional; must be lower than price | Same as price | Validated against price, dropped when higher or equal |
Frequently asked questions
Related Feed Issues & Fixes
Other critical errors affecting catalog performance on Google, Meta, TikTok, and Mercado Libre.
Moneda no coincide con el site local de Mercado Libre
Regional sellers keep one base currency internally and expect conversion at publish time. The integration passes the base amount through, and locale formatting adds separators the API does not accept.
View Fix & RuleMissing field: description
Store descriptions are rich HTML written for a product page. When exported verbatim they contain markup, scripts or only a spacer tag, which Meta discards — leaving the attribute effectively empty.
View Fix & RuleCurrency not supported in target country
Multi-market stores keep one base currency in the database and convert at render time. The feed inherits the base currency — or an ambiguous symbol like $ — which does not resolve to the target market's ISO code.
View Fix & RuleLooking for a different error?