How to show website in only one country Google

My client has 3 websites, each has it’s region.

eu.ralphkerlesart.com - for Europe countries us.ralphkerlesart.com - for USA and Canada ralphkerlesart.com - for other regions 

I need only one website display in each region – the one that fits it. For now the website for other regions also show up in USA together with US website. Also, website without subdomain is the only website that appear in google search in Europe, and European website doesn’t display anywhere at all.

These websites were created with squarespace, and all regional settings there are done. I also add all websites in google search console and connected them with USA, UK and Australia. But it doesn’t help.

For now I made some coding to check the ip of the user and redirect him on website that fits his region.

Is there any way to display only one website in each region?