For agencies
Everything your team does with Koda, in the order you'll do it. No access to the client's hosting, no code changes on their site, no tag managers.
To run tests, traffic needs to flow through Koda's edge network. That takes exactly one change, made by whoever manages the client's DNS (often their IT contact or hosting dashboard): adding a CNAME record we provide during onboarding.
What to tell your client, in their language: "We're adding a routing entry so our testing infrastructure sits in front of your site — like a CDN. No passwords, no access to your servers, nothing changes on your website, and it can be removed at any time by deleting the same record."
Until a test is switched on, Koda is a pure passthrough: every request goes to the original site untouched. Your client can point the domain weeks before the first test runs — there's no risk in doing it early.
A test is a short configuration: which page, which elements, what changes. Here's a real one that swaps a headline and recolors the buy button on a pricing page:
{
"status": "active",
"testId": "acme-pricing-2026-07",
"targetPath": "/pricing",
"mutations": [
{ "selector": "#hero-title", "action": "setText",
"content": "Start your free trial today" },
{ "selector": ".buy-button", "action": "setStyle",
"property": "background-color", "value": "#e63946" }
]
}
| Field | What it does |
|---|---|
| status | "active" runs the test; "paused" serves the site normally |
| testId | A unique name. Changing it starts a fresh test with fresh assignments |
| targetPath | "/pricing" for one page, "/blog/*" for a section, "*" for the whole site |
| mutations | The changes shown to Variant B. Variant A always sees the original |
Available actions: setText (safe text swap), replace (inner HTML), setStyle (one CSS rule), setAttribute, remove, and appendHtml. Headlines, buttons, prices, banners — the things that move conversion rates.
Koda edits the page while it streams, so selectors must be recognizable on sight:
#signup-button, .hero-title, h1, a.cta:has(), :nth-last-child(), sibling combinatorsBest practice: ask the client's developer to put an ID on anything you plan to test. During early access, we write your first test configs with you.
Paste one line on the client's success page — order confirmation, booked demo, submitted form:
<script>
fetch('/_tf/goal', { method: 'POST', keepalive: true });
</script>
That's the entire integration. The call goes to the same domain (so nothing to configure, and ad-blockers have no third-party host to block), Koda already knows which variant the visitor belongs to from their cookie, and each visitor is counted at most once per test — refreshing the thank-you page can't inflate the numbers.
No conversion snippet? You can still run tests and compare traffic behavior, but conversion rates are what make a winner provable — we strongly recommend it.
Every client site gets a live results dashboard at its own address — conversion bars per variant, view and conversion counts, and a verdict computed by a standard statistical test (a two-proportion z-test, the same math the enterprise tools use). Refresh for live numbers.
The verdict is always one of three, and Koda will not flatter you:
Under 100 views per variant or under 10 conversions total. Any "trend" at this size is noise, and the dashboard says so instead of teasing an early winner.
One variant leads but confidence is below 95%. Example: "Variant B is ahead (18.1% better), but confidence is only 51.6% — keep the test running." This is the verdict that protects your agency from reporting a win that evaporates next month.
Confidence is 95% or higher: "Variant B converts 39.1% better. Safe to act on." This is the sentence you put in the client report — and you can cite the confidence number with a straight face.
On the dashboard, "Write it with AI" turns the numbers into two or three sentences of plain business English, ready to paste into your monthly client report. The AI is only allowed to restate the statistics — it's blocked from inventing or recalculating numbers, so the summary can never claim more than the math supports.
Everything the dashboard shows is also available as JSON from a stats endpoint, secured with your key — plug it into your reporting stack, spreadsheets, or client portals.
Koda is infrastructure, not a brand your clients need to meet. Nothing visitor-facing carries our name, results come from an endpoint on the client's own domain, and you present testing as your agency's capability — because it is.
Agencies typically package testing as a monthly optimization retainer or per-test pricing. At $99–$499/month for your whole client roster (see pricing), Koda usually costs less than one hour of your billable time — the margin on a single client's testing retainer typically covers it several times over.
Early-access agencies get hands-on help with their first CNAME, first test config, and first client report.
Get early access