Tracking Mouse Behavior on a Website AOI
Inside a Website Frame, both mouse events and gaze are recorded the same underlying way: neither can target anything except a Website AOI element, that's the only object a Website Frame can contain. This page covers building a Mouse Trigger event on a Website AOI, in full. For gaze, see the Website Frame Eye Tracking Walkthrough, that trigger's own event setup is already covered there in detail and isn't repeated here.
Why This Needs Setup Here, Unlike Elsewhere in Labvanced
Outside a Website Frame, mouse tracking mostly just works: a frame's continuous mouse-tracking property records cursor movement passively, with no trigger required. Inside a Website Frame's embedded page, that passive tracking never fires, the participant's browser doesn't deliver mouse movement to the parent page while the cursor is over an iframe, regardless of any Labvanced setting. A Mouse Trigger, backed by the Labvanced Web Bridge extension, is the only way to get any mouse data from inside the frame at all. If you don't build one, a Website AOI records nothing about mouse behavior, silently, the same way an unanchored AOI records nothing without you noticing.
The Three Targeting Modes
Add a Mouse Trigger event and, inside a Website Frame, its Targets: section offers three modes instead of a single target picker:
| Mode | What it does |
|---|---|
Any element in website frame | Fires for the chosen interaction anywhere on the embedded page, whether or not it happens over a registered AOI. |
Any AOI element | Fires whenever the interaction happens over any registered Website AOI, without picking them individually. |
| Pick specific targets (default, neither box checked) | Fires only for the Website AOI(s) you've explicitly added as a target. |
This is a richer choice than gaze gets on the same frame: the Eyetracking Gaze/Eyetracking Fixation triggers offer only two modes, Only trigger when looking at specific elements unchecked (fires continuously, untargeted, whenever new gaze data exists) or checked (limited to specific picked AOI targets). There's no gaze equivalent of Any AOI element.
If AOIs overlap, targeting mode changes what counts. For Click, PressDown, and PressUp with specific targets picked, Labvanced checks every AOI at the click point, not just the one visually on top, so your target still fires even if a different AOI is stacked above it there. Any element in website frame and Any AOI element modes, and Hover/Leave/Move regardless of mode, only ever consider the single topmost element at that point.
Building the Event
- Add a new event, select
Mouse Trigger. - Set
Action:to the interaction you want:Click,PressDown,PressUp,Hover,Leave, orMove. ForClick,PressDown, andPressUp, aButton:dropdown also appears,LeftorRight, to restrict the trigger to one mouse button. - Choose a targeting mode from the table above. If you leave both checkboxes unchecked, click
Add Targetand select the Website AOI(s) you want. - Add a
Set / Record Variableaction to actually capture data, an event without one records nothing, the same as an AOI without anEyetracking Gazeevent attached. Set the variable's Format toArray. For Record Type,Final valuekeeps only the most recent occurrence andTime serieskeeps every one. ChoosingTime seriesreveals a furtherSampling methodoption:record all (allow repeated duplicates)orrecord changes only (no repeated duplicates). - In the value select menu, choose from the
Trigger (Mouse)category, this is where the values specific to this event live, described in the next section.
Trigger:
Mouse Trigger→Action:Move→Targets:Any AOI element
Action:Set / Record Variable→ Format:Array, Record Type:Time series, Sampling method:record all (allow repeated duplicates)→ value:Mouse [Name, Info, X, Y] ArrayfromTrigger (Mouse)
This records the AOI's name and label alongside its page-relative X/Y on every mouse move over any registered AOI, without needing a separate event per AOI.
Choosing a Value, and the Coordinate Space That Comes With It
The Trigger (Mouse) category offers:
| Value | What it gives you |
|---|---|
MouseX / MouseY | The X or Y coordinate on its own |
Mouse [X,Y] Array | Both coordinates together |
Stimulus Name | The AOI's object name |
Stimulus Info | The AOI's Stimulus Info label |
Element Text | The AOI's visible text at the moment of the event |
Mouse [Name, Info, X, Y] Array | Name, Stimulus Info, and both coordinates together |
Mouse [Name, Info, Text, X, Y] Array | Name, Stimulus Info, visible text, and both coordinates together |
MouseX/MouseY (and the arrays built from them) do not mean the same thing across every interaction type:
Click,PressDown,PressUp,Movereport page-relative coordinates, the position on the embedded page's full scrollable area, including whatever the participant has scrolled past.Hover,Leavereport element-relative coordinates instead, the position within the AOI itself, not the page.
Both are labeled identically (MouseX, MouseY) in the value picker, nothing in the interface distinguishes them beyond which interaction type the event is built on. Mixing data from a Hover event and a Move event into the same exported column will mix two different coordinate spaces without any warning. Decide up front which interaction type you actually need before wiring up the recording action.
Stimulus Name and Stimulus Info identify which AOI the event fired on, the same Stimulus Info label covered in Naming an AOI for Your Exported Data, useful once you're recording from more than one AOI or from Any AOI element mode. Element Text carries the AOI's visible text at the moment of the event.
Shared With Gaze: Page-Relative Coordinates Include Scroll
The page-relative coordinates described above (for Click, PressDown, PressUp, Move) include the iframe's internal scroll offset, not just what's currently visible in the viewport. Gaze coordinates recorded on a Website AOI work the same way. If you're combining mouse and gaze data from the same AOI during analysis, both use this same page-relative coordinate space, so they line up directly. You don't need to convert one to match the other.
Page Scroll Position Isn't a Separate Value
The main guide's tracked-data list mentions scroll position, but there's no standalone "current scroll position" value to record on its own. Scroll offset is only ever applied automatically inside the page-relative coordinates already described above (Click, PressDown, PressUp, Move), not exposed as its own recordable variable. If you need scroll behavior on a scrollable sub-region within an AOI specifically, that's a separate setting, Scrollable container on the AOI itself, covered in Tracking a Scrollable Sub-Region, and its resulting data is only available through the Eyetracking Gaze/Eyetracking Fixation trigger, not Mouse Trigger.
Troubleshooting
The event never fires. Confirm the Web Bridge extension is installed and active, nothing reaches a Mouse Trigger inside a Website Frame without it. If you're using specific targets, confirm the AOI you picked is actually anchored, an unanchored AOI (selectorFound false) won't fire targeted events even though the trigger itself is configured correctly.
It fires for the wrong elements, or too often. Check which targeting mode is selected. Any element in website frame fires everywhere, including outside any AOI, if that's not what you meant, switch to Any AOI element or pick specific targets instead.
Recorded coordinates look wrong or inconsistent. Check which interaction type the event uses. Hover/Leave coordinates are relative to the AOI, Click/PressDown/PressUp/Move are relative to the page, see Choosing a Value above.
Frequently Asked Questions
Why doesn't the frame's regular mouse tracking setting work inside a Website Frame?
Mouse Trigger, can see mouse activity inside the embedded page. Do I need to add a Website AOI before I can track mouse movement?
Any AOI element mode. Any element in website frame mode fires regardless of whether the interaction happens over a registered AOI, so it works even with no AOI added at all. Why are my Hover coordinates so much smaller than my Click coordinates on the same AOI?
Hover/Leave report coordinates relative to the AOI element itself, while Click/PressDown/PressUp/Move report coordinates relative to the whole page. Both use the same MouseX/MouseY value names, so this isn't visible from the value picker alone. What's the difference between Any element in website frame and Any AOI element?
Any element in website frame fires for the interaction anywhere on the embedded page, AOI or not. Any AOI element only fires when the interaction happens over a registered Website AOI, but doesn't require you to pick which one, any of them will do. Further Reading
Labvanced Web Bridge | Support & Guide
The full reference: installation, use cases, data and privacy, troubleshooting, and FAQ.
Selecting and Adjusting Website AOIs
Anchor, adjust, and verify a Website AOI before building an event on it.
Website Frame Eye Tracking Walkthrough
The full gaze-tracking event setup, including the Eyetracking Gaze Event Setup dialog.