SSP Documentation
Overview
SSP Visitor Tracker is a privacy-first analytics solution for WordPress. Track visitor sessions, page views, traffic sources, and conversions without relying on external services like Google Analytics. All data stays on your server.
| Admin Location | Dashboard sidebar → Visitor Tracker |
|---|---|
| Requirements | WordPress 5.0+, PHP 7.4+ |
| Data Storage | Custom database tables (auto-created) |
| External Services | None — 100% self-hosted |
Dashboard
The Dashboard provides a high-level view of your site’s traffic and engagement.
Stats Cards
| Visitors Today | Unique sessions today with pageview count. |
|---|---|
| Visitors Yesterday | Yesterday’s traffic for quick comparison. |
| This Week | Week-to-date visitor count. |
| This Month | Month-to-date visitor count. |
| Avg. Session | Average time visitors spend on your site, plus pages per session. |
| Bounce Rate | Percentage of single-page sessions under 10 seconds. Color-coded: green (<40%), yellow (40-70%), red (>70%). |
| Conversions | Purchase events this month with conversion rate. |
| Add to Carts | Total add-to-cart events this month. |
Top Pages
Shows your most viewed pages this month with total views and unique visitors.
Traffic Sources
Breakdown of where your visitors come from, categorized by type (social, organic, paid, direct, referral).
Devices & Browsers
Distribution of desktop vs. mobile vs. tablet traffic, plus browser breakdown.
Real-Time Visitors
The Real-Time tab shows visitors currently active on your site.
What It Shows
- Active count — Number of visitors in the last 5 minutes.
- Current page — What each visitor is viewing right now.
- Device — Desktop, mobile, or tablet.
- Browser — Chrome, Safari, Firefox, etc.
- Last activity — When they last loaded a page.
Sessions
The Sessions tab lists individual visitor sessions from the last 7 days.
Session List
| Source | Where the visitor came from (with color-coded badge). |
|---|---|
| Device | Desktop, mobile, or tablet. |
| Pages | Number of pages viewed in the session. |
| Duration | Total time on site. |
| Date & Time | When the session started. |
Session Detail View
Click “View” on any session to see the complete visitor journey:
- Session metadata — Device, browser, OS, source, duration, IP address.
- Page-by-page timeline — Every page visited with time spent on each.
- Events — Any add-to-cart, checkout, or purchase events that occurred.
Pages
The Pages tab shows all pages visited this month, ranked by views.
Metrics Per Page
| Page | Page title and full URL. |
|---|---|
| Views | Total pageviews. |
| Unique | Number of unique sessions that viewed this page. |
Page Title Detection
The plugin intelligently extracts page titles using:
- Open Graph
og:titlemeta tag - First
<h1>element on the page - Document title (cleaned of site name suffix)
- URL path as fallback
Traffic Sources
The Sources tab provides detailed traffic attribution.
Source Types
| Facebook, Twitter/X, Instagram, LinkedIn, Reddit, Pinterest, TikTok, YouTube. | |
| Organic | Search engines (Google, Bing, DuckDuckGo, Yahoo, Yandex, Baidu). Shows search keywords when available. |
| Paid | Google Ads (gclid), Facebook Ads (fbclid), Bing Ads (msclkid), or UTM medium = cpc. |
| Direct | No referrer detected — typed URL, bookmarks, or links from apps. |
| Referral | Links from other websites. |
| UTM source or medium contains “email” or “newsletter”. |
UTM Parameter Support
The plugin recognizes standard UTM parameters:
utm_source— Traffic source (e.g., “facebook”, “newsletter”)utm_medium— Marketing medium (e.g., “cpc”, “email”, “social”)utm_campaign— Campaign name
Click ID Detection
Automatically detects paid traffic from:
gclid— Google Adsfbclid— Facebook/Instagram Adsmsclkid— Microsoft/Bing Adsttclid— TikTok Ads
In-App Browser Detection
When users click links from social media apps (which don’t send referrers), the plugin detects the in-app browser and attributes correctly to Facebook, Instagram, Reddit, Twitter, LinkedIn, Pinterest, or TikTok.
Events
The Events tab tracks user interactions beyond pageviews.
Automatic WooCommerce Events
| view_product | Visitor views a product page. |
|---|---|
| add_to_cart | Product added to cart (includes product name and quantity). |
| view_cart | Visitor views the cart page. |
| begin_checkout | Visitor reaches the checkout page. |
| purchase | Order completed (thank you page reached). |
Event Summary
Shows event counts by type for the last 7 days — quickly see how many add-to-carts, checkouts, and purchases occurred.
Recent Events Feed
Chronological list of recent events with details like product name, scroll depth, or file downloaded.
Campaign Links
Create trackable short links for marketing campaigns in the Campaigns tab.
Creating a Campaign Link
- Enter a Campaign Label (e.g., “Reddit”, “Newsletter”, “Twitter Bio”).
- Enter the Destination URL — where visitors should land.
- Click Generate Link.
- Copy the generated short URL and share it.
How It Works
When someone clicks your campaign link:
- Click is counted immediately.
- A tracking cookie is set (90-day attribution window).
- UTM parameters are appended to the destination URL.
- Visitor is redirected to your destination.
- If they complete a purchase, the conversion is attributed to this campaign.
Campaign Metrics
| Clicks | Total times the link was clicked. |
|---|---|
| Conversions | Purchases attributed to this campaign. |
| Rate | Conversion rate (conversions ÷ clicks). |
Link Format
Campaign links use the format: https://yoursite.com/?ssp_src=campaign-slug
Settings
Configure tracking behavior in the Settings tab.
General Settings
| Timezone | All dates and times are displayed in this timezone. Default: America/Detroit. |
|---|---|
| Data Retention | Automatically delete data older than this many days (7-365). Default: 90 days. |
Privacy Options
| Don’t track admin users | Excludes logged-in administrators from tracking. Recommended. |
|---|---|
| Don’t track logged-in users | Excludes all logged-in users from tracking. |
| Filter bot traffic | Automatically filters known bots, crawlers, and scrapers. |
Bot Filtering
When enabled, the plugin automatically filters out non-human traffic.
Detected Bots Include
- Search engine crawlers (Googlebot, Bingbot, Yandex, Baidu, DuckDuckBot)
- SEO tools (Ahrefs, SEMrush, Screaming Frog, Moz)
- Social media preview bots (Facebook, Twitter, LinkedIn, WhatsApp, Telegram, Discord, Slack)
- Monitoring services (Pingdom, Uptime monitors)
- Headless browsers (PhantomJS, Headless Chrome)
- HTTP clients (curl, wget, Python requests, Axios)
- AI crawlers (GPTBot, ClaudeBot)
Privacy & Self-Exclusion
Self-Exclusion Link
Exclude yourself from tracking on any device or browser:
- Go to Settings → find the Self-Exclusion Link section.
- Copy the unique URL.
- Open that URL in any browser or device you want excluded.
- A cookie is set that tells the tracker to ignore your activity for ~1 year.
Regenerate Token
If your exclusion URL is compromised, click “Regenerate Token” to create a new one. Old links will stop working.
Data You Collect
The plugin stores:
- Session ID (random, not personally identifiable)
- IP address
- User agent (browser/device info)
- Pages visited with timestamps
- Referrer URL
- Events (add-to-cart, checkout, purchase)
Data You Don’t Collect
- No cookies for cross-site tracking
- No fingerprinting
- No data shared with third parties
- No personal information (name, email) unless you add custom events
FAQ
What counts as a “session”?
A session is a group of pageviews from the same visitor. Sessions are identified by a random ID stored in the browser’s sessionStorage. A new session starts when the visitor opens a new browser tab/window or returns after their session expires.
How is duration calculated?
Duration = time between first and last pageview in the session. If a visitor views only one page, duration is 0 (counted as a bounce if under 10 seconds).
Why is my traffic showing as “Direct”?
Direct traffic means no referrer was detected. Common causes: links from HTTPS to HTTP, in-app browsers that strip referrers, bookmarks, typed URLs, links from PDFs/documents, or privacy extensions.
WooCommerce events not tracking?
Events are detected by page URL patterns (/cart/, /checkout/, /thank-you/, /product/) and button classes (.add_to_cart_button). Custom themes may need adjustments if they use non-standard URLs or classes.
My own visits are being tracked?
- Enable “Don’t track admin users” in Settings.
- Use the Self-Exclusion Link on all your devices.
Database growing too large?
- Reduce Data Retention period in Settings.
- Click “Clear All Data” for a fresh start.
- Cleanup runs automatically daily.
How does conversion attribution work?
When a purchase event occurs, the plugin looks at the session’s first referrer. If that referrer came from a campaign link (or has a matching utm_source), the conversion is credited to that campaign. Attribution window is 90 days via cookie.
Can I export the data?
Yes. Click “Export CSV” in the header to download all visitor logs (up to 10,000 rows) including session ID, IP, device, browser, OS, referrer, URL, page title, and timestamp.
Does this work with caching plugins?
Yes. Tracking happens via JavaScript after page load, so it works with page caching, CDNs, and static site optimizations.
Is this GDPR compliant?
The plugin stores IP addresses and uses a session cookie. For GDPR compliance, you should disclose analytics in your privacy policy. Consider enabling “Don’t track logged-in users” and shorter data retention. The plugin does not share data externally or use tracking for advertising.