Location has two separate jobs: deciding who can see a mission and deciding whether a submission is valid.
{
  "location": {
    "placeLabel": "Ritual Coffee Roasters",
    "visibility": {
      "center": { "lat": 37.7765, "lng": -122.4241 },
      "radiusMeters": 15000
    },
    "submission": {
      "center": { "lat": 37.7765, "lng": -122.4241 },
      "radiusMeters": 120,
      "minGpsAccuracyMeters": 100,
      "gpsMaxAgeSeconds": 300
    }
  }
}

Visibility radius

location.visibility controls whether the mission should be shown to nearby contributors. Use a broad radius when the mission should only appear to people in a region:
  • city missions: 10000 to 20000 meters
  • neighborhood missions: 1000 to 5000 meters
  • venue missions: usually still broad enough for discovery

Submission radius

location.submission controls whether an uploaded capture is accepted as being taken near the target. Use a tighter radius for proof:
  • specific storefront or landmark: 50 to 150 meters
  • park, plaza, or large venue: 150 to 500 meters
  • city-wide evidence: avoid tight submission radius unless there is a precise target

When location is required

Use location.submission when the evidence must be collected at a specific place. place_video missions should almost always include it. For object missions like a billboard or sign, use object_photo plus location.submission only if the object must be at a particular place.

Accuracy and freshness

Optional fields:
  • minGpsAccuracyMeters: maximum acceptable GPS accuracy radius. Lower is stricter.
  • gpsMaxAgeSeconds: maximum age of the GPS reading. Lower is stricter.
Avoid making these too strict for early tests. Phone GPS can be noisy, especially indoors or around tall buildings.