Free iGaming Affiliate Link Tracking Plugin

Free iGaming Affiliate Link Tracking Plugin

Free WordPress Plugin. Open-source. Built for casino and sportsbook traffic.
Track clicks on your own domain, capture SubIDs and creative IDs, apply GEO/state gating, and export clean audit logs—without paying for a third-party short-link tool.

Compatible with WordPress 6.3+ · PHP 8.1+ · GPL-2.0-or-later


What iGaming Affiliate Link Tracking Plugin Does?

  • First-party tracking on your domain (/go/offer-name) so ad blockers are less likely to kill attribution.
  • Logs every click with timestamp, hashed IP, user agent, referrer, device, GEO/state (if enabled), and custom parameters.
  • Captures affiliate parameters (SubID, click_id, creative_id, campaign, placement) and forwards them to the destination.
  • Optional GEO/state gating (send New Jersey traffic to NJ offer, Pennsylvania to PA, everything else to fallback).
  • Optional age notice and disclosure line for compliance pages.
  • Cookieless mode (no client storage) or first-party cookie with short TTL—your choice.
  • Webhooks & postbacks to send clicks to your tracker/CRM.
  • CSV export + REST API for reports and finance reconciliation.
  • Gutenberg block and shortcode so non-technical users can insert buttons/links in seconds.

Why iGaming teams use it?

  • First-party redirects = fewer lost clicks.
  • GEO/state rules = fewer compliance headaches.
  • Structured logs = faster dispute resolution.
  • Zero license cost = safer pilots and proof-of-concepts.

