Help CenterContacts & sequences

Engagement scores and tiers

Last updated July 21, 2026

In short. Every contact gets a 0-100 score recalculated nightly from opens, clicks, and sequence completions, with recent activity weighted heaviest. Tiers run Hot (80+) down to Inactive (under 20).

Every contact carries an engagement score from 0 to 100, recalculated nightly at 02:00 UTC, plus a tier label derived from it. The score measures email behavior only: opens, clicks, and sequence activity. It is deliberately not lead scoring; nothing about job title, company size, or pipeline stage enters the number.

Hot80 to 100Warm60 to 79Cool40 to 59Cold20 to 39Inactive0 to 19
Engagement tiers by score, hottest first. The same colors mark contacts throughout the app.

How is the score calculated?

Four additive parts and one penalty, with the real weights:

  • Recent open: up to 25 points, decaying by half a point per day since the last open.
  • Recent click: up to 35 points, decaying by a full point per day. Clicks start higher and fade faster, because a click is a stronger signal whose relevance ages quicker.
  • Lifetime totals: 1 point per open up to 15, 2 per click up to 20, and 5 per completed sequence up to 10. The caps are what keep a long-tenured but currently cold contact from coasting on history.
  • Inactivity penalty: 20 points off when the contact hasn't opened or clicked in 60 days. Never-engaged contacts carry it too.

The result clamps to 0 through 100. Suppressed contacts always score exactly 0, no matter their history.

What do the tiers mean in practice?

Hot (80 to 100) is realistically a contact who clicked in the last few days. Warm (60 to 79) is recent, real engagement. Cool (40 to 59) usually means opens without clicks, or engagement that's starting to age. Cold (20 to 39) is thin or stale activity, and Inactive (under 20) is the penalty zone: nothing in 60 days or nothing ever.

Because recency decays daily, scores drift downward on their own. A contact you stop mailing will slide from Hot toward Inactive over a few weeks without anyone touching anything, which is the intended behavior; the score describes the relationship as it stands, not at its peak.

Where does the score show up?

On each contact (score card, tier badge, last-engaged date, and a history sparkline), in the contacts table as a sortable column and a tier filter, and in the Hot-contacts widget on the analytics dashboard. Sequence condition steps can branch on the score, which is the operational payoff: "if score is above 60, send the meeting ask; otherwise send the nurture piece."

Why do my contacts all show low scores?

Three common reasons, all mechanical. On the Free tier, scoring is off entirely (mailbox-only sending doesn't produce the tracking events the score feeds on, so a score would just read as universally cold). On paid tiers, mailbox sends don't track opens and clicks by default, so sequence-only engagement is invisible to the score unless tracking is opted in under Settings → Sending, or the engagement comes from broadcasts. And the nightly schedule means today's activity shows tomorrow, after the 02:00 UTC recalculation.

The score's raw material inherits open tracking's limitations, so tiers driven purely by opens deserve the same skepticism as open rates themselves; the open-rates guide covers that. Clicks are the sturdier tier fuel.