Proof of conversion is the new KPI.
IntellQ is an autonomous CRO agent that runs in the request path between your website and each visitor. It meters block level attention, models intent with decaying signals, picks a strategy with a contextual bandit, rewrites only the DOM slots you marked, and proves every change against a holdout before it keeps it.
No card. One script tag. 7 days free, then USD 79 a month with unlimited seats.
Recorded for each block: its id, whole seconds at least half on screen, clicks. Nothing else leaves the page.
Read the pricing table for 10 seconds and the comparison for 10, and left without converting. Proposing clarify what is included on pricing_reassurance, against a control group.
1 credit for reading this visitor. 25 if you let it write the proposal.
A simulation of one visit, sped up, using the thresholds the product actually uses. It reads nothing about you.
An animation of the agent reading a visitor: as the visitor scrolls a pricing page, each block records how long it was on screen, and the agent moves the visitor from not enough signal, to discovery, to pricing friction, then proposes one bounded change to the page.
No IP addresses stored
Location comes from the CDN header. The address itself is never written down, and identity is never inferred from it.
No session replay
Block level attention counts seconds and clicks. No text, no field values, no cursor tracks, nothing that reconstructs a screen.
Consent gated
With consent required, the agent reads nothing and applies nothing until your banner says yes. Off means off, not off by default.
Every change reversible
One click puts a slot back to the exact text it had before, recorded from the live page at proposal time.
The agent layer
Analytics tells you what happened last week. IntellQ is a runtime: it senses each visit as it happens, models intent, decides with a bandit, acts on the live DOM and measures itself against a holdout, in one loop, on every request.
Your website
Marks what the agent may touch
<p data-intellq-slot= "pricing_reassurance"> Cancel any time. </p> <a data-intellq-slot= "pricing_cta" href="/signup">
Slots are matched by attribute value, never by a selector the server sent. Unmarked elements are unreachable.
IntellQ agent runtime
Your visitor
Sees the version that converts
No IP stored. No session replay. Nothing applied without consent where consent is required.
01 Sense
Edge sensor
A dependency free tag of about 8 KB gzipped. Events queue in memory, flush every 4 seconds and leave through sendBeacon on pagehide. An IntersectionObserver meters dwell per block only while half of it is on screen and the tab is in front.
02 Model
Intent engine
Each visitor becomes a feature vector: pricing, product, cart and checkout depth, return visits, verified identity. Every signal decays exponentially with a 48 hour half life, then the vector is classified into a context such as checkout_recovery or pricing_friction.
03 Decide
Decision policy
A contextual UCB bandit scores every eligible strategy: prior fit, a Beta posterior on its treatment arm, lift over control, an exploration bonus that shrinks with evidence, and a penalty for negative outcomes. Guardrails, risk tiers, cooldowns and your autonomy level gate the result.
04 Act
Actuator
The directive rides back on the same /api/track response inside a 2.5 second budget. Four DOM operations reach the browser: set text, show, hide, or point a link at a same origin path, only on elements you marked with data-intellq-slot. An approved offer is resolved server side into text. Text goes in through textContent, never as markup.
05 Prove
Attribution loop
Visitors are bucketed by a SHA-256 hash of salt and visitor id, so each one stays in the same arm. 20 percent is held out as control by default. A conversion credits the last exposure inside the outcome window once, losers roll back on their own, and the kill switch stops every change on the next request.
~8 KB
gzipped tag, zero dependencies
4 s
batched event flush
2.5 s
hard decision budget per request
48 h
signal half life
20%
default holdout control
4
DOM operations, and no fifth
What it learns
Time on page tells you a tab was open. IntellQ counts the seconds each block of a page was at least half on screen with the tab in front, and the clicks inside it, so it knows the difference between a pricing table somebody read and one they scrolled past on the way to the footer. Then it puts that next to who converted.

The block that predicts a sale
44.5%
of the 1,008 visitors who read checkout_reassurance on /checkout went on to buy, against 10.4% across the whole site.
The block that predicts nothing
0.8%
of the 5,130 visitors who read the home page hero converted. Knowing which is which is the difference between a change that works and a redesign.
What is never recorded
Block id, seconds, clicks. That is the entire payload. No text from inside the block, no form values, no coordinates, no recording of the screen. Twelve blocks a page, one event a page, and nothing at all without consent.
Business type, the journeys people actually walk, where they get stuck, which strategies worked here and which failed, and the blocks that hold attention. Aggregates only: no names, no emails, no visitor ids, no query strings, and every path reduced to a template before it is stored. It is rebuilt nightly from the last thirty days, so a site that changes is relearned rather than remembered wrong.

