Freshsales offers two scoring systems. They look similar in the UI but answer different questions. Lead scoring asks “is this stranger worth a call.” Contact scoring asks “is this known person heating up.”
When to use lead scoring
Lead scoring lives on the Lead object (or Contact when you operate without Leads). It rewards firmographics and early intent: industry match, company size, demo request, pricing-page views. The output drives MQL handoff to sales.
+25 Industry = SaaS
+20 Company size 50-500
+15 Demo form submitted
+10 Visited /pricing in last 7 days
When to use contact scoring
Contact scoring fires on engagement velocity for known contacts already in a sequence or open opp. It rewards email opens, replies, calendar acceptance, and product trial behavior synced via the Custom Module API.
Decay matters more than thresholds
Both systems support score decay rules. Without decay, every dormant prospect eventually scores 100. Set 30-day decay on engagement signals and 90-day decay on firmographic recency.
Wire scores to automations, not dashboards
A score that nobody acts on is a vanity metric. Trigger a Sales Sequence enrollment when contact score crosses 70, and a SDR notification when lead score crosses 80.
// Webhook payload from Freshsales workflow
{
"event": "contact_score_threshold",
"contact_id": 4421,
"score": 73,
"previous_score": 58,
"trigger_action": "enroll_sequence_id_12"
}
Common pitfalls
- Stacking both systems on the same record without a decision tree
- Awarding identical points to “form fill” and “newsletter signup”
- Forgetting to exclude internal employee email domains
What to do this week
Decide which object is your handoff source of truth, define decay windows for engagement vs firmographics, and wire one automation per scoring threshold so the score creates motion.