1. A computer-implemented method for selecting a hierarchical location corresponding to a geographic location of a client computer, the method comprising: receiving, at one or more processors, a request for location information, the request comprising a token sufficient to geolocate the client computer; determining, by one or more processors, geolocation data based on the token, the geolocation data comprising a plurality of hierarchical locations, each hierarchical location of the plurality of hierarchical locations encompassing the location below it; and iteratively traversing, by one or more processors, the plurality of hierarchical locations from the smallest hierarchical location to the largest hierarchical location, each iteration comprising: determining, by one or more processors, a confidence measure associated with a selected one of the plurality of hierarchal locations; comparing, by one or more processors, the confidence measure to a threshold; providing by one or more processors, the selected one of the plurality of hierarchical locations in response to the request for location information from the client computer if the confidence measure is greater than the threshold; and selecting, by one or more processors, a next hierarchical location of the plurality of hierarchical locations if the confidence measure is less than the threshold.