Self-Hosted Campaign Tracking.
Full Control.

Self-hosted click and conversion tracking platform with multi-touch attribution, advanced analytics, and complete data ownership. No third-party dependencies.

Prosper202 ClickServer Dashboard
Clicks Today
24,847
Conversions
1,284
ROI
247%
Source Available
BSL + Commercial
Self-Hosted
PHP 8.3+

Everything You Need to Track,
Analyze, and Optimize

A comprehensive campaign tracking platform with the tools performance marketers demand.

Click Tracking

Real-time click capture with sub-ID parameters, referrer tracking, and automatic IP/UA logging.

Conversion Tracking

Server-to-server postback and pixel tracking support with revenue, payout, and status fields.

Multi-Touch Attribution

Five attribution models including last-touch, time-decay, position-based, and algorithmic.

Campaign Management

Create, edit, and manage campaigns with offer rotation, link cloaking, and traffic rules.

12+ Report Types

Keywords, geo, device, browser, OS, referrer, ISP, landing page, and custom dimension reports.

Smart Rotator

Rule-based traffic distribution with weighted rotation, geo-targeting, and device filtering.

Landing Page Management

Manage landing page variants with built-in A/B testing and performance comparison tools.

Fraud Detection

IPQS integration, browser fingerprinting, bot detection, and suspicious traffic flagging.

Geo-Targeting

MaxMind GeoIP integration for country, region, and city-level targeting and reporting.

REST API v3

OpenAPI 3.0 documented API with bearer token auth, full CRUD for campaigns, clicks, and conversions.

CLI Tools

PHP and Go CLIs for automation with AI agents like Claude Code, Codex, and OpenClaw — plus CI/CD integration.

Docker Support

One-command deployment with Docker Compose, pre-configured with PHP, MySQL, Nginx, and Memcached.

Multi-Touch Attribution Engine

Understand the true value of every touchpoint in the customer journey with five built-in attribution models.

Credit Distribution

0%
Email
0%
Social
0%
Display
0%
Search
100%
Last Click

Credit Distribution

5%
Email
10%
Social
15%
Display
30%
Search
40%
Last Click

Credit Distribution

40%
First Touch
10%
Social
10%
Display
10%
Search
40%
Last Click

Credit Distribution

20%
Email
20%
Social
20%
Display
20%
Search
20%
Last Click

Credit Distribution (ML-Weighted)

12%
Email
8%
Social
22%
Display
25%
Search
33%
Last Click

Go beyond last-click attribution. Understand which touchpoints truly drive conversions and allocate your budget with confidence using data-driven models.

Every Metric That Matters

Track performance across every dimension with 12+ built-in report types and real-time dashboards.

142,847
Total Clicks
8,291
Conversions
$47,832
Revenue
312%
ROI

Revenue Trend (7 days)

Top Sources

Google Ads Facebook Native

Conversion Rate

5.8%
+0.4% from last week

12+ Report Types

Keywords

Track performance by search keyword and sub-ID

Country & Geo

Geographic performance with country, region, city

Device

Mobile, desktop, and tablet breakdowns

Browser

Chrome, Firefox, Safari, and browser version data

Operating System

Windows, macOS, iOS, Android, Linux reports

Referrer

Track traffic sources and referring domains

ISP / Carrier

Network provider performance analysis

Landing Pages

Compare landing page variant performance

Revenue & Payout

Financial reports with profit margins and EPC

Day of Week / Hour

Temporal performance patterns and trends

Attribution

Multi-touch attribution model comparison

Custom Dimensions

User-defined tracking parameters and filters

Built for Automation

Full REST API and CLI tools designed for both human developers and AI agents — integrate Prosper202 ClickServer into your workflow, CI/CD pipeline, or let AI handle it.

Powerful Developer & AI Tools

Automate campaign management, pull reports, and integrate with your existing tools. CLI-first design works seamlessly with AI coding agents like Claude Code, Codex, and OpenClaw.

