Traqlyte
Get the API spec
Multivariate AI Campaign Engine

Know the winners. Show the winners. Grow the winners.

Traqlyte is the transparent, API‑first engine for cohort assignment and outcome tracking across web, email, and ads. Shine a light on what actually converts, then turn it up to 11.

Full factorial, fractional, or bandits: your rules, your data. No black boxes.

Built for teams who test more than button colors

Message × placement × color × incentive × timing: real campaigns are multivariate. Traqlyte was designed for that reality from day one, not bolted on after an A/B tool ran out of road.

Multivariate by design

Define factors and variants, auto‑generate cohorts, and keep users sticky to assigned arms across channels. Full and fractional factorial designs, not just A vs. B.

Deterministic, auditable assignment

The same campaign_id + user_key + campaign_version always resolves to the same assignment. No surprises, no drift, replayable for audits.

Flexible allocation

Run full/fractional factorials with manual weights, or switch to ε‑greedy / UCB contextual bandits to adapt in real time as signal emerges, with exploration floors and cooldowns.

Cross‑channel, one brain

Web, email, ads, in‑app: any surface calls /assign and posts to /outcome. The variant a user sees in email stays coordinated with what they see on‑site.

Transparent analytics

No black boxes. Signed decision logs and schema‑first, warehouse‑ready exports show exactly which factor→variant combinations drove results.

Privacy & control

First‑party user_key identifiers only. No IP‑based identity stitching, no third‑party enrichment, security logs kept separate from experimentation data.

How it works

  1. Define factors & variants for a campaign, then publish; cohorts and weights lock per campaign_version.
  2. Assign users via POST /assign; the decision engine (full/fractional factorial, manual weights, or bandit) returns a cohort with a stable assignment_id.
  3. Render your UI, email, or ad using the returned variants.
  4. Report outcomes with POST /outcome (clicks, submits, purchases), tied back by assignment_id, accepted out of order and deduped.
  5. Analyze combinations in the warehouse marts and scale winners, manually, or let bandits shift traffic automatically.

Traqlyte is the decision layer, not the renderer: your CMS, ESP, or ad platform still owns the page, the send, and the buy. Traqlyte just decides who sees what, and keeps score.

Assignment → render → outcome

{
  "POST /assign": {
    "campaign_id": "blog_signup_2025",
    "user_key": "usr_8f3c9a1b",
    "context": {"utm_source": "email", "device": "mobile"}
  },
  "response": {
    "assignment_id": "asg_01H...",
    "campaign_version": 1,
    "cohort_id": "coh_v1_arm12",
    "variants": {
      "placement": "popup",
      "cta_color": "blue",
      "bonus": "ebook",
      "message": "Join the insider list"
    }
  },
  "POST /outcome": {
    "assignment_id": "asg_01H...",
    "event_type": "form_submit",
    "dedupe_key": "evt_9bbf1"
  }
}

Why not just use a DXP suite?

Platforms like Optimizely bundle content authoring, experimentation, and personalization into one closed suite. That's a real option if you want to replace your CMS. Traqlyte is a different bet: keep the CMS, ESP, and ad tools you already run, and add a neutral, auditable decision layer that any of them can call.

  Traqlyte All‑in‑one DXP suite (e.g. Optimizely)
Scope API‑first assignment & outcome service: one neutral layer any surface can call Full suite: CMS/DXP, experimentation, feature flags, personalization under one vendor
Lock‑in Open API, exportable data, swap frontends without rebuilding experiments Decisions and content live inside the vendor's closed platform
Design model Multivariate by design: factor‑based cohorts, full/fractional factorials, combinatorial control Typically A/B‑centric, with multivariate as an advanced add‑on
Transparency Deterministic assignments, signed decision logs, schema‑first warehouse exports Decisioning logic largely opaque, reporting inside the vendor's UI
Integration surface Two endpoints (/assign, /outcome), small, easy to audit and secure Large surface: visual editor, SDKs across 10+ languages, full content pipeline
Best fit Teams that already own their CMS/ESP/ad stack and want precise, portable experimentation underneath it Teams that want content authoring, experimentation, and personalization from a single vendor

Both are legitimate approaches. Traqlyte just doesn't compete on being the suite; see the full breakdown in our FAQ.

What Traqlyte is, and isn't

We stay deliberately scoped to the experimentation and outcomes hub, so it's easy to reason about what Traqlyte will and won't do to your stack.

Traqlyte does

  • Assign users to multivariate cohorts, deterministically
  • Capture a feature snapshot at assignment time for later modeling
  • Accept outcome events out of order, deduped, attributed by event_time
  • Support full/fractional factorial designs and, when flagged on, contextual bandits
  • Export deterministic, warehouse‑ready data with audit trails

Traqlyte doesn't

  • Render pages, send emails, or buy media: that stays with your CMS, ESP, and ad platform
  • Act as a CMS or DXP: a content/rendering layer is a separate service that calls /assign and posts to /outcome
  • Generate or recommend content: identifying "people also visit" candidates or spinning up page variants is a separate service; Traqlyte decides which variant a user sees, not what the variants are
  • Enrich users with third‑party data or sell identity graphs: first‑party user_key only
  • Make creative or approval decisions: AI can help generate and prune variant candidates, but ownership stays with your team

