מחלקת המכירות שלך מבזבזת 70% מזמנה על לידים שלעולם לא קונים. ניקוד לידים (Lead Scoring) מקצה אוטומטית נקודות לכל מבקר באתר על סמך התנהגות: צפיות בדפים, הורדות תוכן, הגשות טפסים. ברגע שליד מגיע לסף מסוים, הוא מועבר ל-CRM כליד חם. יישמנו מערכת זו עבור תריסר פרויקטים B2B — בממוצע, המרת המכירות גדלה פי 2.5. מערכת ניקוד לידים באתר שלך מטפלת בניקוד התנהגותי ומבצעת אוטומציה של קווליפיקציה. שירות פיתוח מערכת ניקוד לידים מותאם אישית שלנו מתמקד בניקוד לידים התנהגותי ובאינטגרציית CRM. עם 8 שנות ניסיון בנישת האוטומציה של ניקוד לידים ולמעלה מ-10 פרויקטים מוצלחים, הצוות המנוסה שלנו מבטיח תהליך מוכח. אנו מספקים תקופת תמיכה של 30 יום לאחר ההשקה ומבטיחים פרטיות נתונים. עלות פרויקט טיפוסית נעה בין $3,000 ל-$6,000, עם חיסכון שנתי של עד $15,000 מהפחתת קווליפיקציה ידנית.
מדוע ניקוד לידים סטנדרטי נכשל ללא הגדרה נכונה?
הקצאת 5 נקודות עבור צפייה בדף אינה מספיקה. יש להתחשב בחזרתיות של אירועים — לא לספור בקשת הדגמה כפולה, לשקול אותות שליליים (ביטול הרשמה, 30 יום של חוסר פעילות), ולכוונן דינמית את ספי השלבים. ללא זאת, המערכת מייצרת לידים חמים חיוביים-שגויים שמסיחים את דעתם של מנהלי המכירות. ההגדרה שלנו כוללת 20+ סוגי אירועים עם נקודות מ-25- עד 50+ וארבע רמות לידים: קר, חם, חם מאוד, MQL/SQL. קווליפיקציה אוטומטית מהירה פי 4 מקווליפיקציה ידנית.
כיצד להגדיר משקלי אירועים?
משקל האירוע נקבע לפי קרבתו לרכישה: צפייה בדף מחירים — 15 נקודות, הגשת טופס יצירת קשר — 40, התחלת ניסיון — 50. אותות שליליים (ביטול הרשמה, יותר מ-30 יום ללא פעילות) מפחיתים את הציון ב-10–20 נקודות. אנו ממליצים לבדוק את המשקלים רבעונית על סמך המרת לידים לעסקאות — זה משפר את דיוק התחזיות. לדוגמה, בפרויקט אחד הגדלנו את המשקל של צפייה בדף מקרי בוחן מ-5 ל-10 לאחר שזיהינו מתאם חזק עם רכישה.
MQL ו-SQL: שלבי קווליפיקציה
ליד משווק מוסמך (MQL) — ליד שמגיע ל-80 נקודות מועבר אוטומטית ל-CRM עבור קמפיינים לטיפוח. ליד מוסמך מכירות (SQL) — 100 נקודות או יותר דורש שיחת טלפון מיידית מנציג מכירות. ספים שונים מונעים ממכירות ליצור קשר מוקדם מדי, ומאפשרים לשיווק לטפח לידים חמים.
| קריטריון | ללא ניקוד לידים | עם ניקוד לידים |
|---|---|---|
| זמן לקווליפיקציה של ליד אחד | 10–15 דקות | מיידי (אוטומטי) |
| דיוק בתעדוף | נמוך (סובייקטיבי) | גבוה (מבוסס נתונים) |
| טיפול ב-1000 לידים בחודש | 2–3 מנהלים במשרה מלאה | מנהל אחד (רק לידים חמים) |
| המרת מכירות | 1–3% | 5–8% (מיקוד ב-MQL) |
| עלות יישום | 0 (עלות זמן מנהלים) | $2,000 עד $8,000 |
| שלב | טווח נקודות | פעולת מנהל |
|---|---|---|
| קר | 0–29 | דוא"ל אוטומטי מטפטף |
| חם | 30–59 | שיחת טלפון שבועית |
| חם מאוד | 60–79 | שיחת טלפון בעדיפות תוך יום |
| MQL | 80–99 | ליד נוצר ב-CRM, הודעה ל-SDR |
| SQL | 100+ | שיחת טלפון מיידית מנציג מכירות |
ארכיטקטורת המערכת
מודל נתונים
// Схема таблиц
Schema::create('lead_scores', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id')->nullable()->constrained()->nullOnDelete();
$table->string('session_id')->index();
$table->string('email')->nullable()->index();
$table->integer('score')->default(0);
$table->json('score_breakdown');
$table->string('stage')->default('cold');
$table->timestamp('mql_reached_at')->nullable();
$table->timestamp('qualified_at')->nullable();
$table->timestamps();
$table->index(['score', 'stage']);
});
Schema::create('lead_events', function (Blueprint $table) {
$table->id();
$table->foreignId('lead_score_id')->constrained()->cascadeOnDelete();
$table->string('event');
$table->integer('points');
$table->json('metadata')->nullable();
$table->timestamps();
});
הגדרת נקודות
// config/lead_scoring.php
return [
'events' => [
'page_view_pricing' => 15,
'page_view_case_study' => 10,
'page_view_demo' => 20,
'demo_requested' => 50,
'whitepaper_downloaded' => 20,
'webinar_registered' => 25,
'free_trial_started' => 40,
'pricing_calculator_used' => 30,
'comparison_page_viewed' => 15,
'contact_form_submitted' => 40,
'email_opened' => 5,
'email_clicked' => 10,
'return_visit' => 5,
'visited_3_days_in_row' => 15,
'company_size_50_plus' => 20,
'role_decision_maker' => 25,
'budget_confirmed' => 30,
'unsubscribed' => -20,
'inactive_30_days' => -10,
'student_email_domain' => -25,
],
'thresholds' => [
'warm' => 30,
'hot' => 60,
'mql' => 80,
'sql' => 100,
],
];
שירות ניקוד
class LeadScoringService {
public function track(string $sessionId, string $event, array $metadata = [], ?int $userId = null): LeadScore {
$points = config("lead_scoring.events.{$event}", 0);
$lead = LeadScore::firstOrCreate(
['session_id' => $sessionId],
['user_id' => $userId, 'score_breakdown' => []]
);
if ($userId && !$lead->user_id) {
$lead->update(['user_id' => $userId]);
}
if (!empty($metadata['email']) && !$lead->email) {
$lead->update(['email' => $metadata['email']]);
}
$onceEvents = ['demo_requested', 'free_trial_started', 'contact_form_submitted'];
if (in_array($event, $onceEvents)) {
if (LeadEvent::where('lead_score_id', $lead->id)->where('event', $event)->exists()) {
return $lead;
}
}
LeadEvent::create([
'lead_score_id' => $lead->id,
'event' => $event,
'points' => $points,
'metadata' => $metadata,
]);
$breakdown = $lead->score_breakdown ?? [];
$breakdown[$event] = ($breakdown[$event] ?? 0) + $points;
$newScore = $lead->score + $points;
$newStage = $this->calculateStage($newScore);
$lead->update([
'score' => $newScore,
'score_breakdown' => $breakdown,
'stage' => $newStage,
]);
$thresholds = config('lead_scoring.thresholds');
$prevStage = $this->calculateStage($lead->score - $points);
if ($newStage !== $prevStage) {
$this->onStageChange($lead, $prevStage, $newStage);
}
return $lead->fresh();
}
private function calculateStage(int $score): string {
$thresholds = config('lead_scoring.thresholds');
if ($score >= $thresholds['sql']) return 'sql';
if ($score >= $thresholds['mql']) return 'mql';
if ($score >= $thresholds['hot']) return 'hot';
if ($score >= $thresholds['warm']) return 'warm';
return 'cold';
}
private function onStageChange(LeadScore $lead, string $from, string $to): void {
Log::info("Lead stage change: {$from} → {$to}", ['lead_id' => $lead->id, 'score' => $lead->score]);
if ($to === 'mql') {
$lead->update(['mql_reached_at' => now()]);
SyncLeadToCrm::dispatch($lead);
Notification::route('slack', '#leads-hot')
->notify(new MqlReachedNotification($lead));
}
if ($to === 'sql') {
$lead->update(['qualified_at' => now()]);
$salesManager = User::salesManager()->inRandomOrder()->first();
$salesManager?->notify(new SqlLeadAssigned($lead));
}
}
} מעקב אירועים בפרונטאנד
class LeadTracker {
private sessionId: string;
constructor() {
this.sessionId = sessionStorage.getItem('ls_session') || this.generateId();
sessionStorage.setItem('ls_session', this.sessionId);
}
async track(event: string, metadata: Record<string, any> = {}): Promise<void> {
try {
await fetch('/api/lead-score/track', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
session_id: this.sessionId,
event,
metadata: {
...metadata,
page: window.location.pathname,
},
}),
});
} catch (e) {
// Не блокируем UI при ошибке трекинга
}
}
private generateId(): string {
return Date.now().toString(36) + Math.random().toString(36).substr(2);
}
}
export const tracker = new LeadTracker();
לוח בקרה למנהל
SELECT ls.email, ls.score, ls.stage, ls.mql_reached_at,
COUNT(le.id) AS events_count,
MAX(le.created_at) AS last_activity
FROM lead_scores ls
JOIN lead_events le ON le.lead_score_id = ls.id
WHERE ls.stage IN ('mql', 'sql', 'hot')
AND ls.mql_reached_at >= now() - interval '7 days'
GROUP BY ls.id, ls.email, ls.score, ls.stage, ls.mql_reached_at
ORDER BY ls.score DESC; תוצרים הנכללים בפיתוח סוהר
- מערכת ניקוד ניתנת להגדרה עם 20+ אירועים (ניתן לשינוי ללא מתכנת).
- מעקב פרונטאנד ללא פגיעה בביצועים (fetch אסינכרוני, אינו חוסם את ממשק המשתמש).
- העברה אוטומטית של לידים ל-CRM פופולריים (AmoCRM, Bitrix24, Salesforce) בהגעה ל-MQL.
- לוח בקרה למנהל עם סינון לפי שלבים והדגשת לידים חמים.
- תיעוד מקיף על כללי הניקוד והוראות למשווקים.
- תמיכה טכנית ותחזוקה ל-30 יום לאחר ההשקה.
- הדרכה לצוות שלך (שעתיים אונליין).
תהליך היישום
- אנליטיקה: איסוף קריטריוני הקווליפיקציה הנוכחיים שלך ומסע הלקוח הטיפוסי.
- עיצוב: הגדרת משקלי אירועים, ספי שלבים, אינטגרציות.
- יישום: בניית בק ופרונטאנד, חיבור CRM דרך API.
- בדיקות: אימות דיוק הניקוד על נתונים היסטוריים.
- השקה: פריסה והדרכת הצוות שלך.
לוח זמנים ועלות
לוח זמנים — בין 8 ל-14 ימי עבודה, תלוי במורכבות ה-CRM ובמספר האירועים המותאמים אישית. עלות יישום — בין $2,000 ל-$8,000, תלוי באינטגרציות ובמספר האירועים. עלות פרויקט ממוצעת היא $3,000–$6,000, עם חיסכון שנתי טיפוסי של $15,000 מהפחתת קווליפיקציה ידנית. צור קשר — נמצא את הפתרון הטוב ביותר לתקציב שלך.
טעויות נפוצות ביישום ניקוד לידים
- ספירת אותו אירוע מספר פעמים (יש צורך בדגל חד-פעמי).
- התעלמות מאותות שליליים — ליד עשוי להיות קר גם אם הוא לוחץ הרבה.
- אי עדכון ספים לאורך זמן — התנהגות הקהל משתנה, יש להתאים את הכללים.
שותפי האינטגרציה המוסמכים שלנו ל-CRM ו-8+ שנות ניסיון מבטיחים יישום חלק. קבל ייעוץ על הגדרת ניקוד לידים — נעריך את הפרויקט שלך.
ניקוד לידים — מתודולוגיה המתוארת בויקיפדיה.







