The Feedance AI features is rolling out.
Check it out!

Why Your TRY, AED and SAR Prices Fail Google and Meta Feed Checks, and How to Fix Them

A price field looks like the simplest column in a feed, and in Turkish and Gulf catalogs it is where format, tax and currency rules all meet. Google's Merchant Center specification says the price must be a number plus an ISO 4217 currency, with no more than 2 digits after the decimal point, and in Turkey, the UAE and Saudi Arabia it must include VAT. At Turkey's 20% standard rate, a feed that exports the ex-VAT figure understates every price by about 17% (1,000 in the feed against 1,200 on the page). This guide is for feed managers and agencies running TRY, AED or SAR catalogs into Google Shopping and Meta. By the end you will be able to audit a price column row by row, name the five failure patterns, and write transformation rules that stop them coming back.

Why price formatting fails more often in TRY and Gulf catalogs

Three things combine. Source systems in the region often store net prices and apply tax at checkout. Spreadsheets and ERP exports use a comma as the decimal separator and a currency symbol in the cell. And merchants frequently sell across several countries from one catalog, so a single price column has to serve more than one currency and more than one tax rule.

Channels are strict about the result. Google requires the submitted amount and currency to match the landing page and checkout pages, and to be shown in the currency of your target country. Meta's catalog reference asks for a number, a space, then a three-letter ISO 4217 code, a period as the decimal point and no currency symbol. Any row that breaks either rule is a candidate for an invalid-value error or a price mismatch.

The five failure patterns, with before and after rows

The rows below are illustrative examples we constructed to show the patterns. They are not client data. Each one is a real way a price column goes wrong, matched to the rule it breaks.

1. Locale formatting: comma decimals and currency symbols

Before:

id: TR-10482
price: 1.299,90 ₺
sale_price: 1099,90 TL

After:

id: TR-10482
price: 1299.90 TRY
sale_price: 1099.90 TRY

Meta states plainly to use a period, not a comma, and to leave out currency symbols. Google's specification gives the file format as 15.00 USD. A Turkish-locale export produces neither. We also strip thousands separators entirely, because none of the examples in either specification include one.

2. Ex-VAT prices in a VAT-inclusive country

Before:

id: TR-20917
price: 1000.00 TRY      (net, from ERP)
landing page shows: 1.200,00 TL

After:

id: TR-20917
price: 1200.00 TRY

Google's price page lists Turkey, the United Arab Emirates and Saudi Arabia among the countries where you must provide the price including VAT or GST. The United States and Canada are the opposite case, where taxes must be left out. Turkish consumer rules point the same way: the Price Label Regulation (Fiyat Etiketi Yönetmeliği) defines the sale price as the cash price with all taxes included ("tüm vergiler dahil", Article 4(h) and Article 5(2)(c)). That regulation is written around physical labels and in-store display, so treat it as the legal backdrop rather than a feed rule. The feed rule comes from the channel.

Do not reach for the tax attribute to fix this. Google limits it to products targeting the United States and says not to use it for VAT.

3. One hard-coded VAT rate for the whole catalog

Turkey applies three rates, 20%, 10% and 1%, and which rate a product takes depends on its category and on current decrees. A rule that multiplies every net price by 1.20 will be wrong for any item outside the standard band. Take the rate from the ERP or from a category-to-rate mapping that your finance team owns, then compute price = net x (1 + rate) in the feed. We have not verified which product groups fall in which band, so we do not list them here. Confirm each category with your accountant or the Revenue Administration's schedules.

4. Wrong currency for the target country

Before:

id: AE-5531
target country: AE
price: 299.00 USD

After:

id: AE-5531
target country: AE
price: 1098.00 AED

Google lists the currency for each supported country, including TRY for Turkey, AED for the UAE, SAR for Saudi Arabia, EGP for Egypt, KWD for Kuwait, BHD for Bahrain, OMR for Oman and JOD for Jordan. Showing dollars to a UAE shopper, or the reverse, breaks the requirement to show the price in the currency of the target country. The AED figure above is a placeholder for whatever your landing page actually charges. Do not convert at a rate of your own choosing unless the storefront does the same thing at the same moment.

5. Three-decimal currencies against a two-decimal limit

Kuwaiti dinar, Bahraini dinar and Omani rial are priced to three decimal places in their home markets, but Google says not to provide more than 2 digits after the decimal point and rounds automatically (its examples: 1.0234 becomes 1.02, 29.8999 becomes 29.90). A storefront price of 12.755 KWD will therefore reach Google as a different number than the page shows. We have not found Google documenting a tolerance for this, so the safe approach is to price these markets in steps the two-decimal field can carry exactly, such as 12.750, and to check Diagnostics after the first upload.

The decision table

CheckPass conditionFix if it fails
FormatNumber, space, ISO code (1299.90 TRY)Strip symbols and thousands separators, swap comma for period
DecimalsNo more than 2 digits after the pointRound at the source so the page and feed agree
Tax basisVAT included for TR, AE, SA targetsCompute gross price from net and a per-category rate
CurrencyMatches the target country's currencyUse one feed per country, or a currency column per market
Page matchFeed price equals the landing page and checkoutFix the source of truth, then resubmit
Sale priceSame format as price, lower than priceApply the same transform to both columns

