# Google Places Api

**URL:** <https://community.shopify.com/t/google-places-api/651126>\
**Category:** Technical Q&A\
**Tags:** troubleshooting\
**Created:** [July 14, 2026, 7:07am UTC](https://community.shopify.com/t/google-places-api/651126 "2026-07-14T07:07:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![santu\_harne](https://avatars.discourse-cdn.com/v4/letter/s/a87d85/32.png) [@santu\_harne](https://community.shopify.com/u/santu_harne)\
**Post date:** [July 14, 2026, 7:07am UTC](https://community.shopify.com/t/google-places-api/651126/1 "2026-07-14T07:07:01Z")

</div>

Hi everyone,

We’re working on a Shopify custom app and have noticed an inconsistency in the address data returned for the same location.  
We have two address entry points:

- **Shopify Checkout** (shipping address)
- **Our Next.js onboarding page** , where we use the **Google Places Autocomplete API** to let users search and select their address.

For the exact same address:

- Shopify Checkout returns the **city** as **Navarre**.
- Google Places returns the **city** as **Gulf Breeze**.

Everything else in the address (street, state, ZIP code, etc.) matches correctly.  
We’re trying to understand why the city values differ.

My questions are:

1. Which address validation or autocomplete service/API does Shopify Checkout use to populate addresses?
2. Does Shopify use Google Places, a different provider, or its own address validation service?
3. Has anyone encountered similar differences between Shopify Checkout and Google Places? If so, what was the recommended approach to keep address data consistent across both flows?

Any insights or recommendations would be greatly appreciated. Thanks!

---

<div class="post-metadata">

**Author:** ![santu\_harne](https://avatars.discourse-cdn.com/v4/letter/s/a87d85/32.png) [@santu\_harne](https://community.shopify.com/u/santu_harne)\
**Post date:** [July 14, 2026, 9:48am UTC](https://community.shopify.com/t/google-places-api/651126/3 "2026-07-14T09:48:11Z")

</div>

Thanks for the response

---

<div class="post-metadata">

**Author:** ![HamidEjaz](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/hamidejaz/32/407350_2.png) [@HamidEjaz](https://community.shopify.com/u/HamidEjaz)\
**Post date:** [July 24, 2026, 11:37am UTC](https://community.shopify.com/t/google-places-api/651126/5 "2026-07-24T11:37:29Z")

</div>

@santu_harne the advice above to treat the Checkout address as your canonical source is the right call. one thing worth adding on the why, since it pins it exactly: usps assigns each zip ONE preferred/default city, and any other valid names for that zip are just “acceptable” alternates. Navarre vs Gulf Breeze on the same zip is that. google places hands you the geocoder locality while shopify gives back the zip’s preferred city, so they disagree even when street, state and zip all match.

so if you actually want Places to line up instead of just deferring to Checkout, map the postal\_code to the usps preferred city yourself rather than trusting the locality field. otherwise Checkout-as-source-of-truth is the clean route since thats the address that ships.
