Salesforce license optimization means matching what you pay for to what people and systems actually use, then proving it before renewal. Waste usually comes from four places: seats held by people who left, add-ons nobody switched on, light users on full seats, and tools that duplicate each other. Find them with login data, license reports and owner interviews. Then fix what you can inside the org and bring the evidence to your account executive early.
Why do Salesforce orgs end up paying for licenses nobody uses?
Because buying is a single event, while usage drifts every day after it. Nobody is usually assigned to notice when the two stop matching.
The patterns repeat across most orgs we review:
- Leavers whose user records were frozen or left active instead of deactivated, so their seats stay tied up.
- Add-ons bought for a project that stalled, such as a marketing tool, a CPQ package or an AgentExchange (formerly AppExchange) app with its own per-user licenses.
- Staff who only look up records or approve requests but hold the same full CRM seat as a quota-carrying rep.
- Integrations and bots that log in as named employees on full seats.
- Two tools doing one job, for example a third-party e-signature or scheduling app alongside a Salesforce feature you already own.
- Seats bought ahead of a rollout that slipped or changed shape.
How do you find out which licenses are actually being used?
Start with the counts Salesforce already shows you, then check each assigned seat against real activity. Login data tells you who is present; feature data tells you who needs the seat.
In Setup, the Company Information page lists each license group with totals and the number used. Salesforce Help describes it as a point-in-time view. It also points to a License Utilization page inside the Digital Wallet app for a more current, per-product picture, gated by its own permission. App names and access in this area have changed recently, so confirm what your org shows with your Salesforce account team.
Next, build a user-level view: a user report with last login, profile and license type exposes most dormant seats. The Login History page in Setup adds detail on how and when each person signs in, including API logins. It only keeps a limited recent window, so export it if you want a longer trend.
Last login only proves that someone opened the app. To decide whether a person needs a full seat, look at what they do once inside. Check record ownership, records created or edited, and which objects they touch. For managed packages, the Installed Packages page shows how many package licenses are assigned and to whom.
There is a second trap. Salesforce Help notes that deactivating a user frees the seat for someone else but does not lower the number of licenses you are billed for. Only a contract change at renewal does that. Clean-up inside the org is the evidence, not the saving itself.
Where does license waste hide, and what does fixing it involve?
Each source has its own detection method and its own downside, so plan fixes in order of risk.
| Waste source | How to find it | Fix | Risk of fixing |
|---|---|---|---|
| Departed or inactive users | User report filtered on last login date, compared with the HR leaver list | Reassign records and automation, then deactivate | Flows, queues or reports that still reference the user can break |
| Frozen users left frozen | Query or list view of frozen user records | Finish the reassignment work and deactivate | Low, once ownership and default settings are moved |
| Light users on full CRM seats | Activity by object: who only reads, approves or works custom objects | Test a Platform or other lighter license in a sandbox before switching | A hidden dependency on a standard object the lighter license excludes |
| Integrations on employee seats | Users whose logins are mostly API traffic | Move each connection to a dedicated Integration user | Short outage if credentials or permissions are moved carelessly |
| Shelfware add-ons | Contract line items with no named owner, no configuration or no assigned users | Activate with a plan, or drop at renewal | Losing a feature someone quietly relies on |
| Unused package licenses | Installed Packages license counts against assigned users | Remove assignments, then reduce the count with the vendor | Users lose access to package features mid-process |
| Duplicate tools | Spend list from finance compared with features already in your edition | Consolidate on one tool after a side-by-side test | Retraining and migration effort that outweighs the saving |
Are people on the right type of license, not just a license?
Often not. Most orgs default everyone to the biggest seat, so right-sizing the license type can matter more than removing dormant users.
Group users by the work they do in Salesforce, not by department. Sellers who manage opportunities and service agents who work cases need full CRM access. Staff who live in custom apps and only reference accounts may suit a Platform license. External customers or partners belong on Experience Cloud licenses, never on internal seats. Our license types guide covers what each one includes.
Two cautions apply. Switching a license type usually means changing the user's profile and retesting their access, so run it in a sandbox first. And a downgrade is only worth it if you can actually reduce the higher seat count at renewal, which depends on your contract.
What about storage, API capacity, sandboxes and consumption credits?
These are bought as capacity rather than per person, so they are easy to over-buy and hard to see. Review each against measured use before renewal.
- Storage: the Storage Usage page in Setup shows data and file use by object and top users. Archiving or deleting stale records can be cheaper than buying more.
- API capacity: daily API limits scale with edition and licenses. If you bought extra calls, check whether a chatty integration could be redesigned instead.
- Sandboxes: count each sandbox type you hold, then ask who refreshed or used each one recently. An unused full-copy sandbox is a common line to question.
- Consumption credits: Agentforce and Data Cloud (Data 360) are metered in credits. Salesforce documents consumption views in the Digital Wallet app, though names and packaging have shifted.
For credit-based products, compare consumption to the entitlement and to your plans for next year.
Can we share logins or use generic accounts to save seats?
Usually not. Most Salesforce agreements tie a user license to a named individual, and sharing one login between people typically breaches those terms.
Shared logins also destroy your audit trail, so you can no longer see who changed a record. Read your own agreement and ask your account executive before using any generic account. For systems rather than people, the right answer is normally a dedicated Integration user. This is not legal advice; your legal team should read the actual terms.
How should you prepare for a Salesforce renewal?
Treat renewal as a project with a sequence, not a meeting. Begin well before the notice date in your contract so you have room to act on what you find.
- Pull the current order form and list every line item, its quantity and its business owner.
- Run the usage audit and clean up inside the org, so active counts reflect reality.
- Collect the roadmap: teams joining, products you plan to adopt, and anything you plan to retire.
- Draft the target position: seats by license type, add-ons to keep, drop or activate, and capacity needs.
- Share the evidence with your account executive and ask for options in writing.
- Get finance, IT and the business owners to sign off before the order form is final.
Useful questions for your account executive include these. Can seat counts go down at renewal, or only stay flat or rise? How will current products map to any new edition structure? Which items are bundled versus priced separately? What consumption have we used against each credit entitlement? Good evidence gives you a clearer discussion, not a guaranteed result.
Which contract terms affect what you can cut?
Several standard clauses decide how much flexibility you have, so find them before you plan reductions. Interpretation varies by contract, and none of this is legal advice.
- Renewal uplift: whether price increases at renewal are capped, and on what basis.
- Reductions: whether you may lower quantities at renewal, and whether bundled discounts depend on keeping them.
- True-ups: how over-use of seats or capacity during the term is counted and billed.
- Co-terming: whether seats added mid-term share the main renewal date or run on their own cycle.
- Notice periods: how far ahead of renewal changes must be submitted.
Add-ons signed mid-term can renew on their own dates and escape review, so ask for one view of every active agreement.
How do you keep license waste from coming back?
Give licensing an owner and a rhythm. A light, repeatable process beats a large clean-up every few years.
- Joiner, mover, leaver: tie user creation, license changes and deactivation to HR events, with a named Salesforce step in each.
- Quarterly license review: compare used and assigned counts, dormant users and package assignments, and log decisions.
- One owner per add-on: someone accountable for adoption and for the keep-or-drop call at renewal.
- A purchase gate: new apps or seats need an owner, a use case and a check against features already owned.
- Integration hygiene: every connection runs as its own Integration user, documented with its owner.
Build these into your governance cadence or managed services agreement so they never depend on one admin's memory.
What does a first-phase license optimization look like?
Keep phase one narrow: get accurate counts, remove obvious waste and prepare the renewal case. Leave license-type changes that need redesign for a later phase.
- Export license counts, user activity and package assignments into one workbook.
- Deactivate confirmed leavers and resolve frozen users.
- Move integrations onto dedicated Integration users.
- Name an owner for every add-on and decide keep, drop or activate.
- Shortlist user groups for a sandbox test of lighter license types.
- Write the renewal position and the questions for your account executive.
Sometimes the cheapest license is the one you never need. An industrial-services firm we worked with needed to track roughly 100 contract field workers in Salesforce. Rather than license each worker, we built a custom Labor Resource object to hold contractors and their certifications. That removed per-worker licensing for 75 to 100 laborers.
A medical-device company we supported had a related problem in Account Engagement. Duplicate-creating setup had pushed it over its prospect limit. Removing more than 970 invalid prospects and fixing the duplicate creation brought the count back under its license.

