Connect Keitaro via Tracker Hub

Last updated: May 19, 2026

Connect Keitaro via Tracker Hub

Tracker Hub supports 5 affiliate trackers: Keitaro, Voluum, RedTrack, BeMob, and TG Tracker. Connect Keitaro at /trackers by providing your tracker URL + API key. Wevion uses the Api-Key header for authentication (verified in apps/backend/src/tracker-hub/types/tracker.types.ts AUTH_CONFIGS.keitaro).

Who is this for

Affiliate marketers using Keitaro to route traffic + log conversions. Use Wevion's Tracker Hub to bring Keitaro data into unified analytics with your ad campaigns.

The 5 supported trackers

Verified vs apps/backend/src/tracker-hub/types/tracker.types.ts TrackerType + TRACKER_DISPLAY_NAMES:

Tracker

Auth method

Header

Keitaro

API key

Api-Key: <key>

Voluum

Session token

cwauth-token: <token> (4h TTL)

RedTrack

API key

Api-Key: <key>

BeMob

API key

Api-Key: <key>

TG Tracker

API key

Authorization: Bearer <key>

This article covers Keitaro setup specifically. Others follow similar patterns — switch tracker type in the setup flow.

Before you start

  • A Keitaro account running (self-hosted Keitaro instance or hosted)

  • The Keitaro URL (e.g. https://your-keitaro.com)

  • An API key generated in Keitaro's admin

  • Wevion role: manager, admin, owner, super_admin

How to connect

Step 1: Get your API key from Keitaro

In Keitaro admin:

  • Settings → API (or Tools → API depending on Keitaro version)

  • Generate new API key (or copy existing)

  • Note the key — Wevion will store it encrypted

Step 2: Open Tracker Hub in Wevion

In sidebar click Connect → Trackers or visit /trackers. The page lists already-connected trackers + has a Connect tracker button.

Step 3: Select Keitaro

Click Connect tracker → pick Keitaro from the type dropdown. Form expands with:

  • Name (your label, e.g. "Production Keitaro" or "Client A Keitaro")

  • Tracker URL (your Keitaro base URL, no trailing slash)

  • API key (paste)

Step 4: Test connection

Click Test connection. Wevion calls POST /api/v1/trackers/test which makes a test API call to your Keitaro using the provided key. If success: connection valid. If error: shows what failed (auth, URL, network).

Step 5: Save configuration

Click Save. Backend creates tracker_config row. API key encrypted via apps/backend/src/lib/tracker-crypto.ts (AES-GCM with TRACKER_TOKEN_ENCRYPTION_KEY env). Listed at /trackers.

Step 6: Initial sync

Within 15 minutes, Wevion's first sync pulls: campaigns, offers, landing pages, flows, traffic sources, click logs, conversions (last 30 days backfill).

Status badge: SyncingSynced when done.

Endpoint reference

Verified vs route files:

Endpoint

Method

Purpose

/api/v1/trackers/types

GET

List supported tracker types

/api/v1/trackers/test

POST

Test a tracker connection (no save)

/api/v1/trackers

GET

List configured trackers

/api/v1/trackers

POST

Create new tracker config

/api/v1/trackers/:id

PUT

Update tracker config

/api/v1/trackers/:configId/keitaro-users

GET

List Keitaro-side users (for member mapping)

/api/v1/trackers/:configId/access

GET

Get tracker access config

/api/v1/trackers/:configId/access/:memberId

(PUT/DELETE)

Manage per-member access

/api/v1/trackers/:configId/mappings/setup

POST

Initial mapping wizard

/api/v1/trackers/:configId/mappings/rules

GET/POST

List/create mapping rules

/api/v1/trackers/:configId/mappings

GET/PUT

Get/update mappings

/api/v1/trackers/:configId/mappings/detect

POST

Auto-detect mapping suggestions

/api/v1/trackers/:configId/breakdowns/sub

GET

Sub-ID breakdown

/api/v1/trackers/:configId/breakdowns/landing

GET

Landing-page breakdown

/api/v1/trackers/:configId/breakdowns/offer

GET

Offer breakdown

/api/v1/trackers/:configId/breakdowns/geo

GET

Geo breakdown

What gets imported

After successful sync:

  • Campaigns: Keitaro campaigns with traffic routing logic

  • Offers: ad offers / products

  • Landing pages: landing page configurations

  • Flows: traffic flow rules

  • Traffic sources: ad platforms / networks

  • Click logs: clicks with attribution data (15-min cadence; full backfill on first sync)

  • Conversions: confirmed conversions with revenue + status (active/paused/archived/deleted — Keitaro states mapped to Wevion canonical)

  • Sub-IDs: tracking parameters (sub_1 through sub_N — most affiliates use sub_1 for click_id)

Use in:

  • Wevion analytics: see which ad campaigns drive Keitaro conversions

  • Wevion → ad platform CAPI: forward Keitaro conversions to Meta CAPI / Google Conversions

  • Per-funnel attribution: track full path from ad → click → tracker offer → conversion

Multiple Keitaro instances

Each Keitaro instance = separate tracker_config. Common for:

  • Multi-account agencies (one Keitaro per client)

  • Multi-environment setups (staging Keitaro vs production)

Repeat steps 2-6 per instance.

Tracker types beyond Keitaro

Same setup flow, different auth field:

  • Voluum: needs Voluum URL + email/password (session token auth; 4h TTL auto-refreshed by Wevion via tokenEndpoint: /auth/access/session)

  • RedTrack / BeMob: API key (same pattern as Keitaro)

  • TG Tracker: API key with Bearer prefix

Security

  • API key encrypted at rest via AES-GCM

  • Wevion's request to Keitaro uses HTTPS

  • Audit log records every Keitaro API call (admin view)

  • Revoke at Keitaro admin → Settings → API → delete key

Common issues

  • "Connection test failed: 401": API key wrong. Regenerate in Keitaro admin.

  • "Connection test failed: ECONNREFUSED": Keitaro URL wrong or server down.

  • "Connection test failed: timeout": network latency or Keitaro slow. Check Keitaro server load.

  • Sync stuck > 30 min: large Keitaro instance (millions of clicks). First sync may take longer; subsequent syncs incremental.

  • Wevion shows 0 conversions despite Keitaro logs: mappings not set up. Configure at /trackers/:configId/mappings.

Related