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.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
TheGET /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. Theicp_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.
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.