What is geolocation?

Geolocation in OpenRTB is the location of the device or user, described by a Geo object at device.geo, for where the device is now, and at user.geo, for the user's home base. It can carry coordinates, country, region, metro, city, and postal code, plus fields that say where the location came from and how precise it is.

Also called: geo, Geo object, device.geo, user.geo, location data.

How it works

Coordinates go in Geo.lat and Geo.lon, with Geo.type saying how they were obtained: 1 for GPS or location services, 2 for an IP lookup, 3 for data the user provided. For a GPS fix, Geo.accuracy gives the reported accuracy in meters and Geo.lastfix the age of the fix in seconds. For IP-derived locations, Geo.ipservice names the lookup provider. The text fields have fixed formats: Geo.country is an ISO 3166-1 alpha-3 code such as USA, Geo.region an ISO 3166-2 code (the two-letter state code in the US), and Geo.metro a Google metro code, which is close to but not identical to Nielsen DMAs.

Location is personal data in most privacy regimes, so precision should follow consent and regulation. OpenRTB 2.3 to 2.5 described COPPA handling as removing coordinates, metro, city, and postal code from child-directed requests. Sellers without consent for precise location commonly round coordinates or send only region-level data from an IP lookup.

Pitfalls: two-letter country codes where the spec expects three letters; coordinates of 0,0 standing in for unknown; GPS-precision coordinates labeled type = 2 or sent with no type at all; and a device.geo that contradicts the IP address. Buyers compare the two, and a mismatch reads as a proxy or fraud.

Read more

Related terms

Every term is in the glossary.