Guides

What SLA Should I Set for Identified-Visitor Follow-up?

The full follow-up SLA math for identified website visitors: tier definitions, reply windows, escalation paths, and a template you can copy into your ops doc.

Elene Marjanidze Elene Marjanidze · · 10 min read
What SLA Should I Set for Identified-Visitor Follow-up?

Your team just turned on visitor identification. Leads are landing in the CRM. Some reps are jumping on them in 10 minutes, some are letting them sit for 3 days, and nobody has agreed on what “fast” actually means.

Two weeks in, a director asks: what is our SLA for these? And the answer is usually a shrug.

This is a common moment. At Leadpipe we see it every week as teams roll out identification for the first time. The lead source is new, so the existing MQL-to-SDR SLA does not quite fit, but nobody has written a replacement.

This post is the replacement. It is the SLA math for identified-visitor follow-up, by tier, by channel, with an escalation path and a sample doc you can lift into your own playbook. Pair this with the pricing-page reply-speed SLA post for the tightest subset.

The answer up front

An identified visitor is somewhere between an inbound demo request and a cold-list contact. They chose to visit your site, so they are warmer than a list pull. They did not fill a form, so they are colder than a hand-raised MQL. Your SLA has to reflect that middle position, and it has to split by intent.

Here is the SLA structure we recommend, split into four tiers:

TierWho it isReply SLAChannel
Tier 1Pricing, demo, compare page + ICP match + decision-maker title7 minutesHuman email or LinkedIn
Tier 2Product, case study, integrations page + ICP match1 hourHuman email
Tier 3Any page + ICP match, no high-intent signal24 hoursAutomated + human review
Tier 4Out-of-ICP, wrong geography, personal email, student, job seekerNo SLASuppressed or nurture only

The reply SLAs are wall-clock minutes from webhook received to first outbound message. Not from when the rep logged in. Not from when the alert was acknowledged. From webhook.

Why these numbers are not arbitrary

The founding study on reply speed is still InsideSales / Harvard Business Review, 2011. Contact a web lead within 5 minutes, you are roughly 100x more likely to reach them than at 30 minutes. Reach them within an hour, you are 7x more likely to qualify them than at 2 hours. The gradient has not changed in the 15 years since, in any of the replications we have seen.

Identified visitors slot into that curve like this:

Reply-rate effect by time from visit (directional, normalized to 5-min baseline)
0 to 7 min   ████████████████████  100%
7 to 30 min  ██████████████        ~70%
30 to 60 min ██████                ~30%
1 to 4 hrs   ███                   ~12%
4 to 24 hrs  ██                     ~6%
Next day     ▌                      <2%

For Tier 1, the window is measured in minutes because the visitor is in active evaluation mode. For Tier 2, the window is measured in hours because the intent is real but less urgent. For Tier 3, the window is measured in a day because you are triggering re-engagement rather than chasing a live session.

The playbook: writing your follow-up SLA

Step 1: Define the tiering rules (15 minutes of config)

The tiers have to be mechanical, not aspirational. A rep should be able to look at a single alert and know without interpretation which tier it is.

Use three inputs:

  1. Page bucket. Pricing, demo, compare, buy, ROI calculator, checkout-adjacent pages are Tier 1 triggers. Product, case study, feature, integration pages are Tier 2. Blog, help docs, about, careers are Tier 3 or below.
  2. ICP match. Hard rules you can evaluate automatically: company size range, industry, geography, role seniority.
  3. Suppression filters. Existing customer, active opportunity, competitor, job seeker, personal email domain, out-of-geography. See the exclusion post for the suppression logic.

Everything that survives the filters and hits page + ICP is Tier 1, 2, or 3. Everything else is Tier 4 and gets no outreach SLA.

Step 2: Write reply SLAs per tier (copy this into your ops doc)

Identified-visitor follow-up SLA v1
==================================

Tier 1 (high-intent page + ICP + decision-maker)
  Reply within:         7 minutes
  Channel:              1-to-1 email (LinkedIn as fallback)
  Alert:                Slack DM to account owner
  Escalation:           At 5 min unacked, backup rep; at 10 min, manager
  Coverage hours:       8am to 6pm rep-local, Mon to Fri
  Off-hours:            Queue and send first-thing next business AM

Tier 2 (mid-intent page + ICP)
  Reply within:         1 hour
  Channel:              1-to-1 email
  Alert:                Slack channel post, account owner tagged
  Escalation:           At 45 min, backup rep
  Coverage hours:       Business hours same as Tier 1

Tier 3 (low-intent page, still ICP)
  Reply within:         24 hours
  Channel:              Automated sequence, human reviews before send
  Alert:                Daily digest email to SDR team
  Escalation:           None, but weekly audit for missed reviews

Tier 4 (out-of-ICP or suppressed)
  Reply within:         N/A
  Channel:              None
  Alert:                Log only, weekly review for list hygiene

Drop this in Notion, Confluence, or wherever your go-to-market ops docs live. Everyone on sales should be able to quote the Tier 1 number from memory.

Step 3: Instrument each tier to measure the clock (1 day of work)

You cannot enforce an SLA you cannot measure. At minimum capture:

  • alert_sent_at (when the Slack / CRM alert fired)
  • webhook_received_at (the actual timestamp the visit was identified)
  • first_reply_sent_at (when the first outbound message went out)
  • tier (1, 2, 3, or 4)
  • account_owner (the rep or queue)
  • sla_status (“hit” or “miss”)

The SLA clock starts at webhook_received_at, not at alert_sent_at. That is the difference between measuring rep behavior and measuring the whole system. Webhook delivery latency should be seconds, not minutes. If it is minutes, you have an infrastructure problem, not a rep problem.

