First of all. To rank different content and do different Page Title, Meta Description for the same URL is not possible and it's against Google guidelines. By Google interpretation, it is "cloaking". With a cloaking, it's pretty easy way to get a penalty if you doing it wrong.
Cloaking is considered a violation of Google’s Webmaster Guidelines because it provides our users with different results than they expected.
Of course, in some situation, it's acceptible, for example, in a header you change the local phone number based on visitor location. Here could be some other similar exceptions as well.
Update:
After many requests to John Mueller in twitter and marking the Locale-Aware crawling help page as useless, the Google finally updated the information about Locale-Aware crawling and removed sentences which can make you think that it's possible in Google.
And the answer is clear in this page:
Do not use IP analysis to adapt your content. IP location analysis is
difficult and generally not reliable. Furthermore, Google may not be
able to crawl variations of your site properly. Most, but not all,
Google crawls originate from the US, and we do not attempt to vary the
location to detect site variations. Use one of the explicit methods
shown here (hreflang, alternate URLs, and explicit links).
What Google doesn't do:
- Google crawls the web from different locations around the world. We do
not attempt to vary the crawler source used for a single site in
order to find any possible variations in a page. Therefore, any locale
or language variations that your site exposes should be communicated
to Google explicitly through the methods shown here (such as hreflang
entries, ccTLDs, or explicit links).
- Google ignores lo cational meta tags (like geo.position or distribution) or geotargeting HTML
attributes.
So, I would believe that announcement back in 2015 is not working as many people interpret it.
As we can see the confirmation from John Mueller in Google Webmasters Hangout, that Google Crawling out of USA are most likely using only for countries where for political or other reasons they see that are blocked IP addresses from USA. As well, Google most likely will continue to crawl your website only from one country, not multiple. So, at this stage, this Locale-aware crawling can't be used for multilingual websites, if you want that Google sees all your page versions.
Please use different URL structure for you your location-related pages, if you want to rank them in Google. And use proper Hreflang configuration for these pages which I mentioned below.
END of update
From where Google bots crawl your website? In most of the cases it's coming from the US, so in Google most likely will be indexed your US content and all your rankings will be based on this version of a page.
The best localisation solution is to make separate pages/domains for each location and do proper internationalisation setup. In this case, Google reads all possible versions where you have the option to customise all metas and content for each location and rank for different keywords.
For this type of setup, the most important part is properly setup Hreflang Attribute in your HTML head. Here is example:
<link rel="alternate" href="https://example.com" hreflang="es-es" />
<link rel="alternate" href="https://example.com/fr/" hreflang="fr-fr" />
<link rel="alternate" href="https://example.com/pt/" hreflang="pt-pt" />
With this setup, Google will serve relevant content for each location visitors.
For inspiration, you can visit any global website which targets many locations with different content. Good example setups you can see on Tripadvisor, Airbnb and many other websites.
To make this setup work more accurate and best for your situation, you can think about location-based redirects.