# Lead Score

> How Ghost scores every contact 0–100 against your ICP, what the A–D bands mean, exactly how points are awarded, and how the score decides who gets messaged first.

Source: https://www.growwithghost.io/docs/find/lead-score/

Lead Score answers one question: **of everyone in your account, who should Ghost message first?**

Every contact gets a score from **0 to 100** and a band from **A** to **D**. The score decides the order contacts leave the sending queue, so your best-fit, highest-intent people hear from you while they're still warm, instead of waiting behind thousands of rows that happened to be imported earlier.

> **Note:** A low score never stops anyone being contacted. It only means they're queued later.

## Where you see it

| Place | What it shows |
|-------|---------------|
| Contacts table | A **Lead Score** column with the number and band |
| Contacts table | **Lead Score: high to low** sorting, and a band filter (including **A & B only**) |
| Contact detail | A **Lead Score** tab with the ICP it was scored against and every point awarded |
| Contacts toolbar | A **Lead Score** button to score new contacts on demand |
| Engagement feed | A band badge on posts by people in your Contacts |

Hover over a badge to see the reasons. Each line is a real criterion and the points it added, so every score can be explained.

## The bands

| Band | Score | Meaning |
|------|-------|---------|
| **A** | 70–100 | Strong fit: matches your ICP and shows buying signals |
| **B** | 50–69 | Good fit: clearly on target, fewer signals |
| **C** | 30–49 | Partial fit: some match, thin evidence |
| **D** | 0–29 | Weak fit: little overlap with your ICP |

## How the score is built

The score is rules-based, not AI. The same contact and the same ICP always give the same number. It has two parts:

- **ICP fit**: up to **70 points**
- **Buying signals**: up to **30 points**

### ICP fit (up to 70)

