We have managed to display information in the SERPs from our Schema.org markup, however, the information is incorrect.

The page shows up in the SERPs, displaying USD rather than GBP

We have different currency options on the site, but have marked up the priceCurrency as GBP.

What could be the reason for the inaccurate details to show?

  • Just out of curiosity, where is your "country" tab set to in google webmaster tools > search traffic > international targeting? – dhaupin Aug 1 '16 at 17:46
  • It is set to the United Kingdom – GrapeSoda Aug 1 '16 at 19:13

Not a Schema issue, it's a website and Google issue

The problem you are experiencing is pretty common and a side effect of GEO IP detection. The issue that your encountering is occurring due to the fact that your site is using some type of IP Geolocation service, often known as GEOIP.

In short your site is automatically detecting where a site visitor is located and then serving them with the correct currency, and obviously you are serving the Googlebot with US currency, because the majority of Google's crawlers are located in the US.

Google's Data Centres

Google's crawler operates on a large volume of IP addresses, and Google operates from multiple data centres throughout the world:

  • America

    • Berkeley County, South Carolina
    • Council Bluffs, Iowa
    • Douglas County, Georgia
    • Jackson County, Alabama
    • Lenoir, North Carolina
    • Mayes County, Oklahoma
    • Montgomery County, Tennessee
    • Quilicura, Chile
    • The Dalles, Oregon
  • Asia

    • Changhua County, Taiwan
    • Singapore
  • Europe

    • Dublin, Ireland
    • Eemshaven, Netherlands
    • Hamina, Finland
    • St Ghislain, Belgium

Google does not crawl websites from the UK

As far as I know Google does not have any UK based servers, but they do have servers in Ireland, most likely for tax haven reasons, as Ireland is know for its Double Irish Arrangement that allows big companies to pay lower taxes for its products and services, something that is constantly in the UK press, often referred to as tax avoidance by politicians.


Google crawling will never occur from a UK based server, since the majority of crawling occurs from servers located in the states, other countries outside of the UK, but besides... even if Google did have a UK crawler, Google doesn't have a feature where you can select a preferred crawl location in any-case.

Incorrect currency May Affect Your Local Rankings

If your main target region is the UK, then Google finding US dollar can and most likely affect your rankings, Since Google thinks your main region is US.


Other signals. Other sources of clues as to the intended audience of your site can include local addresses and phone numbers on the pages, the use of local language and currency, links from other local sites, and/or the use of Google My Business (where available).

Replicate my Findings

You can replicate this issue by connecting to a VPN, or Proxy located in the US and then using a cookieless browser (important since your site is storing last used currency as a cookie) or Google Chrome incognito, you can clearly see that it is automatically assigning the currency.

Possible Fix

The most obvious thing would be to ignore the IP addresses of Googlebot, or the user agent, however this is not recommended by Google, since it could be detected as a form of cloaking. You should always treat the Googlebot as a visitor, not a bot.

So, you could always use that solution but obviously its not approved by Google. So I wouldn't recommend the above solution to anyone. You can approach this by setting up your site as a Multi-regional and multilingual website.

Or alternatively use multiple Schema markup to determine the currency, therefore Google should understand the website has multiple currencies and return the correct results depending where the user is in the world.


This would allow you to serve all currencies in your markup, hide those that weren't valid for the current user/ip through CSS/JS and still have Google understand what you're doing:

<div class="curr-gbp" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
  <!--price is 1000, a number, with locale-specific thousands separator
      and decimal mark, and the $ character is marked up with the
      machine-readable code "USD" -->
  <span class="usd" itemprop="priceCurrency" content="USD">$</span>
  <span class="usd" itemprop="price" content="1000.00">1,000.00</span>
  <span class="gbp" itemprop="priceCurrency" content="GBP">&pound;</span>
  <span class="gbp" itemprop="price" content="750.00">750.00</span>
  <span class="aud" itemprop="priceCurrency" content="AUD">$</span>
  <span class="aud" itemprop="price" content="1500.00">1,500.00</span>

You set the class on the containing div to the currency you've selected for the user and then hide the other options through CSS:

.curr-gbp .usd, .curr-gbp .aud { display: none; }
.curr-usd .gbp, .curr-usd .aud { display: none; }
.curr-aud .usd, .curr-aud .gbp { display: none; }

Google should then recognise the mark-up and display it as appropriate in its listings.

| improve this answer | |
  • Thank you for this explanation, this really has helped my understanding of this issue. One question, what is the point of indicating the currency if this appears to have no effect on the SERPs? – GrapeSoda Aug 1 '16 at 19:39
  • Also, with the solution regarding marking up all currencies and only showing the correct currency based on the user's IP, is that not similar to the approach we already have? Would Google still not use USD in the SERP's? – GrapeSoda Aug 1 '16 at 19:49
  • Not exactly, because Google will see all the currencies in the source. Current they are only seeing one currency. A method not discussed is that you could simply ask the user with a pop up if they would like to change to USD, by giving them the choice the default will automatic be GBP. – Simon Hayter Aug 2 '16 at 9:40
  • So the priceCurrency mark-up, which is what we use on to GBP, should that not be indicating to Google the correct currency? – GrapeSoda Aug 2 '16 at 9:46
  • On category product pages you only have <option value="GBP">GBP &#163; </option> in the source, and on product pages you have <meta itemprop="priceCurrency" content="GBP" /> and <meta itemprop="price" content="2.95" /> and <div class="amount">$4.13</div> So the fact on a lot of pages you have fixed USD pricing and hidden GBP values on other pages, Google is deciding that US dollar is best suited. – Simon Hayter Aug 2 '16 at 9:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.