.htaccess GEO redirects issues with accuracy

i am currently redirecting user based on GEO_IP using htaccess but the problem is i am facing huge traffic loss and even sometime when i try myself using VPN then it not redirecting correct.

I am not sure, how accurate is htaccess GEO detection.

code :

GeoIPEnable On
# US
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$
RewriteRule ^(.*)$ https://example.com/us$1 [L]

# UK
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^UK$
RewriteRule ^(.*)$ https://example.com/uk$1 [L]

# CA
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CA$
RewriteRule ^(.*)$ https://example.com/ca$1 [L]

# IN
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^IN$
RewriteRule ^(.*)$ https://example.com/in$1 [L]

can anyone help me fixing my htaccess for more accuracy or if anyone have alternative solution with javascript or PHP.