A rule set you can apply in any feed tool

  1. Keep a clean numeric net price and a numeric VAT rate per product as separate source columns. Never overwrite the net price.
  2. Compute the gross price: net multiplied by one plus the rate, rounded to 2 decimals.
  3. Build the output as a string: the gross number with a period decimal, a space, then the ISO code for the target country.
  4. Apply the identical steps to sale_price, then confirm it is lower than price.
  5. Run a filter that flags any row where the output does not match the pattern of digits, an optional period with two digits, a space and three capital letters.
  6. Compare a sample of 20 to 50 rows against the live landing pages before the first submission.

In Feedance this is a rules step ahead of export, and it runs on the feed's schedule: daily on Essentials and hourly on Business. It does not change a price the moment your storefront changes it, which is why the source system has to be the single place prices are edited. Our platform page lists the storefront connectors that feed this step.

Diagnosing a price error in Merchant Center

Google's price troubleshooter lists the issue names you will see: "Mismatched value (page crawl) [price]", "Mismatched regional value (page crawl) [price]", "Automatic item updates active [Price]", and the account-level "Inaccurate prices" warning. Its decision tree asks about tax and VAT setup for the target country, sale price differences, microdata markup, regional pricing and whether the last feed upload is more than 48 hours old.

In practice, check in this order. First format: is the value valid at all. Second tax basis: is the feed gross and the page gross. Third freshness: is the upload recent. Only then look at microdata and regional pages. If the warning is "Automatic item updates active", the cause is different and is covered in our guide to stopping Google from overriding your feed's price and availability.

Regional reference: currency and VAT by market

MarketGoogle currencyStandard VATNamed in Google's VAT-inclusive list
TurkeyTRY20%Yes
United Arab EmiratesAED5%Yes
Saudi ArabiaSAR15%Yes
EgyptEGP14%Not named
BahrainBHD10%Not named
OmanOMR5%Not named
JordanJOD16%Not named

Currencies come from Google's supported countries page. Rates come from a 2026 VAT rate compilation, a secondary source, so confirm them with the national tax authority before hard-coding anything. For markets Google does not name, the specification is silent. Our working rule there is to match the landing page exactly, since page match is the requirement that is stated.

Where this breaks down

This guide covers the price field for Google and Meta. It does not cover the Turkish marketplaces, which take prices through their own APIs and have their own rules; our guide to Akakçe, Cimri, N11 and ÇiçekSepeti feed requirements covers that side, and the ikas, Ticimax, T-Soft and İdeaSoft comparison shows how each storefront exposes prices natively.

Three limits of our own method. Meta's catalog reference does not state whether prices are tax-inclusive, so for Meta we follow the landing page. The Turkish Price Label Regulation is about labels, and we could not find language in the text we read that addresses online listings specifically. And the rates in the table are from a secondary source and change by decree.

A spreadsheet formula can do all of the arithmetic above for a small catalog. A feed tool earns its place when you have several markets, several channels and prices that change often. DataFeedWatch, Channable and Productsup all offer rule-based transformations that can express the same logic, so the rule matters more than the vendor.

FAQ

Should the price in my Turkish feed include KDV?

Yes for Google. Turkey is named in Google's list of countries where the price must include VAT or GST. The price must also match what the landing page and checkout show.

Can I use the tax attribute to add VAT instead?

No. Google restricts the tax attribute to products targeting the United States and says it must not be used for VAT. Put the VAT into the price itself.

Do I write 1.299,90 or 1299.90?

Write 1299.90 followed by the currency code. Meta specifies a period as the decimal point, and Google's examples use the same pattern.

Can I use the lira sign in the price column?

No. Meta says not to include currency symbols and Google specifies an ISO 4217 code. Use TRY.

What happens to prices with three decimals, such as KWD?

Google accepts at most 2 digits after the decimal point and rounds automatically. Round at the source so your storefront and your feed show the same number.

Which VAT rate do I apply in Turkey?

It depends on the product. Turkey has 20%, 10% and 1% rates, and the category decides which applies. Take the rate from your ERP or accountant rather than assuming 20%.

My price is right but Merchant Center still flags a mismatch. Why?

Check the age of the last upload, the sale price, any regional pages and your microdata markup, which are the areas Google's troubleshooter points to. Then check whether automatic item updates are involved.

Is this the same for Egypt, Kuwait or Bahrain?

Google does not name those countries in its VAT-inclusive list. Match the landing page exactly and check Diagnostics after the first upload.

Check your own price column

Run your feed through our free product feed audit tool to see which rows fail format, currency and attribute checks before Google or Meta does.

Sources

Prev Article
The Product Feed Attributes ChatGPT Shopping and Google AI Mode Actually Read

Related to this topic:

Schedule your 15-minute demo now

Schedule my demo

We’ll tailor your demo to your immediate needs and answer all your questions. Get ready to see how it works!