X378 S2S Postback Tracking
Advanced S2S postback tracking WordPress plugin with admin settings, custom events, URL parameter capture, and event logging dashboard.
by https://github.com/austxio · github.com/austxio/x378-wps2s · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/austxio/x378-wps2s/archive/refs/heads/main.zipA WordPress plugin for Server-to-Server (S2S) postback tracking. Built for affiliate marketers and media buyers who need to track ad conversions — from lead to registration and beyond — without relying on third-party JavaScript pixels.
What it does
When a visitor arrives from an ad campaign with a tracking parameter (e.g. ?subid=abc123), the plugin captures that identifier, stores it in a cookie, and fires postback events to your tracking platform at key conversion points.
Example flow:
- Visitor clicks an ad → lands on
yoursite.com/?subid=ros5p1.15.1r8s9&external_id=1064951680577028096&cost=0 - Plugin captures
subid,external_id, andcost→ fires a lead postback - Visitor clicks a registration link → plugin fires a register postback
- Your tracking platform receives both events tied to the original
subid
Features
- Configurable postback URL — change your tracking endpoint from the admin panel, no code editing required
- Custom events — define unlimited conversion events (lead, register, deposit, first bet, etc.) each with its own trigger type, URL pattern, status value, and payout
- URL parameter capture — track
subid,external_id,cost, or any custom parameters from your ad traffic - Fire-once control — prevent duplicate postbacks with per-event "once only" cookies
- Event log with dashboard widget — every postback is logged with timestamp, subid, status, IP, and page URL; viewable in WP Admin and as a dashboard widget
- Elementor compatible — MutationObserver re-binds click tracking on dynamically loaded content
- Debug mode — toggle browser console logging to verify postbacks during setup
Installation
- Download the latest release zip
- Go to WordPress Admin → Plugins → Add New → Upload Plugin
- Upload the zip file and click Activate
- Navigate to X378 Tracking → Settings in the sidebar to configure
Configuration
General Settings
| Setting | Description | Default |
|---|---|---|
| Postback URL | Base URL for all postback events | — |
| Cookie Name | Name of the tracking cookie | x378_subid |
| Cookie Duration | How long the cookie persists (days) | 30 |
| URL Parameters | Comma-separated params to capture from ad URLs | subid, external_id, cost |
Events
Each event is configured with:
| Field | Description |
|---|---|
| Event Name | Internal label (e.g. lead, register, deposit) |
| Status Value | Sent as &status= in the postback URL |
| Payout | Sent as &payout= in the postback URL |
| Trigger Type | pageview (fires on page load) or click (fires on link click) |
| URL Pattern | For pageview: matches current URL. For click: matches the link's href |
| Fire Once Only | Uses a cookie to prevent duplicate postbacks per visitor |
Default Events
The plugin ships with two pre-configured events:
Lead — fires once on the first page load when subid is present in the URL.
GET {postback_url}?subid={subid}&status=lead&payout=0
Register — fires when a visitor clicks any link containing member.ufa378.com/register in its href.
GET {postback_url}?subid={subid}&status=register&payout=0
File Structure
x378-s2s-tracking/
├── x378-s2s-tracking.php # Main plugin file
├── includes/
│ ├── class-x378-settings.php # Admin settings page and event log page
│ ├── class-x378-tracker.php # Frontend tracking script (JS injection)
│ ├── class-x378-logger.php # Database event logging
│ ├── class-x378-dashboard.php # WP dashboard widget
│ └── class-x378-ajax.php # AJAX handler for frontend → DB logging
└── assets/
├── admin.css # Admin panel styles
└── admin.js # Admin panel interactions (add/remove events)
Requirements
- WordPress 5.0+
- PHP 7.4+
License
GPL v2 or later