Back to Projects

Lead Scoring Engine with Custom Fields

A 14-signal scoring model running in GoHighLevel with hot/warm/cold routing, weighted by source quality, recency, and engagement depth.

2025 Lead Scoring Engineer Analytics
GoHighLevelCustom FieldsWorkflow LogicLead ScoringAttribution
taimoorakhtar.com/projects/lead-scoring-engine
Lead Scoring Engine with Custom Fields

Introduction

A B2B services agency was treating every lead with the same urgency — and burning sales-rep time on lookers who'd never buy while letting hot prospects go cold. They had the data (form fills, email opens, page views, demo requests) but no way to synthesize it into a single priority signal a rep could trust.

The Challenge

Lead scoring fails in two predictable ways. Too simple: 'all leads are scored 1-5 based on form fill quality' — ignores engagement signals. Too complex: 'we have a 38-variable model with weighting from a regression analysis' — reps don't trust the black box. The middle path requires a transparent, explainable, but multi-signal model.

The Solution

Built a 14-signal scoring engine entirely inside GHL using custom fields and workflows. Each signal contributes points (source quality 0-25, engagement recency 0-20, page depth 0-15, etc.). Total score routes the lead: 70+ hot, 40-69 warm, under 40 nurture. Score visible to reps with breakdown — no black box.

Technical Deep Dive

1
Signal inventory. 14 signals captured: source channel, source-channel quality multiplier, form completeness, email engagement (last 30 days), page-depth depth (sessions count), demo request flag, company-size match, geo match, role-title match, last activity recency, return-visit flag, content-piece-consumed count, referral flag, account expansion signal.
2
Point allocation. Each signal scored independently with documented logic. Source: web form = 15, paid search = 12, referral = 25, cold scrape = 3. Engagement recency: under 24h = 20, under 7d = 12, under 30d = 5, older = 0. And so on for all 14.
3
Routing logic. Score 70+ → hot, immediate rep notification and same-day call requirement. Score 40-69 → warm, queued for outbound within 48 hours. Under 40 → nurture sequence, no manual touch yet.
4
Transparent breakdown for reps. Each lead's contact view shows total score plus the breakdown by signal. Reps see WHY a lead scored high. Trust in the system maintained.
5
Quarterly recalibration. Every quarter, scored leads' actual conversion outcomes reviewed. Signal weights adjusted based on which signals best predicted closed deals. Improves over time.

Key Features

Results & Impact

  • Hot-lead-to-deal conversion improved 40% in first quarter
  • Sales rep time-on-leads aligned with lead value — no more equal-time distribution
  • Pipeline velocity (lead-to-deal time) compressed 28%
  • Cold leads still nurture — recovered 12% as they re-engaged later

Lessons Learned

"Transparent scoring beats sophisticated scoring. Reps trust what they understand."
"Recalibrate quarterly with actual outcome data. A scoring model that never updates becomes wrong slowly."
"Native CRM custom fields are enough for most scoring. Don't add an external tool unless complexity demands it."

Related Work

Have a similar build in mind?

I'm available for engagement on GoHighLevel implementations, A2P 10DLC compliance, AI automation pipelines, and CRM migrations. Most projects start at $300–$1,200 depending on scope.