Website visitor identification skill
Design website visitor identification and deanonymization programs — company vs person-level ID, vendor selection (Clearbit/Breeze, RB2B, 6sense, etc.), privacy guardrails (GDPR/CCPA operational), Slack alert triage, and ICP routing to MQL or outbound triggers.
by LeadMagic·MIT license·★ 62 Stars on the repo·GitHub ↗
npx degit LeadMagic/gtm-skills/skills/inbound/website-visitor-identification#main ~/.claude/skills/website-visitor-identificationChecked ·commit main
Inside this skill
SKILL.md · the author's own words# Website Visitor Identification ## Overview Most B2B sites convert 2–3% of traffic to forms — the rest looks like dark traffic. Visitor identification (deanonymization) recovers **company** or **person** signals from anonymous sessions. The mistake: buying RB2B or 6sense before deciding identification **level**, running person-level ID on EU traffic without privacy review, or routing every alert to SDRs without an ICP filter. This skill is the **canonical home** for visitor ID strategy: person vs business decision tree, vendor comparison (Clearbit/Breeze, RB2B, 6sense, Demandbase, ZoomInfo WebSights, Leadfeeder/Dealfront, Warmly, Koala, Factors.ai, Albacross), privacy operational checklist (not legal advice), and GTM workflows from website visit → MQL or guardrailed outbound trigger.
Word-for-word excerpt, not a result. Read the full SKILL.md ↓
Files of Website visitor identification
Show the full text229 lines
Website Visitor Identification
Overview
Most B2B sites convert 2–3% of traffic to forms — the rest looks like dark traffic. Visitor identification (deanonymization) recovers company or person signals from anonymous sessions. The mistake: buying RB2B or 6sense before deciding identification level, running person-level ID on EU traffic without privacy review, or routing every alert to SDRs without an ICP filter.
This skill is the canonical home for visitor ID strategy: person vs business decision tree, vendor comparison (Clearbit/Breeze, RB2B, 6sense, Demandbase, ZoomInfo WebSights, Leadfeeder/Dealfront, Warmly, Koala, Factors.ai, Albacross), privacy operational checklist (not legal advice), and GTM workflows from website visit → MQL or guardrailed outbound trigger.
Frameworks Referenced
- HubSpot Breeze Intelligence (Clearbit heritage). Company Reveal on visit; form enrichment for person + firmographics in HubSpot-native stacks.
- Dharmesh Shah (HubSpot). Visitor ID instruments the Attract stage of
the inbound flywheel — permission-based follow-up after self-directed research.
references/dharmesh-shah-hubspot-inbound.md· Pattern 20 + 27. - Chris Walker (Refine Labs). Visitor ID is the measurable counterpart
to dark social — pair with
content-marketingandattribution, not replace them. Pattern 26 + 20. - Scott Brinker — MarTech consolidation. One company-ID owner + at most one
person-ID vendor until utilization proves ROI (
revops-tech-stack). - Winning by Design Bowtie. Visitor ID instruments the acquisition stage.
- SiriusDecisions Demand Waterfall. Intent signals feed MQL definitions —
coordinate with
inbound-triage.
When to Use
- "Identify companies visiting our website"
- "Set up Clearbit Reveal / Breeze Intelligence"
- "RB2B vs Warmly vs Koala"
- "Person-level vs company-level visitor ID"
- "Website intent data program"
- "GDPR / CCPA for visitor deanonymization" (operational — not legal counsel)
- "Slack alerts for website visitors"
- "Route visitor intent to sales"
Prerequisites
- ICP defined (
icp-scoring) - CRM with account + contact model
- Consent management for EU traffic (
1p-tagging-pixels) - UTM taxonomy (
campaign-governance) for source attribution
Step-by-Step Process
Phase 1: Choose Identification Level
Load references/person-vs-business-identification.md.
- Map primary motion: ABM account prioritization → company; authenticated PLG → person (1P); SDR outbound trigger → person (guardrailed).
- Run privacy go/no-go (
references/visitor-id-privacy-gtm.md) before person ID. - Document decision: level, lawful basis note (counsel confirms), geo scope.
Phase 2: Vendor Selection
Load references/visitor-id-vendor-comparison.md and
templates/visitor-id-vendor-eval-scorecard.md.
| Need | Directional pick |
|---|---|
| HubSpot stack | Breeze Intelligence / Clearbit Reveal |
| Enterprise ABM | 6sense OR Demandbase (one) |
| SMB company ID | Leadfeeder/Dealfront or Albacross (EU) |
| Person LinkedIn ID | RB2B (US-primary, privacy review) |
| PLG sales-assist | Koala or Warmly |
| Analytics + firm ID | Factors.ai |
Run 30-day pilot: ICP-qualified rate, false positive sample (n=50), cost per
qualified ID. Register vendor in gtm-spend-management → GTM-Data class.
Phase 3: Privacy & Consent (Operational)
Load references/visitor-id-privacy-gtm.md.
Disclaimer: Not legal advice — involve privacy counsel for person-level ID.
- Update privacy policy disclosures
- Fire visitor ID scripts after consent in EU
- Sign vendor DPA (
vendor-contracts) - Wire suppression list to CRM + sequencer
- Document security questionnaire triggers
Cross-links: references/gtm-data-exchange-playbook.md,
references/gtm-security-hygiene-basics.md,
references/security-questionnaire-deal-guide.md
Phase 4: Build Workflows
Load references/visitor-identification-playbook.md.
Company ID → MQL path:
Visit → vendor ID → enrich → ICP filter → intent score → inbound-triage routing
Person ID → outbound trigger (if approved):
Person match → privacy gate → ICP + confidence High → enrich email →
cold-email-strategy trigger branch (≤2 touches) → human on reply
Integrations: CRM account/contact, Slack (templates/visitor-alert-triage-checklist.md),
Clay/n8n webhooks, SEP enrollment rules.
Phase 5: Measurement & Governance
| Metric | Purpose |
|---|---|
| ICP-qualified ID rate | Quality over raw volume |
| Alert → meeting | ROI on person ID |
| False positive rate (sampled) | Vendor renewal input |
| Opt-out / complaint rate | Kill switch for person ID |
Quarterly: stack overlap audit (revops-tech-stack), spend review
(gtm-spend-management).
Output Format
Visitor identification program document:
- Identification level decision + rationale
- Vendor selection with eval scorecard
- Privacy operational checklist status
- Workflow diagrams (company MQL + person trigger)
- Slack channel design + triage SOP
- CRM field map + integration contracts
- Anti-pattern acknowledgments
See templates/output-template.md.
Quality Check
- Person vs business decision documented with decision tree
- ICP filter runs before CRM write or sequence enrollment
- Privacy checklist complete; person ID has counsel review if EU traffic
- Vendor comparison includes identification level column
- Slack triage checklist assigned to owners
- UTM/source attribution wired (
campaign-governance) - Vendor in spend register with owner + renewal
- Anti-patterns addressed: no spam-all, opt-outs honored
Common Pitfalls
Person ID without privacy review. GDPR/CCPA exposure. Fix: company ID default; person ID only after
visitor-id-privacy-gtm.mdgates + counsel.No ICP filter. SDRs chase ISPs, agencies, and universities. Fix: automate
icp-scoringbefore any alert or CRM create.Duplicate intent vendors. Clearbit + 6sense + Leadfeeder + RB2B all firing. Fix: Brinker consolidation — one company + one person max.
Creepy outbound copy. "I saw you on our pricing page" destroys trust. Fix: signal-anchored relevance via
cold-email-strategy— not surveillance tone.Ignoring opt-outs. Visitor ID contact opts out on email but stays in RB2B alerts. Fix: suppression sync across CRM, sequencer, Slack enrollment.
EU scripts before consent. Non-essential tags fire on page load. Fix:
1p-tagging-pixelsconsent-first deployment.
Execution Artifacts
references/framework-notes.md— frameworks and cross-linkstemplates/output-template.md— deliverable shellscripts/check-output.py— deliverable validatorreferences/visitor-identification-playbook.md— master guidereferences/person-vs-business-identification.md— decision matrixreferences/visitor-id-privacy-gtm.md— GDPR/CCPA operational checklistreferences/visitor-id-vendor-comparison.md— Clearbit, RB2B, 6sense, etc.templates/visitor-alert-triage-checklist.md— Slack triage SOPtemplates/visitor-id-vendor-eval-scorecard.md— vendor pilot scorecard
Related Skills
- inbound-triage — MQL routing after company ID + form fills
- cold-email-strategy — person ID → trigger-based outbound branch
- icp-scoring — filter before sales routing
- 1p-tagging-pixels — consent, pixels, identity resolution context
- revops-tech-stack — vendor selection and stack consolidation
- gtm-spend-management —
GTM-Datavendor roster and renewals - lead-enrichment — verify person match before outreach
- campaign-governance — UTM + visitor source attribution
- attribution — measurable demand layer alongside dark social
| 1 | |
| 2 | name website-visitor-identification |
| 3 | description >- |
| 4 | Design website visitor identification and deanonymization programs — company |
| 5 | vs person-level ID, vendor selection (Clearbit/Breeze, RB2B, 6sense, etc.), |
| 6 | privacy guardrails (GDPR/CCPA operational), Slack alert triage, and ICP routing |
| 7 | to MQL or outbound triggers. Use when implementing visitor ID, reverse-IP reveal, |
| 8 | intent data, or person-level LinkedIn visitor tracking. Triggers on: "visitor |
| 9 | identification", "deanonymization", "website intent", "Clearbit Reveal", "RB2B", |
| 10 | "who visited our website", "reverse IP", "WebSights", "Leadfeeder", "visitor ID |
| 11 | privacy". |
| 12 | license MIT |
| 13 | compatibility Claude Code, Codex, GitHub Copilot, Cursor, Gemini CLI, OpenCode, Goose, Hermes, Windsurf, Zed |
| 14 | metadata |
| 15 | version "1.0.0" |
| 16 | author LeadMagic |
| 17 | category inbound |
| 18 | tags [inbound, visitor-id, intent, deanonymization, privacy, abm, clearbit, rb2b] |
| 19 | related_skills |
| 20 | - inbound-triage |
| 21 | - icp-scoring |
| 22 | - 1p-tagging-pixels |
| 23 | - revops-tech-stack |
| 24 | - gtm-spend-management |
| 25 | - cold-email-strategy |
| 26 | - lead-enrichment |
| 27 | - campaign-governance |
| 28 | - attribution |
| 29 | frameworks |
| 30 | - "HubSpot Breeze Intelligence (Clearbit heritage) — Reveal & enrichment" |
| 31 | - "Dharmesh Shah (HubSpot) — Inbound Attract + measurable intent" |
| 32 | - "Chris Walker (Refine Labs) — Measurable demand vs dark social" |
| 33 | - "Scott Brinker — MarTech consolidation before new intent vendors" |
| 34 | - "Winning by Design — Bowtie acquisition stage instrumentation" |
| 35 | - "SiriusDecisions Demand Waterfall — MQL definitions from intent" |
| 36 | |
| 37 | |
| 38 | # Website Visitor Identification |
| 39 | |
| 40 | ## Overview |
| 41 | |
| 42 | Most B2B sites convert 2–3% of traffic to forms — the rest looks like dark |
| 43 | traffic. Visitor identification (deanonymization) recovers **company** or |
| 44 | **person** signals from anonymous sessions. The mistake: buying RB2B or 6sense |
| 45 | before deciding identification **level**, running person-level ID on EU traffic |
| 46 | without privacy review, or routing every alert to SDRs without an ICP filter. |
| 47 | |
| 48 | This skill is the **canonical home** for visitor ID strategy: person vs business |
| 49 | decision tree, vendor comparison (Clearbit/Breeze, RB2B, 6sense, Demandbase, |
| 50 | ZoomInfo WebSights, Leadfeeder/Dealfront, Warmly, Koala, Factors.ai, Albacross), |
| 51 | privacy operational checklist (not legal advice), and GTM workflows from |
| 52 | website visit → MQL or guardrailed outbound trigger. |
| 53 | |
| 54 | ## Frameworks Referenced |
| 55 | |
| 56 | **HubSpot Breeze Intelligence (Clearbit heritage).** Company Reveal on visit; |
| 57 | form enrichment for person + firmographics in HubSpot-native stacks. |
| 58 | **Dharmesh Shah (HubSpot).** Visitor ID instruments the **Attract** stage of |
| 59 | the inbound flywheel — permission-based follow-up after self-directed research. |
| 60 | `references/dharmesh-shah-hubspot-inbound.md` · Pattern 20 + 27. |
| 61 | **Chris Walker (Refine Labs).** Visitor ID is the **measurable** counterpart |
| 62 | to dark social — pair with `content-marketing` and `attribution`, not replace them. |
| 63 | Pattern 26 + 20. |
| 64 | **Scott Brinker — MarTech consolidation.** One company-ID owner + at most one |
| 65 | person-ID vendor until utilization proves ROI (`revops-tech-stack`). |
| 66 | **Winning by Design Bowtie.** Visitor ID instruments the **acquisition** stage. |
| 67 | **SiriusDecisions Demand Waterfall.** Intent signals feed MQL definitions — |
| 68 | coordinate with `inbound-triage`. |
| 69 | |
| 70 | ## When to Use |
| 71 | |
| 72 | "Identify companies visiting our website" |
| 73 | "Set up Clearbit Reveal / Breeze Intelligence" |
| 74 | "RB2B vs Warmly vs Koala" |
| 75 | "Person-level vs company-level visitor ID" |
| 76 | "Website intent data program" |
| 77 | "GDPR / CCPA for visitor deanonymization" (operational — not legal counsel) |
| 78 | "Slack alerts for website visitors" |
| 79 | "Route visitor intent to sales" |
| 80 | |
| 81 | ## Prerequisites |
| 82 | |
| 83 | ICP defined (`icp-scoring`) |
| 84 | CRM with account + contact model |
| 85 | Consent management for EU traffic (`1p-tagging-pixels`) |
| 86 | UTM taxonomy (`campaign-governance`) for source attribution |
| 87 | |
| 88 | ## Step-by-Step Process |
| 89 | |
| 90 | ### Phase 1: Choose Identification Level |
| 91 | |
| 92 | Load `references/person-vs-business-identification.md`. |
| 93 | |
| 94 | Map primary motion: ABM account prioritization → **company**; authenticated |
| 95 | PLG → **person (1P)**; SDR outbound trigger → **person (guardrailed)**. |
| 96 | Run privacy go/no-go (`references/visitor-id-privacy-gtm.md`) before person ID. |
| 97 | Document decision: level, lawful basis note (counsel confirms), geo scope. |
| 98 | |
| 99 | ### Phase 2: Vendor Selection |
| 100 | |
| 101 | Load `references/visitor-id-vendor-comparison.md` and |
| 102 | `templates/visitor-id-vendor-eval-scorecard.md`. |
| 103 | |
| 104 | | Need | Directional pick | |
| 105 | |---|---| |
| 106 | | HubSpot stack | Breeze Intelligence / Clearbit Reveal | |
| 107 | | Enterprise ABM | 6sense OR Demandbase (one) | |
| 108 | | SMB company ID | Leadfeeder/Dealfront or Albacross (EU) | |
| 109 | | Person LinkedIn ID | RB2B (US-primary, privacy review) | |
| 110 | | PLG sales-assist | Koala or Warmly | |
| 111 | | Analytics + firm ID | Factors.ai | |
| 112 | |
| 113 | Run 30-day pilot: ICP-qualified rate, false positive sample (n=50), cost per |
| 114 | qualified ID. Register vendor in `gtm-spend-management` → `GTM-Data` class. |
| 115 | |
| 116 | ### Phase 3: Privacy & Consent (Operational) |
| 117 | |
| 118 | Load `references/visitor-id-privacy-gtm.md`. |
| 119 | |
| 120 | **Disclaimer:** Not legal advice — involve privacy counsel for person-level ID. |
| 121 | |
| 122 | Update privacy policy disclosures |
| 123 | Fire visitor ID scripts after consent in EU |
| 124 | Sign vendor DPA (`vendor-contracts`) |
| 125 | Wire suppression list to CRM + sequencer |
| 126 | Document security questionnaire triggers |
| 127 | |
| 128 | Cross-links: `references/gtm-data-exchange-playbook.md`, |
| 129 | `references/gtm-security-hygiene-basics.md`, |
| 130 | `references/security-questionnaire-deal-guide.md` |
| 131 | |
| 132 | ### Phase 4: Build Workflows |
| 133 | |
| 134 | Load `references/visitor-identification-playbook.md`. |
| 135 | |
| 136 | **Company ID → MQL path:** |
| 137 | |
| 138 | Visit → vendor ID → enrich → ICP filter → intent score → inbound-triage routing |
| 139 | |
| 140 | |
| 141 | **Person ID → outbound trigger (if approved):** |
| 142 | |
| 143 | Person match → privacy gate → ICP + confidence High → enrich email → |
| 144 | cold-email-strategy trigger branch (≤2 touches) → human on reply |
| 145 | |
| 146 | |
| 147 | Integrations: CRM account/contact, Slack (`templates/visitor-alert-triage-checklist.md`), |
| 148 | Clay/n8n webhooks, SEP enrollment rules. |
| 149 | |
| 150 | ### Phase 5: Measurement & Governance |
| 151 | |
| 152 | | Metric | Purpose | |
| 153 | |---|---| |
| 154 | | ICP-qualified ID rate | Quality over raw volume | |
| 155 | | Alert → meeting | ROI on person ID | |
| 156 | | False positive rate (sampled) | Vendor renewal input | |
| 157 | | Opt-out / complaint rate | Kill switch for person ID | |
| 158 | |
| 159 | Quarterly: stack overlap audit (`revops-tech-stack`), spend review |
| 160 | (`gtm-spend-management`). |
| 161 | |
| 162 | ## Output Format |
| 163 | |
| 164 | Visitor identification program document: |
| 165 | Identification level decision + rationale |
| 166 | Vendor selection with eval scorecard |
| 167 | Privacy operational checklist status |
| 168 | Workflow diagrams (company MQL + person trigger) |
| 169 | Slack channel design + triage SOP |
| 170 | CRM field map + integration contracts |
| 171 | Anti-pattern acknowledgments |
| 172 | |
| 173 | See `templates/output-template.md`. |
| 174 | |
| 175 | ## Quality Check |
| 176 | |
| 177 | [ ] Person vs business decision documented with decision tree |
| 178 | [ ] ICP filter runs before CRM write or sequence enrollment |
| 179 | [ ] Privacy checklist complete; person ID has counsel review if EU traffic |
| 180 | [ ] Vendor comparison includes identification level column |
| 181 | [ ] Slack triage checklist assigned to owners |
| 182 | [ ] UTM/source attribution wired (`campaign-governance`) |
| 183 | [ ] Vendor in spend register with owner + renewal |
| 184 | [ ] Anti-patterns addressed: no spam-all, opt-outs honored |
| 185 | |
| 186 | ## Common Pitfalls |
| 187 | |
| 188 | **Person ID without privacy review.** GDPR/CCPA exposure. Fix: company ID |
| 189 | default; person ID only after `visitor-id-privacy-gtm.md` gates + counsel. |
| 190 | |
| 191 | **No ICP filter.** SDRs chase ISPs, agencies, and universities. Fix: |
| 192 | automate `icp-scoring` before any alert or CRM create. |
| 193 | |
| 194 | **Duplicate intent vendors.** Clearbit + 6sense + Leadfeeder + RB2B all |
| 195 | firing. Fix: Brinker consolidation — one company + one person max. |
| 196 | |
| 197 | **Creepy outbound copy.** "I saw you on our pricing page" destroys trust. |
| 198 | Fix: signal-anchored relevance via `cold-email-strategy` — not surveillance tone. |
| 199 | |
| 200 | **Ignoring opt-outs.** Visitor ID contact opts out on email but stays in |
| 201 | RB2B alerts. Fix: suppression sync across CRM, sequencer, Slack enrollment. |
| 202 | |
| 203 | **EU scripts before consent.** Non-essential tags fire on page load. Fix: |
| 204 | `1p-tagging-pixels` consent-first deployment. |
| 205 | |
| 206 | ## Execution Artifacts |
| 207 | |
| 208 | `references/framework-notes.md` — frameworks and cross-links |
| 209 | `templates/output-template.md` — deliverable shell |
| 210 | `scripts/check-output.py` — deliverable validator |
| 211 | `references/visitor-identification-playbook.md` — **master guide** |
| 212 | `references/person-vs-business-identification.md` — decision matrix |
| 213 | `references/visitor-id-privacy-gtm.md` — GDPR/CCPA operational checklist |
| 214 | `references/visitor-id-vendor-comparison.md` — Clearbit, RB2B, 6sense, etc. |
| 215 | `templates/visitor-alert-triage-checklist.md` — Slack triage SOP |
| 216 | `templates/visitor-id-vendor-eval-scorecard.md` — vendor pilot scorecard |
| 217 | |
| 218 | ## Related Skills |
| 219 | |
| 220 | **inbound-triage** — MQL routing after company ID + form fills |
| 221 | **cold-email-strategy** — person ID → trigger-based outbound branch |
| 222 | **icp-scoring** — filter before sales routing |
| 223 | **1p-tagging-pixels** — consent, pixels, identity resolution context |
| 224 | **revops-tech-stack** — vendor selection and stack consolidation |
| 225 | **gtm-spend-management** — `GTM-Data` vendor roster and renewals |
| 226 | **lead-enrichment** — verify person match before outreach |
| 227 | **campaign-governance** — UTM + visitor source attribution |
| 228 | **attribution** — measurable demand layer alongside dark social |
| 229 |
Discussion
Alternatives
Browse more free Claude skills or everything in Sales.