OpenAPI 3.0 documented
Bearer token authentication
Full CRUD for all resources
JSON response format
Pagination & filtering
AI agent friendly (Claude Code, Codex, OpenClaw)
# List all campaigns curl -X GET https://your-domain.com/api/v3/campaigns \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json" # Response { "data": [ { "id": 1, "name": "Summer Campaign", "status": "active", "clicks": 24847, "conversions": 1284 } ], "meta": { "total": 42, "page": 1 } }
# List campaigns with PHP CLI $ bin/p202 campaign:list ┌────┬──────────────────┬─────────┬─────────────────┐ │ ID │ Name │ Payout │ Network │ ├────┼──────────────────┼─────────┼─────────────────┤ │ 1 │ Summer Campaign │ $2.50 │ MaxBounty │ │ 2 │ Winter Promo │ $4.00 │ ClickDealer │ │ 3 │ Flash Sale │ $1.75 │ MaxBounty │ └────┴──────────────────┴─────────┴─────────────────┘ # Today's performance summary $ bin/p202 report:summary --period today
# List campaigns as JSON $ p202 campaign list --json # Create a new campaign $ p202 campaign create \ --aff_campaign_name "Q1 Push Notifications" \ --aff_campaign_payout "2.50" \ --aff_network_id 4 # Pull today's performance summary $ p202 report summary --period today

Just Ask. The CLI Does the Rest.

AI coding agents like Claude Code use the Prosper202 ClickServer CLI as naturally as you'd talk to a colleague. Here's a real workflow.

Claude Code + Prosper202 ClickServer CLI
You
How are my campaigns doing today?
Claude Code

Let me pull today's performance summary.

$ p202 report summary --period today

Today across all campaigns: 12,847 clicks, 634 conversions, $4,291 revenue against $1,520 in costs for a net profit of $2,771. Overall ROI is 182%.

You
Break that down by campaign — which ones are losing money?
Claude Code

I'll pull a campaign breakdown sorted by net profit to surface the losers first.

$ p202 report breakdown -b campaign --period today -s total_net --sort_dir ASC

Two campaigns are in the red today:

CampaignClicksConv.RevenueCostNetROI
EU Display Test1,84223$138$221-$83-38%
TikTok Broad2,10441$246$289-$43-15%
Summer Push5,391312$2,184$530+$1,654312%

"EU Display Test" and "TikTok Broad" are both net negative. The other 5 campaigns are profitable — "Summer Push" is your clear winner at 312% ROI.

You
Show me where the Summer Push conversions are coming from by country
Claude Code

Pulling the geo breakdown for that campaign.

$ p202 report breakdown -b country --period today \ --aff_campaign_id 3 -s total_leads --sort_dir DESC
CountryClicksConv.RevenueEPC
US2,640167$1,169$0.44
UK1,07862$434$0.40
CA85648$336$0.39
DE50222$154$0.31
AU31513$91$0.29

US drives the most volume, but UK and CA have strong EPC at $0.40 and $0.39 — nearly matching the US at $0.44 with likely cheaper traffic costs.

You
Clone that campaign and set up a rotator to only send UK and CA traffic
Claude Code

I'll clone the campaign, create a rotator, and add a geo rule.

$ p202 campaign clone 3 --name "Summer Push — UK/CA" # Created campaign #15 $ p202 rotator create --name "UK/CA Geo Filter" --default_campaign 15 # Created rotator #8 $ p202 rotator rule-create 8 \ --rule_name "UK/CA Only" \ --criteria_json '[{"type":"country","statement":"is","value":"UK"},{"type":"country","statement":"is","value":"CA"}]'

Done. Campaign #15 "Summer Push — UK/CA" is live with rotator #8 filtering to UK and CA only. Point your traffic source at the new tracker URL and those high-EPC geos will get dedicated budget.

Source Available. Self-Hosted.
Your Data.

No vendor lock-in. No third-party tracking. Complete control over your marketing data.

Full Control

Self-hosted on your infrastructure. Your data stays on your servers — no third-party data sharing, ever.

Community Driven

BSL licensed with commercial options. Contributions welcome. Built by performance marketers, for performance marketers.

Extensible

REST API, CLI tools, and webhook integrations. Build custom dashboards and automate your workflow.

Up and Running in Minutes

Choose your preferred installation method and start tracking in under five minutes.

# 1. Clone the repository $ git clone https://github.com/tracking202/prosper202.git $ cd prosper202 # 2. Install PHP dependencies $ composer install --no-dev # 3. Configure $ cp 202-config-sample.php 202-config.php $ nano 202-config.php # Add your MySQL credentials # 4. Point your web server (Nginx) to the project root # 5. Visit your domain in the browser to complete setup
# Clone and start with Docker Compose $ git clone https://github.com/tracking202/prosper202.git $ cd prosper202 $ docker-compose up -d # Visit http://localhost:8080 to complete setup

System Requirements

PHP 8.3+
MySQL 8.0+
Nginx
Composer