Skip to main content
Contacts represent identified individual people on your site — matched via email, form fills, CRM sync, or the enrichment API. While Accounts track company-level activity, contacts let you understand exactly which person from that company is engaging with your site and how well they fit your ideal customer profile.

What is a contact?

Knock2 identifies contacts through multiple signals. A visitor becomes a contact when Knock2 can associate a session with a real individual. This happens through:

Known visitor sessions

Returning visitors who were previously identified carry their identity forward across sessions automatically.

Form submissions

When a visitor submits a form on your site containing their email address, Knock2 matches or creates a contact record.

CRM sync

Contacts synced from HubSpot or Salesforce are matched to live visitor sessions as they browse.

Enrichment API

Calling POST /v1/enrich with an email address triggers contact enrichment and creates or updates a contact record.
Each contact is linked to an Account record for the company they belong to, giving you a unified view of both the organization and the individual.

Contact data fields

Identity

string
required
The unique Knock2 identifier for the contact (e.g. con_01HX...).
string
The contact’s first name.
string
The contact’s last name.
string
The contact’s full display name.
string
The contact’s job title (e.g. "VP of Engineering").
string
The contact’s primary email address.
string
The contact’s work email address, if separately identified.
string
The contact’s personal email address, if separately identified.
string
URL to the contact’s LinkedIn profile (e.g. "https://linkedin.com/in/jane-doe").
string
The contact’s seniority level (e.g. "Director", "C-Suite", "Individual Contributor").
string[]
An array of department classifications for the contact (e.g. ["Engineering", "Product"]).
string[]
An array of phone numbers associated with the contact.

Location

string
The contact’s city.
string
The contact’s state or region.
string
The contact’s country (ISO 3166-1 alpha-2 code, e.g. "US").
string
A human-readable combined location string (e.g. "New York, NY, US").

Identification metadata

string
Describes how this contact was identified (e.g. "form_fill", "crm_sync", "enrichment", "known_visitor").
boolean
Whether this contact currently passes your configured ICP qualification criteria. Recalculated whenever your ICP definition or the contact’s data changes.
boolean
Whether the contact’s business email address passed validation checks.
string
ISO 8601 timestamp of the most recent enrichment run for this contact.

Company association

string
The Knock2 Account ID of the company this contact belongs to.
string
The associated company’s display name.
string
The associated company’s primary domain.
string
The associated company’s industry classification.
string
The associated company’s banded headcount range.
string
The associated company’s banded annual revenue range.

ICP scoring

number
A 0–100 score representing how well this contact fits your ideal customer profile. Higher is better.
string
The ICP persona label assigned to this contact (e.g. "Champion", "Economic Buyer").
string
A plain-language explanation of why this contact received their score (e.g. "Senior engineering leader at a Series B SaaS company with 51-200 employees.").

CRM data

string
The deal source from your connected CRM. Only populated when a CRM integration is active.
string
The current deal stage from your CRM.
string
The matching HubSpot Company record ID.
string
The matching Salesforce Account record ID.

Visit and attribution

string
ISO 8601 timestamp of this contact’s most recent session.
string
The URL or path of the most recently visited page.
number
Cumulative time in seconds this contact has spent on your website across all sessions.
string
The UTM source captured on the contact’s first or most recent attributed session.
string
The UTM medium for attribution.
string
The UTM campaign name for attribution.
string
ISO 8601 timestamp of when Knock2 first identified this contact.

Filtering contacts

The GET /v1/contacts endpoint accepts several query parameters for targeted lookups: For example, to fetch all contacts from a specific company:

ICP scoring

Every contact carries an ICP score that reflects both firmographic fit and behavioral signals. The icp_scoring_score field gives you a numeric value from 0 to 100, while icp_scoring_reason provides a plain-language explanation so your team understands the “why” behind the score — not just the number.
ICP scores are recalculated automatically as new visit data arrives and as enrichment data is refreshed. You can also retrieve the full score history for any contact via the Lead Scores API.
Use is_qualified as a fast boolean gate for routing and alerting workflows — it reflects whether the contact currently meets all of the threshold conditions you’ve defined in your ICP configuration.