← Changelog
FeatureSep 2, 2026

Run More Tests at Once

A group of tests kept apart from each other, with site traffic split between them so each visitor sees only one

Testing throughput used to be capped by a simple rule: one test per page at a time. Two tests touching the same headline would have muddied each other’s results, so everything else waited in the queue. pagent now lets you say which tests must never meet the same visitor, and run the rest side by side.

An exclusion group is a set of tests where a visitor only ever sees one of them. Set it up on a test’s new Targeting page, next to its page, trigger, and cohort, and pagent splits your traffic across the group’s running members. A visitor stays with the test they already entered, so results never get contaminated by someone switching groups mid-way. If you need more control, you can weight the split, give one test priority over the others, or decide per page view instead of per visitor.

You don’t have to spot the conflicts yourself. pagent watches for tests that share a page, a goal, and real visitors, and suggests keeping them apart. Suggestions collect under Audience > Exclusions with a badge in the nav, and starting a test that overlaps with a running one warns you before anything goes live. The tests list shows targeting at a glance, results say when a test shared its visitors with others in the group, and the review page shows the group as part of the setup.

With conflicts handled, queued tests no longer have to wait. A queued test can now be started while another test runs on the same page and cohort, from a new actions menu on the Queue tab, after the same preflight check as any other start. Automatic queue advancement still waits for the running test to finish, so nothing changes unless you decide it should.

Tracking a click anywhere it happens

Conversion goals used to be tied to the page they were picked on. Adding “add to cart” meant one goal per product page. You can now create a click goal from the tracking page with a name, a CSS selector, and a Pages field that accepts an exact path, a pattern like /products/**, or every page on the site. Goals scoped this way stop being reported as missing on pages where the element simply doesn’t exist.

Goals also know who they belong to. A workspace goal is your site’s own instrumentation: it is tracked all the time, even with no test running, and only a person can archive it. A goal that belongs to one test, like an element the agent picked while building a variation, is tracked while that test measures it and cleaned up afterwards. Test goals are marked as temporary on the tracking page, and one menu entry promotes any of them to a workspace goal.

Every goal now has its definition in full on its own page, not a one-line summary: the selector and page scope for a click goal, the label, counting mode, and underlying definition for an event goal, the steps of a funnel, the rules of a computed goal. Clicks, page views, and programmatic goals can be edited in place from there, so fixing a selector no longer means recreating the goal and losing its history.

Two more additions round out tracking. Any trigger can now be tracked as an event, so a condition you already wrote, like “cart has items” or “reached checkout”, becomes something goals and funnels can count, with no code and no listener. And agents can now set conversion tracking up end to end: chat and your connected AI tools can look at the events your site sends, define new ones, create click and event goals, and attach or detach them from a test, instead of only reading what you configured by hand.

Reviews cover the setup, not just the changes

A review used to be about the variation’s changes. Everything around them, the trigger deciding who sees the test, the goals deciding what counts, the cohort, and the statistical settings, was visible but not something a reviewer could act on. Each of those cards now has its own feedback field, plus a new Experiment settings card with the runtime rules up front and the statistics behind a fold.

When you send the review back for a fix, pagent handles setup feedback as its own pass: it reads the current setup, adjusts the test’s settings, and rebinds a trigger or cohort where needed. A trigger or audience that other live tests depend on is never edited underneath them. pagent creates a new one and points the reviewed test at it. Anything it can’t resolve is escalated per item and shown to you, rather than quietly skipped.

Reviewers can also attach files to any feedback field now, by pasting, dropping, or picking them: screenshots of what broke, a PDF of brand rules, notes as text. Attachments stay private to the submission, appear on the owner’s review page and the Fix Issues page in a lightbox, and are handed to the agent working on the fix, the same way evidence attached to a hypothesis is. Review pages also carry the test id and its hypothesis, the variations card shows what has already been approved, checklist items are labelled Blocking only when they actually prevent a start, and concluded reviews land in Done instead of lingering in progress.

Results by device, and previews that behave

Test results now break down by device. Alongside the overall numbers, a device table shows how each variation performed for desktop and mobile visitors, with the same statistics as the headline result, so a change that wins on desktop while losing on mobile is visible instead of averaged away.

Previewing got easier to reach and more honest about what it shows. Live tests have a Preview dropdown right in the tests list, with one entry per variation and a nested section when the test runs on more than one page, and the test page carries the same control in its variations and metrics tables. In preview, clicking anything the test measures now confirms itself with a “Conversion goal triggered” toast naming the goal, instead of a blocking alert, and the preview bar counts the goals fired so far in a panel you can open. Page views, programmatic conversions, and event goals confirm the same way, including on funnel pages the test doesn’t target itself.

For sites whose content renders late, the recovery mode that decides how pagent handles a change whose target appears after the page loads is now a setting under Settings > Advanced, instead of something that had to be set in the snippet.

A batch of smaller upgrades closes this release. Every hypothesis now has a short code name that leads everywhere it appears, and the hypotheses workspace was rebuilt as a proper workbench with per-site handles, priority and confidence, owner, labels, comments, and an activity log of everything that happened to an idea; its main button now reads Create variation, and Hypotheses sits at the top level of the navigation with Triggers under Audience. URL trigger conditions can match the query string, the fragment, or the full URL, not only the path, so sites that keep state in the URL hash can be targeted. Chat grounds style requests in a Figma file you uploaded, keeps working after you decline a tool call, and handles nested audience rules. Tables across the app sort by column and adapt to narrow screens. Goal pages and the pages list render before their analytics finish loading. SDK initialization errors break down by device, browser, country, and page, and a treatment telemetry overview on the errors page shows how often visitors actually received the change. Pushing a winner back to Contentful walks one decision per screen, and indexing a large space reports its progress. Conversions with an unusual click position are no longer dropped, headline totals match the chart beneath them.

Share this update
www.pagent.ai/changelog/run-more-tests-at-once
in𝕏