How it works
Four steps, and the screen each one happens on.
Pages, referrer, campaign, scroll, dwell, and the blocks that actually held attention. Recent behaviour counts more than old: every signal decays with a 48 hour half life, so three pricing views this afternoon are evidence and three last month are a whisper.

When a context has enough visitors behind it, the agent writes a bounded ChangeSet against slots you marked, with the hypothesis, the evidence and the expected outcome attached. You see it in a sandbox preview in your own browser before a visitor ever does.

Approved changes go out as a canary with a control group held back. Assignment is a stable hash, so a visitor stays in the same arm. A conversion is attributed to the last exposure inside the window, once, never twice.

Better than control and past the minimum sample: promoted. Worse: rolled back on its own and recorded as a negative outcome, which makes that strategy less likely to be chosen here again. Undecided: it says undecided.

<script src="https://intellq.apavin.com/intellq.js"
data-key="iq_your_site_key" async></script>
<p data-intellq-slot="pricing_reassurance">Simple pricing.</p>One tag, and a slot attribute on anything you are willing to let it rewrite. Nothing without that attribute can be touched.
The proof
Conversion after a change is not evidence that the change caused it. Every experiment holds a control group back, and the console shows the raw rate and the control relative lift next to each other with their names on, so the first can never be sold as the second.
Control, page unchanged
9.2%
15 of 163 visitors
Treatment, page changed
13.4%
89 of 665 visitors
Incremental lift
+3.8 pts
92% chance it is really better, smoothed
Demo workspace, the change called “Reassure at checkout” in checkout recovery. The second change on that site is still marked not enough visitors yet to say, which is the product refusing to call a winner early rather than a gap in the screenshot.
What it wants to change, on which slots, for which context, the hypothesis behind it, the visitors it was drawn from, the risk it carries, and a preview link that applies the change in your browser and nobody else's. Approve, edit the words, or reject with a reason that the agent learns from.
Try it on your own site
Your call, not its call
Level 0 observes and does nothing. Level 1 recommends. Level 2 builds a sandbox on its own. Level 3 deploys what a person approved. Level 4 runs its own experiments inside your guardrails. Level 5 acts alone within the same guardrails. Guardrails are yours: which action types are allowed, which risk levels need approval, control and canary percentages, minimum sample per arm, promotion confidence, cooldowns, and the paths it may never touch.
One button stops every live change on the next request. Nothing is deleted when it does, and every decision the agent ever made stays on the record with the evidence it used and the policy reasons it was allowed or blocked.

