Microsoft has set a hard deadline: September 15, 2026. On that date, the company will retire the Azure Maps Gen1 pricing tier, forcibly moving every remaining Standard S0 and Standard S1 account to the newer Gen2 pricing model. The move, quietly confirmed in an Azure updates notification, marks the end of a three-year transition period that began when Gen2 was introduced in 2021. If you still rely on the old pricing, your bill could change dramatically—and not necessarily for the better.
The change affects any Azure subscription still using the legacy S0 or S1 SKUs for geocoding, routing, traffic, and other location services. Microsoft will automatically migrate those accounts to Gen2 on retirement day, but the switch isn't a simple one-to-one mapping. Gen2 brings a fundamentally different billing structure: transactions are now measured uniformly across all services, with a generous free tier but steeper per-thousand rates once you exceed it. For high-volume users accustomed to the flat-rate predictability of Gen1, the math can get ugly fast.
Here's what every Azure Maps customer needs to know, how to calculate the impact, and a step-by-step migration checklist to regain control before the forced transition hits.
The Gen1 Reckoning: What's Actually Happening
Azure Maps launched in 2018 with two pricing models: S0 (standard) and S1 (advanced), both charging per-transaction but with different rate cards and volume discounts. S0 targeted low-volume applications, while S1 offered better pricing at scale. The model was complex—each service (search, routing, weather, etc.) had its own transaction meter, and understanding your bill required a spreadsheet.
Gen2, released in May 2021, collapsed all those meters into one unified "transactions" concept. It introduced a shared free tier of 250,000 transactions per month across most services, and beyond that, a flat pay-as-you-go rate of $5.00 per 1,000 transactions for the first 5 million, dropping to $4.00 for the next 5 million, and so on with volume discounts. Gen2 also added a new "Shared" infrastructure tier (as opposed to the fixed "Developer" and "Enterprise" tiers of Gen1), making it more scalable for large deployments.
Microsoft encouraged migration for years, but many organizations stuck with Gen1 because their usage patterns didn't align with Gen2's pricing. For example, an app making 100,000 simple geocoding lookups and 200,000 reverse-geocoding calls per month might have paid much less under Gen1's service-specific rates than under Gen2's bundled transaction model. Now, those holdouts face a mandatory move.
The September 15, 2026 Deadline: Automatic and Unavoidable
The retirement announcement, posted on the Azure Updates page, is stark: "On 15 September 2026, we’ll retire the Azure Maps Gen1 pricing tier for Standard S0 and Standard S1 accounts. To avoid any disruption, you must transition to Gen2 pricing before this date. After this date, any remaining Gen1 accounts will be automatically migrated to Gen2."
There is no opt-out. Microsoft will convert your subscription's pricing model at the account level, meaning all resources under that subscription will flip to Gen2 simultaneously. If you have multiple subscriptions with mixed SKUs, each one will be migrated independently. The automatic migration is designed to prevent service interruption—your maps will keep working—but it leaves you with zero control over the timing and no way to revert if the new cost model breaks your budget.
Microsoft has a history of giving long lead times for pricing retirements. The company gave two years' notice for the Azure Media Services retirement and three years for classic virtual machines. The 2026 deadline gives customers roughly 15 months from the date of this article to prepare, but the clock started ticking in early 2025 when the first notifications went out. If you're just learning about it now, you're already behind.
The Cost Shock: Where Gen2 Hurts More Than Gen1
Let's be blunt: for some workloads, Gen2 will be more expensive. The reason lies in how transactions are counted. Under Gen1, a single API call might count as one transaction per service. Gen2 counts every data element returned as a separate transaction in some cases. A reverse geocode request that returns 10 address results counts as 1 transaction, but a forward geocode with batch results? The definitions aren't always identical, and Microsoft's migration guide warns that "transaction counts may differ between Gen1 and Gen2."
Consider a fleet management app that continuously tracks 1,000 vehicles, polling GPS coordinates every 30 seconds. That's 2.88 million map tile requests per day. Under Gen1 S1 with a negotiated volume discount, the tile service might cost $0.45 per 1,000 transactions, leading to roughly $1,296 per day. Under Gen2's standard rates, map tiles are not included in the free tier—they're charged at $0.50 per 1,000 transactions for the first 5 million, so $1,440 per day. A 10% jump for the same resource. And that's before considering other services.
The free tier helps small apps: 250,000 free transactions per month across search, routing, time zone, and several other services means many hobbyist and proof-of-concept projects never pay a penny. But once you exceed that threshold, every transaction counts. A popular weather app making 300,000 calls to the Weather service would pay $0 under Gen1 if it was within the service-specific free tiers, but under Gen2, it would pay for the extra 50,000 at $5.00 per thousand, or $250 per month.
Real-world examples from Azure communities already show the pain. One developer reported that after voluntarily migrating a mid-sized logistics platform, their monthly Azure Maps bill jumped from $1,200 to $1,800—a 50% increase—because their SEO-heavy reverse geocoding usage tripped Gen2's higher base rate. Another enterprise user saw costs fall by 30% after migrating, because Gen2's volume discounts kicked in earlier than Gen1's complex tiering. The impact depends entirely on your composition of services.
How to Calculate Your Gen2 Blast Radius
Don't wait for the automatic migration. Start now by modeling your future costs. The process is straightforward:
- Pull three months of Gen1 usage data from the Azure Cost Management portal. Export the transaction counts by API service (Search, Routing, Traffic, Weather, etc.) at the resource level.
- Map each Gen1 API to its Gen2 transaction equivalent. Microsoft provides a conversion guide at
https://learn.microsoft.com/en-us/azure/azure-maps/migrate-gen1-gen2-pricing. Some one-to-many mappings exist; for example, the Gen1 "Common Route" API may break into "Route Directions" and "Route Matrix" in Gen2, each with separate billing. - Apply the Gen2 free tier. The first 250,000 transactions across the most commonly used services are free each month. Subtract those from your totals proportionally. Note: map tile and some premium services (like Weather along a route) do not count toward this free tier.
- Calculate costs using the Gen2 rate card, including volume discounts. The standard list price is $5.00 per 1,000 transactions for 0–5M, $4.00 for 5–10M, $3.00 for 10–50M, and $2.00 for 50M+. If you have an Enterprise Agreement, check for any negotiated discounts on Azure Maps—those will apply to Gen2 as well.
- Compare with current Gen1 costs. If the difference is more than 20% higher, you have a problem. If it’s lower, you’re in luck—but still migrate proactively to lock in the savings and avoid the last-minute rush.
Microsoft’s Azure Pricing Calculator has a Gen2 estimator, but it doesn’t always reflect the nuances of Gen1-to-Gen2 transaction mapping. For high-volume scenarios, work with your Microsoft account team or a FinOps consultant to build a custom model.
The Migration Checklist: 8 Steps to Regain Control
Automatic migration is a safety net, not a strategy. Take ownership of the process now to avoid surprises.
- Inventory all Gen1 Azure Maps accounts. Use the Azure Resource Graph to query subscriptions:
resources | where type == "microsoft.maps/accounts" and sku.name in ("S0", "S1"). Verify which ones are active and which are abandoned test environments. - Lock in any existing S1 volume discounts. If you have custom pricing through an Enterprise Agreement, confirm with Microsoft that those discounts will carry over to Gen2. In most cases, they will, but get it in writing.
- Review your application code for SDK compatibility. Gen1 used a different authentication model (shared keys) that is still supported in Gen2, but Gen2 pushes toward Azure Active Directory authentication. If you migrate pricing without updating your app, it will keep working, but you may want to adopt AAD for better security.
- Test in a non-production environment first. Clone your maps account into a new Gen2-priced resource (Developer tier, which is equivalent to the long-retired S0 Developer SKU). Run your workload for a week, compare transaction counts and costs, and look for any functional differences—some older Gen1 APIs have been deprecated and map to different endpoints in Gen2.
- Optimize before migrating. Can you reduce calls by using vector tiles instead of raster tiles? Can you batch geocoding requests? Can you cache frequent lookups? Shaving even 10% off your transaction volume could mean the difference between a painful Gen2 bill and a manageable one.
- Update your FinOps dashboards. Set up budgets and alerts for Gen2 Azure Maps in Azure Cost Management. Create a new cost center or tag to track maps expenses separately, so you can spot anomalies early.
- Schedule the manual migration for a low-traffic window. Changing the pricing tier is a zero-downtime operation—Microsoft says it can take up to 10 minutes to propagate, but services remain available. Do it over a weekend or during off-peak hours for your application.
- Document and communicate to stakeholders. Your CFO won’t appreciate a surprise spike in the monthly Azure bill. Present the forecasted impact and the steps you’ve taken to mitigate it.
What the Community Is Saying
Reactions among Azure Maps users have been mixed. In forums and social channels, long-time Gen1 users express frustration that Microsoft is effectively forcing a price increase on them. "We built our entire logistics platform around the S1 pricing model, and now our costs could go up 40% overnight," wrote one developer on Reddit’s r/Azure. "We feel penalized for being early adopters."
Others see Gen2 as a net positive. Startups and small developers love the free tier, which didn’t exist in Gen1. "We moved our prototype to Gen2 and our bill went from $300/month to $0 because we stay under the free limits," said another commenter. "This democratizes location services for indie devs."
Some have called for a smoother transition: perhaps a graduated migration where Gen1 pricing phases out over tiers, or a tool that automatically estimates the cost delta. Microsoft hasn’t provided either, though its FastTrack for Azure team has been running readiness workshops for enterprise customers with contractual commitments.
Why Microsoft Is Killing Gen1 Now
Azure Maps is a strategic asset in the Microsoft cloud, powering location capabilities in everything from Dynamics 365 to Power BI and Azure IoT. Gen2 aligns with Microsoft’s broader vision of simplified, consumption-based pricing that mirrors competitors like Google Maps Platform and HERE Technologies. In fact, Google’s 2018 pricing overhaul and AWS’s Amazon Location Service launch in 2021 put pressure on Microsoft to modernize.
By retiring Gen1, Microsoft reduces operational overhead—no more maintaining two pricing engines, separate billing pipelines, and redundant transaction counters. It also nudges customers toward the shared infrastructure model of Gen2, which Microsoft can scale more efficiently. For the company, it’s about margins; for customers, it’s about adapting to a cloud industry that relentlessly moves toward unified transaction models.
The Windows Angle: What It Means for Desktop and Edge Developers
While Azure Maps is a cross-platform service, many Windows developers embed maps into UWP, WinForms, WPF, and even WinUI 3 applications through the Azure Maps Web SDK or native .NET controls. If you’re building a line-of-business app for Windows that displays store locations, asset tracking, or delivery routes, your backend likely calls Azure Maps APIs. The Gen1 retirement means you need to revisit not just your cloud bill but also your app’s performance and feature set.
Gen2 introduced geofencing and creator APIs that work beautifully in Windows apps, but they come with their own pricing dimensions. If you haven’t updated your app in years, now is the time to both migrate pricing and modernize your map integration. The Azure Maps team has published a Windows developer migration guide at learn.microsoft.com, covering how to switch from the old S0/S1 REST endpoints to Gen2 endpoints while taking advantage of vector tiles and real-time traffic layers.
What Happens If You Do Nothing?
If you let the September 15, 2026 deadline pass without action, Microsoft will automatically convert your S0 or S1 account to Gen2 pricing. Your maps will keep working. Your keys won’t change. Your SDK calls won’t break. But your bill will shift overnight—and you’ll have no recourse to go back. Microsoft’s forced migration policy is absolute; there’s no grandfathering, no extended grace period, and no exceptions for legacy contracts.
Worse, if you have multiple subscriptions, the migration happens on a per-subscription basis, not a per-tenant basis. That means you could see a staggered billing shock across your environment as different subscriptions hit the deadline or are manually migrated at different times. FinOps teams should model the cumulative effect to avoid a quarterly budget bust.
The Road Ahead: 2026 and Beyond
After the Gen1 retirement, all new Azure Maps accounts have been created with Gen2 pricing since mid-2022 anyway. The real question is what comes next for the service. Microsoft continues to invest in Azure Maps, adding indoor maps, weather, and AI-enhanced routing. The next frontier may be deeper integration with Azure OpenAI Service and Copilot to generate location-aware content. As the platform evolves, pricing simplicity will be key to adoption.
For now, the message is clear: September 15, 2026 is coming, and it’s not negotiable. Start your migration project this quarter, not next year. The longer you wait, the less time you have to optimize, negotiate volume discounts, or architect around higher transaction costs. Treat the automatic migration as a last resort, not your plan A.
Your Azure bill will thank you.