Migrating away from Google Maps and cutting costs by 99%

By Stephan Schmidt

eventsofa is a location platform where you can find locations for your events, for example for Christmas parties. We’ve been using Google Maps on profile pages for some years now and have been happy with the experience. Usage was free for us, reliability was high and there was a steady stream of new features and map enhancements. Beside Maps we were also using geo coding from Google, which was a much rougher experience from Google with mixed language and bad data.

Then came the shock, Google wanted money for Google Maps usage. From a business point of view, we surely can understand Google wanting money for its services. We did budget away money as we were expecting this to come. But what shocked us was the increase in prices by more than 1000%. They wanted to sweeten the price hike with a monthly credit, but this was a raindrop in the ocean. The projected costs from Google were several thousands of euros per month, with an upward trend indicated by Google and also our seasonal business. .

We waited two months to see real prices on our invoice as we hoped to stay with Google. First thought for staying was cutting costs and migrating to static Google maps. But this looked more complicated than migrating our Javascript to a new Mapbox API. So during this time we looked around for some alternatives. There are many offerings from Here Maps, Azure Maps, Apple Maps, TomTom and many more. After looking at some data we decided to base our usage on an OpenStreetMap based service. OpenStreetMap is a great service and at least in Europe the quality of data is very high. When hiking or walking I usually use something based on OSM with its higher quality of small pathways and parks compared to Google Maps. We believe OSM is the future of mapping and wanted to support it.

We soon narrowed down our search to Stadiamaps. They have excellent pricing, good looking tiles, support the Mapbox API and as we learned have excellent support.

Migration was very easy and took much shorter than we’ve expected. We decided to use the Mapbox API with tiles from Stadiamaps. In under 30 minutes we migrated our code to Stadiamaps without prior knowledge of their API, including deployment. We saw an example to change the map marker and used it to create a pink marker, which we haven’t done with Google Maps.

Migration led to a reduction of costs of something around 95-99% depending on seasonal traffic. Although we have to pay now for map services, the cost isn’t very high and very sustainable for us. We wish Google would have taken money from the beginning with a reasonable price we could budget instead of being free and then charging lots of money. StadiaMaps also energized us to put maps in several places we haven’t used maps before!

Things have not gone as well with geo coding. Google geo coding data is only allowed to be used with Google Maps, so when you change maps you need to migrate geo coding too and recode old data. We tested several geo coding services and are comparing results to Google geocoding to see how they perform. After some changes we now use Open Cage Data geocoding. Open Cage supports both JSON and XML formats and support forward and reverse geo coding. One benefit is we now own the coding data and can use it in the future even if we change the maps service or geo coding provider.

Open Cage has better results than Google and supply more useful data with each response. You can get telephone code, currency, emoji flag of the country, coordinates in different formats, sun rise and sun set, time zone and many more. Results of city names and suburbs for different languages is also much better than with Google. We had some minor data issues and Open Cage Data support was excellent with very fast fixes.

We were using placeId in Google geocoding to show users a list of coding results, let the user select one and then use the selection to geocode a location. As most geo coding service we’ve looked at didn’t support unique IDs for geo coding results, we had to rewrite backend and frontend code. Which isn’t as nice, but works.

Support from StadiaMaps during our decision and following the migration was excellent. We’ve exchanged some emails with Stadiamaps CEO who was very kind and helpful, overall the support experience was a pleasure.

Thanks to Google for giving us free Maps for some years, we’re now very happy with Stadiamaps and should have migrated before!