8 Commits

Author SHA1 Message Date
ac0b241bb6 feat: add getDailyConversions() — demo boots, downloads, abandoned carts
Daily time-series data for conversion funnel metrics, compatible with
NVD3 chart format. Abandoned carts = visited cart but no order confirmation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 19:38:00 +00:00
633d56a39e feat: add VisitorStats class for real human traffic analytics
JS-verified, bot-filtered visitor counts, daily charts, country/device
breakdowns, period comparisons. Used by SEO dashboard and PS main dashboard.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 16:13:06 +00:00
24130e28e0 feat: use country code prefix in visitor IDs (PL1, SG3 instead of #K7)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:44:47 +00:00
046dd67c1a feat: add unique short ID suffix to visitor labels
Each visitor gets a deterministic 2-char suffix (letter+digit) from IP hash,
e.g. "Product Browser #K7". Distinguishes multiple visitors with same behavior.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:41:31 +00:00
64fd1f8330 feat: add primaryLabel() for behavior-based visitor identification
Priority: buyer > cart > demo download > demo browse > returning > visitor.
Replaces random Stripe-style names with informative labels.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:18:37 +00:00
ffb57aeece feat: add VisitorNickname class for deterministic visitor identification
Stripe-style memorable names (e.g. "Mossy Jackal") generated from IP hash.
Includes behavior tag system based on page view history (cart-abandoner,
demo-downloader, product-browser, returning, etc.)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:12:58 +00:00
15f436ff47 Add URL tracking, bot-aware cleanup, and request URL helper
- PageViewsTable: add `url` column with migration, orphan cleanup, batched deletes
- SessionTable: add cleanOldSessionsSmart() with separate bot/real retention
- SessionInstaller: add cleanAllSmart() orchestrating all table cleanup
- SessionTrait: add mprGetRequestUrl() and mprDetectPageType() helpers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 11:33:18 +00:00
info@myprestarocks
0feba3038f Add .gitignore and .htaccess for security
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-31 19:40:28 +01:00