When geolocation is triggered, SpotStack attempts to determine the user’s location. SpotStack will first make a browser Geolocation API request, which returns an approximate latitude/longitude (based on the user’s IP address). The plugin will then perform a reverse lookup to determine the human-friendly physical address. The accuracy of the data will vary depending on how the device is determining its location. Most phones have GPS these days but less accurate strategies (such as WiFi triangulation) may be used in the event that GPS is unavailable. Occasionally the location can be inaccurate.
You can read more about this topic here https://whatismyipaddress.com/geolocation-accuracy
You must have an SSL certificate installed on your website in order for geolocation to work.