Security and privacy
Most of the engineering in IntellQ is the part that says no. The model picks from a list of strategies the server defined; it never writes code, never issues its own HTTP or shell calls, and never reaches a visitor's browser with anything but text you can read in advance.
Set the text of a marked slot, show one, hide one, or point one at a path on the same site. Cross origin links are refused in the browser, not just on the server.
Applied with textContent. A change cannot become an element, a script or a style, whatever a model asks for.
A visitor counts as identified when your site signs a short lived assertion with that site's key. Never from an email in a URL, never from an IP.
Every read takes the workspace from the session and filters on it. One workspace never learns from another's traffic, and the Genome is per workspace.
Who or what proposed, approved, deployed, promoted or rolled back each change, and when. Agent actions are attributed to the agent, not to a person.
Behavioural data has a retention window. Paths are templated and query strings are dropped before anything is aggregated or stored in the Genome.
Pricing
Charging per chair is how teams end up sharing one login, which ruins every number on the reports page. So every plan has unlimited operator seats and what is metered is the agent: 1 credit per visitor it reads and decides on, at most once per visitor per day, 25 per change it proposes. Tracking, the live board and reports are free.
$79a month
10,000 agent credits
For a site with real traffic and a team on it
Choose StandardCredits reset with the billing period. When they run out the agent stops deciding and every live change stops being served; tracking, reports and your website carry on exactly as before. Nothing is deleted, and it picks up where it left off when the period resets. Full pricing
| IntellQ | An analytics dashboard | An A/B testing tool | |
|---|---|---|---|
| Who has the idea | The agent, from your own traffic | You, after reading a chart | You, every time |
| Who builds the variant | The agent, inside four bounded DOM operations | Nobody, it only reports | Your developer |
| When it acts | On the live request, per visitor | Never | After a test is set up |
| Control group | Held out of every experiment, always | Not applicable | If you configure one |
| What it learns from | Every block read, every page left from | Pageviews and events | Only the tests you ran |
| Rollback | Automatic when it converts worse | Not applicable | Manual |
| Price | Free, then $79 or $139 a month | Varies | Usually four figures a month |
Other vendors change their pricing and packaging often. Check theirs before you decide, and check ours on the pricing page.
IntellQ by Apavin is an autonomous CRO agent: software that sits between your website and each visitor, reads intent from behaviour, changes only the page elements you marked, and keeps a change only if it beats a holdout control group. It is built by Apavin in India and starts free.
It reads how every visitor behaves on your website, including which blocks of a page held their attention, and puts them in a context such as pricing friction or checkout recovery. When a context has enough visitors behind it, it writes a bounded change to the page, shows it to you in a sandbox, runs it against a control group that sees the page unchanged, and keeps it only if the treatment converted better. Anything that converts worse is rolled back.
No. It can change the text of a slot you marked with data-intellq-slot, show or hide one, or point one at another page on the same site. That is the whole list. It cannot inject markup, run script, load anything from another domain, or touch an element you did not mark. The browser code matches slots by attribute rather than by a selector it built, and it writes text with textContent, so a change is text and never markup.
The script watches each block of the page with an IntersectionObserver and counts the seconds it was at least half on screen while the tab was in front, plus clicks inside it. One event per page, at most twelve blocks. Nothing is read from inside a block: no text, no field values, no cursor tracks, no session replay. That gives a heatmap of attention per block, which the agent uses to tell a page somebody read from one they scrolled past.
A credit is one unit of agent work. 1 credit is one visitor read and decided on, charged at most once per visitor per day. 25 credits is one proposed change, written with its evidence and a sandbox preview. Tracking, the live board and reports cost nothing. When the credits run out the agent stops deciding and your website carries on unchanged.
Free is 7 days with 5,000 credits and no card. Standard is USD 79 a month with 10,000 credits. Pro is USD 139 a month with 100,000 credits. Operator seats are unlimited on every plan and are never counted for billing.
Only if you set it to. Autonomy runs from level 0, where it only observes, to level 5, where it acts inside your guardrails on its own. At level 3 and below every change waits for a person to approve it. The kill switch stops every live change on the next request, and nothing is deleted when it does.
No. Country, region and city come from the CDN's own headers, and the IP is never written to the database. Visitor identity is never inferred from an IP either: a visitor counts as identified only when your own site signs an assertion with the key for that site.
A control group that is held out of every experiment and sees the page unchanged. The console shows the raw rate after the change and the control relative lift side by side, labelled, so the first can never be read as the second. Below the minimum sample per arm it refuses to call a winner and says so.
In the request path between your website and the visitor. The tag streams events to the IntellQ runtime, and the decision for that page comes back on the same response inside a 2.5 second budget. Nothing proxies your HTML and nothing sits in front of your origin: the agent only changes slots you marked, in the browser, after your page has rendered.
No. Strategy choice is a contextual UCB bandit over your own traffic, so every decision can be traced to the numbers behind it. No language model writes page content or talks to a visitor.
Yes, under one Chat tab: an inbox for your team, a widget you size per device, proactive triggers, and an AI agent that answers from your own knowledge on your own model key, calls your tools over MCP, and hands over to a person for orders and payments. The console chimes the moment a visitor starts a chat.
An A/B testing tool waits for you to have the idea, build the variant and read the result. IntellQ finds the pattern, writes the variant, runs the experiment, reads the result and rolls back its own losers. You approve or you do not.
Give it a week and 5,000 credits. Paste one tag, mark a few slots, and read the first thing it tells you about your own pricing page. No card, and nothing goes live without you.
Start free