Fit is measured against the ICP in your [persona](https://www.growwithghost.io/docs/getting-started/persona).

| Criterion | Weight | Compared with |
|-----------|--------|---------------|
| Job title matches a target role | 34 | Target roles |
| Seniority matches | 14 | Seniority levels |
| Industry matches | 12 | Target industries |
| Location matches | 10 | Target locations and countries |
| Company size in range | 8 | Company size min and max |
| Intent keyword match | 8 | Buying-intent keywords and topics |
| Revenue in range | 8 | Target revenue ranges |
| Tech stack match | 6 | Target tech stack |

Two rules make this work on real-world data:

1. **Missing data counts as unknown, not as a miss.** Most LinkedIn-sourced contacts have a headline but no industry, company size or tech stack. If a criterion can't be checked, because your ICP doesn't define it or the contact has no data for it, it's left out of the calculation instead of scored as zero. A small adjustment stops a single thin match looking like a perfect fit.
2. **Titles are matched on meaning, not exact text.** Target roles include your ICP's buyer persona titles. A full phrase match scores highest, a strong word overlap scores about two-thirds, and a single shared word about a third. Seniority words such as head, chief, VP, founder, director, partner and owner earn partial seniority credit even without an exact match.

If nothing can be checked at all (no ICP set, or an empty contact), the contact gets a neutral **35**.

### Buying signals (up to 30)

| Signal | Points |
|--------|--------|
| Engaged with content you track ([signals](https://www.growwithghost.io/docs/find/signals)) | 12 |
| Has messaged you before | 10 |
| Company is hiring | 8 |
| Started their role in the last 6 months | 6 |
| Active on LinkedIn in the last 30 days | 6 |
| Already connected to you on LinkedIn | 4 |
| Has an email address | 3 |
| Active on LinkedIn in the last 90 days | 2 |
| Open to work | 2 |
| No LinkedIn activity for 90+ days | −3 |
| A score from your CSV import (0–10) | −12 to +12 |

Follower count is deliberately not a signal. If you import a CSV with a score column (such as a 0–10 fit score from another tool), it's folded in: 5 is neutral, 10 adds 12, 0 takes 12 away.

Engagement carries the most weight on purpose: someone commenting on a competitor's posts is the strongest buying signal on LinkedIn.

### Activity checks

New contacts get a LinkedIn activity label so you message people who are actually around. Usually this is free: if Ghost already saw them engage or message you, that's the activity date. Everyone else gets a light "recent posts" check, limited to 20 per connected LinkedIn profile per day, run in the background and paused while a connection is unhealthy. Results are cached for 30 days. Anyone not checked yet shows as **Unknown** and scores neutrally.

### Exclusions and disqualification

| Trigger | Effect |
|---------|--------|
| Title on your excluded list | −25 and disqualified |
| Industry on your excluded list | −15 and disqualified |
| Country on your excluded list | −30 and disqualified |
| Matches a disqualifying factor | −20 and disqualified |

The points are shown in the breakdown so you can see why, but what actually happens is a cap: a disqualified contact scores **20 at most**, so they go to the back of the queue. They're never deleted. To make sure someone is never messaged, **Blacklist** them in Contacts.

## Adjusting a score yourself

Know something the data doesn't? Open the contact, go to the **Lead Score** tab and click **Adjust score** to move it up or down in steps of 5, with an optional note ("Met at an event"). Your adjustment is kept when the contact is re-scored, and sorting, filters and campaign priority all use the adjusted score. **Reset to automatic** removes it.

## How the score changes sending

1. Whenever a contact's score changes, it's copied to their campaign enrolment.
2. Each time Ghost sends for a campaign, about **75%** of the slots go to the highest-scoring contacts who are due.
3. The other **25%** go to the people who've waited longest, and anyone waiting more than **14 days** comes first. Nobody waits forever.
4. It stops when that LinkedIn profile's [daily limit](https://www.growwithghost.io/docs/outbound/limits-and-safety) is reached.

Re-ranking only happens inside a campaign. It never starves another campaign, and pacing and daily limits work exactly as before. If you'd rather send strictly in the order people were added, ask us to turn lead priority off for your account.

## When scoring runs

| Trigger | What gets scored |
|---------|------------------|
| Importing from Find People, the ICP Agent, CSV, a LinkedIn search, or enriching contacts | The new contacts, straight away |
| New contacts from signal scans | On the next background run, or when you click **Lead Score** |
| **Lead Score** button | Contacts that are unscored, or were scored before your ICP last changed |
| You apply a change to your ICP | Every contact not yet messaged, straight away |

> **Note:** Once a contact's first campaign message has been sent, their score is frozen, so their place in the sequence doesn't keep shifting. Scores are calculated against your most recently updated active ICP.

## Tuning your scores

If too many contacts land in band D, the fix is nearly always the ICP, not the scoring:

- **Add more target roles**, including the informal titles your buyers really use.
- **Set seniority levels.** That's 14 points, and it can usually be read from a headline.
- **Add buying-intent keywords** that appear in headlines and bios.
- **Don't rely on firmographics alone.** Industry, company size and tech stack are skipped when contacts don't carry them. An ICP made only of those can't score LinkedIn-sourced contacts well.
- **Use exclusion lists instead of deleting contacts**, so the queue sorts itself.

## FAQ

### Does a low Lead Score stop someone being messaged?

No. A low score only means they're contacted later. Disqualified contacts are capped at 20 and moved to the back of the queue, but they're never deleted or skipped automatically. Use **Blacklist** in Contacts to stop someone being messaged.

### Is Lead Score calculated by AI?

No. It's a fixed set of rules, so the same contact and ICP always produce the same score, and every point can be traced to a reason.

### Can I override a score?

Yes. Open the contact, go to the **Lead Score** tab and use **Adjust score**. Your adjustment survives re-scoring and is used for sorting and campaign priority.

### Why is everyone in band C or D?

Usually your ICP relies on fields your contacts don't have, such as industry or tech stack. Add target roles, seniority levels and intent keywords, which can be matched against a LinkedIn headline.
