What is Spotter?
Spotter is a client-side JavaScript API that:- Identifies companies visiting your website in real-time
- Returns rich company data including industry, size, location, and contact info
- Works automatically with the Snitcher tracker once your domains are authorised
- Integrates natively with Google Analytics 4
Spotter is included with your Snitcher subscription. It uses the same identification data that powers your dashboard.
Setup
Before using Spotter, you need to authorise the domains that are allowed to make Spotter API requests. This prevents unauthorised websites from using your identification quota.- Go to your Snitcher Dashboard
- Navigate to Settings > Integrations > Spotter
- Add the domains you want to authorise (e.g.
*.example.com) - Click Save
Access Identification Data
Once your domains are authorised and the Snitcher tracker is installed, you can access identification data in two ways:Option 1: Using getSpotterIdentification() (Recommended)
Call the method directly on the Snitcher object:
Option 2: Using a Callback
If you prefer a callback-based approach, definewindow.SpotterSettings before the tracker loads:
No token or API key is required. Spotter authenticates using the
Origin header of your request, matched against your authorised domains.Response Structure
Successful Identification
When a company is identified, you receive:Callback Format (Legacy)
If using the callback approach, you receive data in the legacy format:Unidentified Visitor
When using the callback format, if the visitor can’t be identified:getSpotterIdentification():
Common Use Cases
Personalize Headlines
Show Relevant Content by Industry
Adjust Pricing Display
Track High-Value Visitors
Company Data Reference
| Field | Type | Description |
|---|---|---|
name | string | Company name |
website | string | Primary domain |
industry | string | Industry category |
size | string | Employee range (e.g., “51-200 employees”) |
founded | number | Year founded |
email | string | Primary contact email |
phone | string | Primary phone number |
address | object | Full location details |
profiles | array | Social media profiles |
tags | array | Your custom tags |
segments | array | Matching segments |
See Company Sizes and Company Industries for all possible values.
Native Integrations
Snitcher can automatically sync identification data to:Google Analytics 4
Sync company data as GA4 user properties
Google Tag Manager
Push data to the dataLayer for GTM
Best Practices
- Handle missing data gracefully: Not all companies have complete profiles
- Don’t block page load: Identification is async; design for delayed data
- Cache is automatic: Data is cached in sessionStorage to avoid repeated calls
- Respect privacy: Don’t use identification in ways that might concern visitors
Troubleshooting
Getting a 401 error or no identification data
Getting a 401 error or no identification data
- Make sure your domain is listed under Settings > Integrations > Spotter in the dashboard
- If using subdomains, add a wildcard entry like
*.example.com - Changes to authorised domains may take up to 10 minutes to take effect
getSpotterIdentification() returns undefined
getSpotterIdentification() returns undefined
- Ensure the tracker is fully initialized before calling
- Use
Snitcher.on('initialized', callback)to wait for initialization - Check browser console for errors
Always getting 'isp' type or success: false
Always getting 'isp' type or success: false
- Residential/consumer IPs don’t identify to companies
- VPN users may not be identified
- Test from a business network or office
Callback never fires
Callback never fires
- Ensure
SpotterSettingsis defined before the tracking script - Consider using
getSpotterIdentification()instead