Quick start (5 minutes)

  1. Install → In WP Admin go to Plugins → Add New → Upload Plugin, select the ZIP, activate.
  2. Open Settings → iGaming Links → choose:
    • Parameter names you use (subid, click_id, creative_id, utm_campaign).
    • Cookieless vs. first-party cookie mode.
    • GEO provider (none, GeoLite2 DB, or HTTPS API) and your key if used.
  3. Create your first linkiGaming Links → Add New:
    • Destination URL (your affiliate link with macros if needed).
    • Allowed regions (GEO/state list) + fallback URL.
    • Default parameters to append automatically.
  4. Insert it in content:
    • Block: add iGaming Link Button.
    • Shortcode: [iga_link id="123" text="Play now" class="btn-primary"].
    • Direct URL: copy the pretty link (e.g., https://yoursite.com/go/brand-nj/).
  5. Test → Append ?test=1 to avoid logging while you verify redirects.
  6. Check logsiGaming Links → Clicks; export CSV if needed.

What’s inside?

  • Redirect tracking: /go/{slug} → destination (301/302/307)
  • Logging with privacy-safe IP hashing, UA, referrer, UTM
  • On-page click capture (optional): beacon script; “track all anchors” or only data-nowg-track
  • Admin: Links, Reports, Settings
  • Uninstall cleanup; daily purge job; admin-footer credit linking to “Free Affiliate Tools” → nowg.net
  • Shortcode: [nowg_link slug="offer" rel="nofollow sponsored" class="btn"]Click me[/nowg_link]

How to install?

  1. Plugins → Add New → Upload Plugin → select the zip above
  2. Activate → “NowG Links” menu
  3. Add a slug; test your redirect at https://your.site/go/slug
  4. If 404, visit Settings → Permalinks → Save (flush rewrites)

Defaults set

  • Requires at least: WP 6.2, PHP 8.0
  • Data retention: 180 days (changeable)
  • IP hashing: ON
  • Beacon tracking: OFF (toggle in Settings)
  • Redirect base: /go/

Feature matrix

AreaWhat you getWhere to use it
First-party redirectsClean /go/* links with 302/307Landing pages, menus, CTAs
Parameter capturesubid, click_id, creative_id, utm_*Attribution, partner disputes
GEO/state gatingPer-state routing + fallbackUS regulated markets
Age & disclosureOptional interstitial + auto footnoteCompliance pages
Anti-bot basicsUser-agent rules, ASN/IP denylist, click velocityClick quality hygiene
Webhooks/PostbacksSend click JSON to your tracker/CRMReal-time analytics
Exports & APICSV export, /wp-json/iga/v1/clicksBI, finance, backups
Roles & capsEditor can create links; Admin sets rulesSafer workflows

Event & parameter schema (defaults)

FieldDescriptionExample
click_idPassed through if present; generated if missingabc123
subidYour partner’s sub-parametersiteA_topnav
creative_idMap creative/placementhp_300x250_v3
utm_source / utm_campaignOptional campaign tagsigaming_blog / nj_launch
geo_country / geo_stateResolved at click (if enabled)US / NJ
ip_hashOne-way salted hash of IPsha256:…
ua / refUser agent / referrer
tsServer timestamp2025-08-22T10:15:31Z

You can rename parameters in Settings → Parameters. The plugin forwards all captured params to the destination URL (unless you choose “internal-only”).


GEO/state gating

  • Modes: Off / GeoLite2 (local DB) / HTTPS API (enter your key).
  • Rules: Route by country → optional state; anything unmatched goes to the fallback URL.
  • Privacy: GEO lookups run server-side; IP is hashed in the stored record.
  • Note: Geo databases are not bundled—you provide your own key or DB (license reasons).

Example rule:
US→NJ → send to …/nj-offer?subid={{subid}}
US→PA → send to …/pa-offer?subid={{subid}}
Elsewhere → fallback …/intl-offer


Shortcode & Block examples

  • Button with icon class:
    [iga_link id="123" text="Claim Bonus" class="btn btn-lg btn-cta"]
  • Raw URL (for menus): copy from the link editor sidebar.
  • Gutenberg: search “iGaming Link Button,” set Link, Style, Nofollow, and “Open in new tab.”

Webhooks & postbacks

  • Outbound webhook: on every logged click the plugin can POST JSON to a URL you configure.
  • Retry logic: exponential backoff up to 5 attempts.
  • Security: sign payloads (HMAC-SHA256 with your shared secret).
  • Placeholders: send raw and resolved fields (subid, geo_state, ip_hash, etc.).

Exports & API

  • CSV export from the Clicks screen (date range, link IDs, columns).
  • REST API:
    • GET /wp-json/iga/v1/clicks?from=2025-08-01&to=2025-08-31&link=123
    • Requires an admin/app password or token; supports pagination.

Compliance & privacy

  • No PII stored by default. IPs are hashed with a rotating salt; you can disable referrer/user agent storage if your policy requires.
  • Age notice & disclosure: toggle an interstitial (“21+ only…”) and auto-append a disclosure line under the link block.
  • Data retention: choose rolling retention (e.g., 90/180/365 days) or manual purge.
  • Cookie mode: off by default; turn on if you need continuity across multiple clicks.

This plugin assists with operational compliance but does not replace your legal review.


Performance & security

  • Redirects are server-side and cache-friendly (302/307).
  • Database writes use prepared statements; options validated and nonce-protected.
  • Optional async logging to reduce TTFB on high-traffic pages.
  • Works with popular page/cdn caches; mark /go/* to bypass full-page caching.

System requirements

  • WordPress 6.3 or newer
  • PHP 8.1+ (intl, json, mbstring enabled)
  • MariaDB/MySQL 10.4+
  • Optional: cron or real cron for async queue

Free download & license

  • Download: Use the “Download ZIP” button on this page (or install from your WordPress dashboard if it’s in the repository).
  • Price: Free, forever.
  • License: GPL-2.0-or-later (you can modify and redistribute under GPL-compatible terms).
  • Attribution: Not required (nice if you keep it). No tracking, no nags.

Support & contributions

  • Issues/bugs: open a ticket with steps to reproduce and your WP/PHP versions.
  • Security: email a short report; we acknowledge within 48 hours and ship patches quickly.
  • Contribute: PRs welcome—new gateways for GEO, additional parameter presets, or export formats.

Changelog (highlights)

  • 1.0.0 — First public release: first-party redirects, parameter capture, GEO/state gating, age notice, webhooks, CSV export, REST API, block + shortcode.

FAQ

Does it cloak links?
Yes—on your own domain. It preserves or appends the affiliate parameters you set.

Can I use it without cookies?
Yes—cookieless mode logs server-side only.

Will it break my cache/CDN?
No. Redirect endpoints are separate; just exclude /go/* from full-page caching.

How accurate is GEO/state?
As accurate as your DB/API. For regulated U.S. states, pair this with your compliance stack’s geofencing; this plugin routes links, it isn’t a geolocation compliance engine.

Can I add custom fields?
Yes. Use the “Custom Params” panel; they’re stored and forwarded.

Does it track conversions?
This plugin is click-tracking with smart routing. You can receive conversion webhooks from your affiliate networks into another system, then join on click_id/subid.


Developer hooks (summary)

  • apply_filters( 'iga_destination_url', $url, $click_context )
  • do_action( 'iga_click_logged', $click_array )
  • apply_filters( 'iga_webhook_payload', $payload, $click_array )

Final thought

If your iGaming links still rely on third-party shorteners and manual spreadsheets, you’re giving away attribution and time. Drop this in, route by state, capture the IDs that matter, export the CSV finance actually wants—and move on to the fun part: scaling what works.