.png)
Read Time: 5 Minutes
Most Salesforce orgs treat renewals like a stretch goal and let expansion bleed out the side door.
Short answer: Salesforce renewals leak expansion revenue when CSMs work outside the CRM, renewal opportunities never get auto-created, and there is no separate field for upsell. Fix it in 4 moves: auto-spawn a renewal opportunity 90 days before contract end, give CSMs ownership, add an expansion-flag field, and forecast renewal and expansion as 2 distinct numbers.
Renewal motions break the same way at every $10M to $50M tech company. The CSM lives in a spreadsheet, the renewal date sits in a custom field nobody watches, and the expansion conversation happens 14 days before the contract ends.
Auto-spawn renewal opportunities 90 days out
Renewal opportunities should never be hand-built by a CSM. The CRM should know about them before the customer does.
- Add a Contract end date field on the Account or Contract object. Make it required at deal close.
- Build a Flow that runs daily and checks if any record hits the 90-day mark.
- The Flow auto-creates a Renewal opportunity with the existing ARR pre-populated.
- Stage it as Renewal pending and assign it to the named CSM owner.
- Notify the CSM in Slack the moment the opportunity spawns so it does not sit unworked.
Give CSMs real ownership of the renewal record
Most renewals lose expansion because the AE who closed the original deal still owns the opportunity. Hand it to the CSM on day 1 of the contract.
- Build a separate Salesforce role hierarchy node for CS so renewal opps roll up to the CS leader, not the AE.
- Add a CSM lookup field on the Account so Flow knows who to assign on auto-spawn.
- Set sharing rules so CSMs can edit renewal opps but cannot edit net-new opps.
- Make the original AE a sales team member on the renewal so they keep visibility, not control.
Track expansion as a separate field on the renewal
Expansion revenue dies in spreadsheets because nobody isolates it inside Salesforce. Force the field.
- Add a custom number field Expansion ARR on the opportunity.
- Add a picklist Expansion type with values: seats, modules, tier upgrade, services.
- Build a validation rule that requires Expansion type when Expansion ARR is greater than 0.
- Roll Expansion ARR into a separate dashboard column next to Renewal ARR.
Forecast renewal and expansion as 2 distinct numbers
Lumping them into 1 forecast hides the most important signal you have: how much new money each cohort generates.
- Build a Renewal forecast that only includes the original ARR amount.
- Build an Expansion forecast that only sums the Expansion ARR field.
- Show both numbers on the weekly forecast dashboard, side by side.
- Hold CSMs accountable to the expansion number, not just the renewal number.
What breaks when you skip the renewal motion build
These are the failure patterns I see when CSMs work renewals outside Salesforce.
- Renewals get worked 14 days out, not 90, so price negotiation pressure is one-sided.
- CSMs miss expansion conversations entirely because no field forces the question.
- The CRO sees a renewal-closed number that includes expansion, hiding the actual new revenue.
- The handoff from AE to CSM never happens cleanly, so expansion commission attaches to the wrong rep.
Bottom line
Renewals without an expansion field are renewals you lose ground on every quarter. Build the auto-spawn Flow first. Hand the record to the CSM. Add the Expansion ARR field this week. Split the forecast next month. By Q4 you have a number you can manage.
Frequently asked questions
When should the renewal opportunity get created in Salesforce?
Auto-create the renewal opportunity 90 days before the contract end date. That gives the CSM time to run a value review, surface expansion, and negotiate without rushing. If your average sales cycle on net-new is 60 days, you can run renewals on the same buffer.
Should renewals and net-new sit on the same opportunity stages?
No. Build a separate stage path for renewals: Renewal pending, Value review, Expansion identified, Negotiation, Closed renewed. Net-new stages do not map cleanly to a customer relationship that already exists. A separate path also lets you forecast and report on the 2 motions independently.
Who should own the renewal opportunity in Salesforce?
The CSM owns the record. The original AE stays on the sales team for context and gets a portion of any expansion commission, but the record routes through the CS hierarchy. This keeps renewals out of the new logo forecast and lines up with how most $10M to $100M tech companies actually operate.
How do I report on expansion revenue separately from renewal revenue?
Add an Expansion ARR currency field and an Expansion type picklist on the opportunity. Build a forecast type that sums the Expansion field separately from the Amount field. Then build 2 dashboard tiles: Renewal ARR closed and Expansion ARR closed. The split shows where the actual growth is coming from.
Will Service Cloud or a CSP handle renewals better than Sales Cloud?
For most $3M to $100M tech companies, the answer is no. Sales Cloud with the right object model and dashboards handles renewal motions cleanly without the cost or complexity of a separate CSP like Gainsight. Add the CSM hierarchy, the expansion fields, and the auto-spawn Flow first. Layer on a CSP only when the volume forces it.
Want more of this? The Simply Scale newsletter drops every week: https://www.gosimplyscale.com/newsletter
