CouponPilot — a coupon and cashback site that fills itself from your affiliate networks
Most coupon scripts hand you an empty database. CouponPilot connects directly to Awin and CJ Affiliate, pulls your joined programmes, imports their live promotions, and keeps everything current on a schedule. You paste your API credentials once and the site starts filling itself.
It tracks the money, not just the clicks
Every outbound click is logged, cloaked, and tagged with its own SubID before it leaves your site. When your network posts a commission, CouponPilot matches it back to the exact click, coupon and user that produced it.
Your dashboard shows commission by store, by coupon, by category and by day, with EPC and conversion rates alongside. Most coupon scripts show you traffic. This one shows you earnings.
Three revenue streams, all built in
-
Affiliate commissions — Awin and CJ connectors ship live, with a pluggable connector interface for adding more.
-
Cashback — share part of your commission with signed-up users to build repeat traffic, backed by a proper append-only ledger with pending, confirmed and paid balances.
-
Ad sales — a self-serve advertiser portal where brands pay you directly for featured placements and banner slots, via Stripe or PayPal, with signature-verified webhooks and automated campaign expiry.
Built for messy real-world feeds
Affiliate feeds are chaotic. Titles carry raw prices, codes buried in strings, inconsistent discount formats, duplicates across sources.
CouponPilot’s normalizer parses discounts correctly, extracts and strips promo codes, deduplicates on import, handles offers from advertisers you haven’t joined yet, and auto-maps network sectors to your categories. Your site looks curated even though nobody curated it.
Cashback that users can actually understand
- Wallets with pending, confirmed and paid balances that mirror your network’s own confirmation cycle
- Plain-language explanations of why money is still pending
- Withdrawal requests with an admin approval queue
- Missing-cashback claims tied to the user’s real click history
- Referral programme with configurable bonuses
- Transactional emails at every state change
Built to rank
- Programmatic store, category and month-based landing pages
- Schema.org Offer, FAQ and Breadcrumb markup
- Editable meta templates, dynamic sitemap, canonical handling
- Expired coupons stay indexed and surface live alternatives instead of returning a dead end
- On-demand revalidation triggered by imports
What’s included
Affiliate integration
- Live Awin connector — programmes, promotions, transactions
- Live CJ Affiliate connector — advertisers, link search, commission detail
- Pluggable connector interface for adding further networks
- Generic CSV, XML/RSS and Google Sheets importers
- Scheduled syncs with dry-run preview, run history and per-item error logs
- Automatic deduplication, expiry sweeps and merchant-to-store mapping
- Credential test button and live tracking-link preview in admin
Click tracking & attribution
- Cloaked
/go/ redirects with per-click SubID
- Bot filtering before logging
- Two link strategies (template and append-SubID) covering different networks
- Conversion sync matching commissions back to the originating click
- Owner earnings dashboard: clicks, conversions, conversion rate, EPC, gross commission, cashback paid, net profit
Cashback
- Append-only wallet ledger — balances derived, never mutated
- Pending / confirmed / paid buckets mirroring network confirmation
- Withdrawal requests with admin approval queue
- Missing-cashback claims linked to real click history
- Referral programme with bonuses
- Transactional emails at every state change
Ad & placement sales
- Self-serve advertiser checkout — Stripe and PayPal
- Signature-verified webhooks; no client-side activation
- Position boosts (featured store or offer) and banner slots
- Advertiser portal via magic link: order status, creative upload, live performance, receipts
- Server-side creative validation (format, size, exact slot dimensions)
- Automated campaign scheduling and expiry
- Ad slot manager with impressions, clicks and CTR
Front end
- Tear-to-reveal coupon cards with one-tap copy
- Success-rate voting that auto-hides dead codes
- Store, category, search, A–Z directory and offer detail pages
- Expiring-soon and trending sections
- Instant search with autocomplete
- Dark mode, responsive, accessible
Admin
- Earnings analytics with charts, filters and CSV export
- Coupon, store, category and network management
- Import source control with run-now and dry-run
- User list with per-user ledger inspection
- Withdrawal, claims and moderation queues
- Settings for branding, currency, cashback rates, SEO templates, email and legal pages
- Audit log and translation string editor
Platform
- Next.js 16 (App Router) + TypeScript + Tailwind CSS 4 + Prisma + PostgreSQL
- Encrypted network credentials and payout details (AES-256-GCM)
- Rate limiting, CSRF protection, Zod validation
- GDPR export and deletion, affiliate disclosure and cookie consent
- Web installer, Docker Compose, deployment guides
- 37-section documentation included
Live in three steps
-
Deploy — one command on any VPS with Docker Compose, or import straight into Vercel with a managed database.
-
Connect — paste your Awin or CJ credentials in the admin panel and hit Test connection.
-
Sync — run the first import. Stores, offers and categories populate themselves from then on.
No terminal work after deployment. The web installer handles the database, your admin account and branding in the browser.
Requirements
- Node.js 20 or later
- PostgreSQL 14+ (or a managed provider such as Neon or Supabase)
- A free Awin or CJ Affiliate publisher account — optional, the demo data runs without one
Support
Six months of author support is included, covering bug fixes, installation help, configuration guidance and documentation questions. Future version updates are free under your existing licence.
For questions, use the Comments tab on this item or the contact form on our profile.
Open the live demo