Lead Scoring Setup in Bitrix24 CRM – Automate Priority
We've faced a situation where managers spent hours on cold leads while a hot request for a large deal waited in queue. Without scoring, the processing order is random. Our experience shows that a properly configured scoring model can increase lead-to-deal conversion by 5–7% per quarter. In one project, we achieved conversion growth from 12% to 19% — a 1.6x improvement.
Lead scoring assigns a numerical score to each lead based on its characteristics and behavior. The goal: managers work with the hottest leads first, not in order of arrival. Without scoring, a 'warm' lead that left a high-value request waits in line behind a 'cold' one that downloaded a freebie. With an average deal value, every lost hour is lost revenue.
Bitrix24 does not have a built-in scoring engine but provides tools for implementation: custom fields, robots, and REST API. Let's explore two approaches. Official documentation: crm.lead.update
Custom field 'Score' — numeric field (UF_CRM_LEAD_SCORE) on the 'Lead' entity. Created in CRM → Settings → Custom Fields → Lead → Add Field → Integer.
Robots — add points when conditions are met. A robot 'Change Field' cannot add to the current value; it can only set a specific one — this is a limitation. For cumulative scoring, REST API is needed.
Why REST API is preferable to robots?
Robots don't accumulate points — they set a fixed value, overwriting previous additions. REST API allows storing scoring history, dynamically recalculating scores when lead data changes, and implementing complex logic. The flexibility of REST API justifies the development costs already at 200 leads per day. Savings on manager salaries due to proper prioritization can be significant — for a team of 5 managers, that's substantial monthly savings by focusing on hot leads.
Scoring model
A typical scoring model for B2B leads:
| Criterion | Condition | Points |
|---|---|---|
| Source | Referral | +30 |
| Source | Organic search | +15 |
| Source | Advertising | +5 |
| Company size | More than 100 employees | +20 |
| Position | Director, manager | +15 |
| Deal amount | High value | +25 |
| Completeness | Email + phone + company | +10 |
| Activity | Opened email | +5 |
| Activity | Clicked a link | +10 |
| Negative | Competitor | -50 |
Implementation via REST API
Scoring logic is implemented via a webhook triggered on lead creation and update:
// /local/rest/lead_scoring.php $payload = json_decode(file_get_contents('php://input'), true); $leadId = $payload['data']['FIELDS_AFTER']['ID'] ?? null; if (!$leadId) exit; $b24 = initBitrix24Client(); $lead = $b24->call('crm.lead.get', ['id' => $leadId])['result']; $score = calculateLeadScore($lead); $b24->call('crm.lead.update', [ 'id' => $leadId, 'fields' => [ 'UF_CRM_LEAD_SCORE' => $score, 'UF_CRM_LEAD_SCORE_DATE' => date(DATE_ATOM), ], ]); // If score is high — immediately notify senior manager if ($score >= 60) { $b24->call('im.notify.personal.add', [ 'USER_ID' => SENIOR_MANAGER_ID, 'MESSAGE' => "[b]Hot lead![/b] Score: {$score}. Lead: {$lead['TITLE']}", ]); } function calculateLeadScore(array $lead): int { $score = 0; // Source $sourceScores = [ 'RECOMMENDATION' => 30, 'ORGANIC' => 15, 'ADVERTISING' => 5, 'WEB' => 10, ]; $score += $sourceScores[$lead['SOURCE_ID']] ?? 0; // Amount $opportunity = (float)($lead['OPPORTUNITY'] ?? 0); if ($opportunity >= 500000) $score += 25; elseif ($opportunity >= 100000) $score += 15; elseif ($opportunity >= 50000) $score += 10; // Completeness if (!empty($lead['EMAIL'])) $score += 5; if (!empty($lead['PHONE'])) $score += 5; if (!empty($lead['COMPANY_TITLE'])) $score += 5; // Custom fields (company size, position) $companySize = $lead['UF_CRM_LEAD_COMPANY_SIZE'] ?? 0; if ($companySize > 100) $score += 20; elseif ($companySize > 20) $score += 10; // Negative factors if (str_contains(strtolower($lead['COMPANY_TITLE'] ?? ''), 'competitor')) { $score -= 50; } return max(0, min(100, $score)); // Clamp to 0–100 } How to visualize scoring in the lead list?
The scoring score is displayed in the lead list as a column via display settings in CRM → Leads → Settings → Columns. For visual highlighting of hot leads — color indication through row highlighting rules (Bitrix24 supports color highlighting in the CRM grid). Sorting leads by score — via custom sort in list view: CRM → Leads → Sort → By field 'Score' descending.
Case study: Scoring for a SaaS company (from our practice)
Our client — a company selling a CRM system to small businesses. Leads came via website (form, chat), advertising, and partners. Without scoring, managers processed leads in order of arrival — they called those who downloaded a lead magnet first, instead of those who requested a demo for a 50+ team.
We implemented a scoring model (8 criteria, 0–100 points):
- Leads with score 70+ tagged 'Hot' — manager gets push notification immediately
- Leads 40–69 — processed within 2 hours
- Leads below 40 — automatically go to email nurturing without manager involvement
Result after a quarter: lead-to-deal conversion increased from 12% to 19% — a 1.6x improvement. First response time for hot leads decreased from 4 hours to 20 minutes — 12x faster. The client recouped the implementation cost quickly due to revenue growth. With average deal value and 100 leads per month, additional revenue was significant per quarter.
What is included in scoring setup
- Documentation of the scoring model (criteria, weights, thresholds)
- Configuration of custom field and robots (if needed)
- Implementation of REST API webhook with business logic
- Integration with notifications and nurturing
- Training managers to work with scoring
- Post-launch support (2 weeks)
- Guarantee: free fixes if model needs adjustment within first month
Our expertise and guarantees
We have over 5 years of experience in Bitrix24 CRM customization and have completed 30+ lead scoring projects. Our team holds Bitrix24 Certified Developer certifications. We guarantee the scoring system will increase conversion by at least 5% or we will adjust it for free. All implementations include a 1-year warranty on code updates.
Timelines
| Configuration | Timeline |
|---|---|
| Scoring model (without automation) | 0.5 day |
| REST API + webhook + basic model | 2–3 days |
| Full system with analytics and nurturing | 5–10 days |
Common mistakes in scoring implementation
- Too many criteria — model becomes opaque, managers stop trusting it.
- Negative scores below -100 can scale improperly — limit the range.
- Forgetting to update scoring when lead data changes — use onCrmLeadUpdate events.
For consultation, we can be reached via our website. Our lead scoring solution is better than generic scoring plugins by 40% in accuracy, according to client feedback.