Calculate:

  • Median time-to-first-reply per tier per week
  • 90th percentile time-to-first-reply per tier per week
  • SLA hit rate per tier per rep per week
  • Reply rate from the prospect per tier per week

Step 4: Build the escalation tree (one afternoon)

An SLA without escalation is a suggestion. Build these paths:

  • Tier 1 unclaimed at 5 min: auto-escalate to a named backup rep via Slack DM
  • Tier 1 unclaimed at 10 min: escalate to the sales manager
  • Tier 1 still unclaimed at 30 min: mark as SLA-missed, route to shared queue, page the manager in #sales-ops
  • Tier 2 unclaimed at 45 min: escalate to backup or round-robin to next available SDR
  • Tier 3 not reviewed in 24 hrs: auto-release from owner, roll into next day’s digest

Every escalation should cost something visible. A Slack ping the manager will see, a shared-queue entry that shows up in the Monday review, something that produces a light consequence. Not punitive, just visible.

Step 5: Tune the SLA numbers after two weeks of real data (recurring)

The numbers above are a starting point. Your team’s actual constraints might be tighter or looser:

  • If Tier 1 volume is 10 alerts per day and your 90th percentile is already 6 minutes, tighten the SLA to 5.
  • If Tier 1 volume is 50 alerts per day and your team is small, loosen to 15 minutes and focus on the subset inside your target-account list.
  • If Tier 2 reply rates are flat, it is not the clock. Fix the copy or the filters.

Review SLA metrics weekly for the first month, biweekly after that. The SLA is a living doc.

Sample Slack alert for each tier

Tier 1 alert (Slack DM, not channel):

:fire: Tier 1 alert - 7 min SLA (escalates at 5:00)

Alex Chen · VP RevOps · Acorn Technologies (215 FTE · SaaS · Austin)
/pricing 2m 40s, /compare 1m 10s, /integrations/salesforce 25s
3rd visit in 30 days · alex@acorntech.com

Pre-drafted email: [link]
React :handled: when sent.

Tier 2 alert (Slack channel post):

:zap: Tier 2 visit - 1 hr SLA

Morgan Rios · Head of Growth · Ferry Labs (72 FTE)
/product/orbit (3m 5s), /case-studies/hubspot (1m 40s)
1st visit · morgan@ferrylabs.com

Owner: @tara (rotation)

Tier 3 alert (end-of-day digest email):

Daily digest - 14 Tier 3 visitors ready for review
Sort by ICP fit score, pick the top 5 for outreach, rest into nurture.

Common failure modes

The channel trap. Tier 1 alerts in a shared #sales-hot channel produce 4x slower medians than Tier 1 alerts in DM. Always DM the owner.

The “everyone is Tier 1” problem. Teams relax the tiering rules to include mid-funnel visits as Tier 1. Reps burn out in 3 weeks. Keep Tier 1 genuinely narrow.

Missing the webhook-to-alert latency. If your webhook-to-Slack path takes 60 seconds because of a Zapier delay, you have 6 minutes of SLA instead of 7. Measure end to end.

No off-hours plan. Off-hours visits pile up. Monday at 9am, the Tier 1 queue has 40 items and nobody can hit SLA on any of them. Either auto-send off-hours or batch-process with a pre-agreed “first-thing Monday AM” target.

SLA without copy quality. A 5-minute reply with a generic template converts worse than a 30-minute reply with a tailored message. Both matter.

SLA without suppression. You will be paging reps about existing customers and competitors at 3am. Build the exclusion list before you turn on alerts.

No EU/UK handling. Leadpipe defaults to company-level data for EU/UK visitors. If a Tier 1 alert for an EU visitor only contains firmographics and no person, your reply template cannot say “Hi Alex.” Build an EU template that addresses the company and invites self-identification.

Measurement: how to know the SLA is working

Weekly scorecard for the RevOps lead:

MetricTargetWhy it matters
Tier 1 median reply<7 minProcess health
Tier 1 p90 reply<15 minTail / routing health
Tier 1 SLA hit rate>90%Rep accountability
Tier 2 median reply<45 minProcess health
Tier 2 SLA hit rate>85%Rep accountability
Tier 3 review rate>80% within 24 hrPipeline hygiene
Reply rate, Tier 115 to 25%Copy + timing combined
Meetings booked / Tier 18 to 15%Output metric

Two anti-patterns to watch for:

  • Tight SLA, flat meetings. You are hitting the clock but the copy is wrong or the tiering is sloppy. Spot-check 20 sent replies and read them.
  • Good meetings, missed SLA. You are converting the ones you respond to, but missing too many. Scale the team, add a backup rotation, or tighten the Tier 1 filter.

What this unlocks

A clear SLA does three things for a sales team:

  1. It turns identification from a “nice to have” into a recurring operational beat. Alerts come in, alerts get handled, the clock is on.
  2. It gives reps cover for saying no to Tier 3 volume. If Tier 1 is the SLA, Tier 3 is not the priority by design, not because the rep is ignoring it.
  3. It gives leadership a lens for coaching. Median reply time by rep is the fairest reply-speed coaching metric there is.

If you do nothing else this quarter, write the SLA doc and pin it in your ops channel. The mechanics of the alert stack are covered across Slack visitor alerts, auto-routing, and the Salesforce integration.

On US B2B traffic, Leadpipe identifies 30-40%+ of visitors deterministically with full contact data. The accuracy test scored us at 8.7/10 against RB2B at 5.2 and Warmly at 4.0. Good SLA only works if the underlying identification is accurate. Upstream garbage produces downstream wasted reps.

Leadpipe identifies 30-40%+ of your US B2B visitors with full contact data on the Pro plan at $147/mo. No credit card to start the 500-lead trial. Start identifying visitors →