API at a glance

Two endpoints, frozen behaviors. Bearer auth, TLS everywhere, idempotent by design.

POST /assign

deterministic · idempotent

Returns the existing assignment for (campaign_id, user_key, campaign_version) if one exists, or creates one and persists it.

curl -X POST https://api.traqlyte.com/assign \
  -H "Authorization: Bearer $TRAQLYTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "campaign_id": "blog_signup_2025",
    "user_key": "usr_8f3c9a1b",
    "session_id": "sess_42a91",
    "context": {"utm_source": "email", "device": "mobile"},
    "force_new": false,
    "request_id": "req_f2e9f1"
  }'
{
  "assignment_id": "asg_01H...",
  "campaign_id": "blog_signup_2025",
  "campaign_version": 1,
  "cohort_id": "coh_v1_arm12",
  "variants": {
    "placement": "popup",
    "cta_color": "blue",
    "bonus": "ebook",
    "message": "Join the insider list"
  },
  "feature_snapshot": {
    "utm_source": "email",
    "device": "mobile",
    "time_bucket": "evening"
  },
  "assigned_at": "2025-10-05T14:12:03Z"
}

Errors: 400 invalid campaign/context, 409 reassignment not allowed without force_new, 429 rate limited.

POST /outcome

out‑of‑order safe · deduped

Attribution uses event_time, not receipt time. Duplicate (assignment_id, dedupe_key) pairs are ignored.

curl -X POST https://api.traqlyte.com/outcome \
  -H "Authorization: Bearer $TRAQLYTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "assignment_id": "asg_01H...",
    "event_type": "form_submit",
    "event_time": "2025-10-05T14:17:55Z",
    "event_metadata": {"form_id": "signup_v1"},
    "dedupe_key": "evt_9bbf1"
  }'
{ "status": "ok", "outside_window": false }

Errors: 400 malformed payload or missing dedupe_key, 404 unknown assignment_id (optionally staged for later reconciliation).

/assign latency

p95 < 100ms warm cache

/outcome latency

p95 < 80ms

Warehouse consistency

< 5 min p95

Supports full/fractional factorial designs and contextual bandits (flagged). GET /campaigns/{id} for read‑only config, POST /campaigns/{id}/publish to version. SDKs coming soon.

Pricing

Billed on monthly assignments and outcomes. One /assign call returns a variant combo; one /outcome call records a result. Idempotency keys mean retries never cost you twice.

Starter

Prove the model before you scale it.

500k assignments + outcomes / mo

Overage $0.50 / 10k

  • Full & fractional factorial designs
  • Manual weights, basic allocation
  • 1 environment (prod), 2 active campaigns
  • 30‑day retention in UI, export anytime
  • 3 seats, business‑hours email support

p95 assign < 150ms · 99.5% uptime

Get started
Most popular

Pro

For teams running bandits across channels.

5M assignments + outcomes / mo

Overage $0.40 / 10k

  • Everything in Starter
  • Contextual feature capture at assignment
  • ε‑greedy & UCB bandits (flagged)
  • 3 environments, 10 active campaigns
  • 180‑day retention, daily warehouse sync & webhooks
  • 20 seats, SSO, 12x5 chat/email (4h first response)

p95 assign < 100ms · 99.9% uptime

Get started

Enterprise

Custom scale, custom policies, dedicated support.

Custom volume & overage at contract

  • Everything in Pro
  • Contextual bandits with custom policies
  • Unlimited campaigns & environments
  • Real‑time warehouse sync, custom exports
  • Dedicated VPC / region pinning, data residency
  • 24x7 support, 1‑hour P1 first response

p95 assign < 75ms (or custom) · 99.99% uptime

Talk to us

Add‑ons available on any plan: extra environments, higher retention windows, dedicated throughput pools, custom dashboards, and experiment‑design services. Hard caps with warnings at 80% and 95% of plan limits; idempotency required on retries.

Common questions

How do you handle privacy?

We minimize by default: Traqlyte operates on campaign, assignment, and outcome IDs with optional feature snapshots, no PII required to run experiments. Security logs and abuse mitigation are isolated from marketing data, with no IP‑based identity stitching. Data retention windows, encryption at rest and in transit, scoped API keys, and audit logs are built in. Bring your own consent flags and identity provider; we honor them at assignment and outcome time.

We don't have huge traffic; is multivariate testing overkill?

Use fractional factorials to learn main effects without exploding sample size, plus exploration floors, stop rules, and minimum‑detectable‑effect calculators to avoid false wins. Start with a few high‑leverage factors, add variants as signal appears, and graduate to bandits once volume justifies it, with confidence bounds and lift‑vs‑baseline reporting so you know a result is real before you scale it.

Will this replace our CMS or ESP?

No. Traqlyte decides which variant a user sees and tracks which one wins; it doesn't render pages, send emails, or buy media. Your blog/CMS calls /assign on page render and posts /outcome on conversion; your ESP calls /assign at send time and reports opens/clicks the same way.

Does Traqlyte generate content or recommendations?

No: that's intentionally out of scope. AI can help generate and prune variant candidates, but deciding what content exists to test (e.g. spun copy, cross‑link candidates) is a job for a separate service that registers those options as variants. Traqlyte's job is choosing who sees which registered variant, and proving which one wins.