yo acabo de implementar un sistema de discriminación de países en un proyecto (para autodetectar cuando tengo que mostrar el euro y cuando el dólar) y lo que usé fue la base de datos de
http://ip-to-country.com (que previamente hay que subirla al servidor y, yo por lo menos, necesité hacerle algunas modificaciones para que se pudiera importar correctamente) para con php detectar la ip del navegante, compararla con la bd y de esa forma sacar el país de dicha ip.
Después de eso es un simple if $pais == usa...