Hi everyone,
I see a “View map” option on Shopify orders, which suggests coordinates are stored on the order. I’m building third-party flows outside Shopify (e.g. a custom COD landing page with distance-based shipping) and need to understand how Shopify handles this before mirroring the approach.
Two main questions:
- Are order coordinates produced by geocoding the address the customer enters (and writing them back), or can Shopify obtain them via device GPS (or similar) at checkout time?
- Is there a public API to read these coordinates, and can I use them in systems outside Shopify?
One more thing that puzzles me:
If coordinates come only from address geocoding, I’d expect poor results when customers enter messy or incomplete addresses—missing street numbers, vague village names, and so on. In practice, I’ve seen cases where the address fields look bad or incomplete, yet the map pin still lands on the actual house with surprising accuracy—more precise than I’d expect from ZIP- or village-level geocoding alone.
That makes me wonder whether another path exists—e.g. GPS, map pin selection, or an app/extension writing coordinates directly during checkout—rather than inferring location solely from the visible address fields after the fact.
Could someone clarify which mechanism typically explains “poor address text but accurate house-level pin”? Or does Shopify’s geocoder use inputs not visible in the order JSON (e.g. note_attributes, Autocomplete-related data, etc.)?
My current understanding (please correct if wrong):
- The standard Checkout sandbox does not appear to expose browser GPS
- Community threads suggest address geocoding may be asynchronous (coordinates sometimes appear only after the initial callback)
- Carrier Service
destinationlat/lng is often null at checkout
Redacted example (API/app-created order, Romania):
{
“checkout_id”: null,
“shipping_address”: {
“address1”: "Puzdra ",
“city”: "Broșteni, sat Holda. ",
“zip”: “727075”,
“country”: “Romania”,
“latitude”: 47.24033679999999,
“longitude”: 25.6976665
},
“note_attributes”: [
{“name”: “house_number”, “value”: “Nr 115”}
]
}
Links to official docs, staff clarifications, or similar cases would be greatly appreciated. Thanks!