labvanced logoLabVanced
  • Research
    • Publications
    • Researcher Interviews
    • Use Cases
      • Developmental Psychology
      • Linguistics
      • Clinical & Digital Health
      • Educational Psychology
      • Cognitive & Neuro
      • Social & Personality
      • Arts Research
      • Sports & Movement
      • Marketing & Consumer Behavior
      • Economics
      • HCI / UX
      • Commercial / Industry Use
    • Labvanced Blog
    • Services
  • Technology
    • Feature Overview
    • Code-Free Study Building
    • Eye Tracking
    • Mouse Tracking
    • Generative AI Integration
    • Multi User Studies
    • More ...
      • Reaction Time/Precise Timing
      • Text Transcription
      • Heart Rate Detection (rPPG)
      • Emotion Detection
      • Questionnaires/Surveys
      • Experimental Control
      • Data Privacy & Security
      • Desktop App
      • Mobile App
  • Learn
    • Guide
    • Videos
    • Walkthroughs
    • FAQ
    • Release Notes
    • Documents
    • Classroom
  • Experiments
    • Cognitive Tests
    • Sample Studies
    • Public Experiment Library
  • Pricing
    • Licenses
    • Top-Up Recordings
    • Subject Recruitment
    • Study Building
    • Dedicated Support
    • Checkout
  • About
    • About Us
    • Contact
    • Downloads
    • Careers
    • Impressum
    • Disclaimer
    • Privacy & Security
    • Terms & Conditions
    • Third-Party Licenses
  • Appgo to app icon
  • Logingo to app icon
Learn
Guide
Videos
Walkthroughs
FAQ
Newsletter Archive
Documents
Classroom
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
Guide
Videos
Walkthroughs
FAQ
Newsletter Archive
Documents
Classroom
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • Guide
    • GETTING STARTED

      • Task Editor
      • Frames
        • Canvas Frame
        • Page Frame
        • Website Frame
      • Trial Timeline
      • Stimulus Presentation
      • Correctness of Response
      • Objects
      • Events
      • Variables
      • Task Wizard
      • Trial System
      • Experiment Design
        • Creating a Study
        • Data Frame Patterns
        • Multi-user Experiment Design
    • FEATURED TOPICS

      • Randomization & Balance
      • Eye Tracking
        • Presenting Stimuli in an Eye Tracking Task
        • How to Choose Eye Tracking Calibration Settings
        • Setting Up Eye Tracking in a Task
        • Recording and Exporting Gaze Data
        • Using Shapes as Areas of Interest (AOI) for Eye Tracking
        • The Participant Calibration Experience
      • Web Bridge
        • Selecting Website AOIs | Anchor, Adjust, and Verify AOI Tracking
        • Tracking Mouse Behavior on a Website AOI | Web Bridge Guide
      • Questionnaires
      • Desktop App
      • Sample Studies
      • Participant Recruitment
      • API Access
        • REST API
        • Webhook API
        • WebSocket API
      • Other Topics

        • Precise Stimulus Timings
        • Multi User Studies
        • Head Tracking in Labvanced | Guide
    • MAIN APP TABS

      • Overview: Main Tabs
      • Dashboard
      • My Studies
      • Shared Studies
      • My Files
      • Experiment Library
      • My Account
      • License & Services
    • STUDY TABS

      • Overview: Study-Specific Tabs
      • Study Design
        • Tasks
        • Blocks
        • Sessions
        • Groups
      • Task Editor
        • Task Controls
        • The Trial System
        • Frame Types
        • Objects
        • Object Property Tables
        • Variables
        • System Variables Tables
        • The Event System
        • Text Editor Functions
        • Eye Tracking Options in the Task Editor
        • Head Tracking in a Task
        • Multi-User Studies
      • Settings
      • Variables
      • Media
      • Texts & Translate
      • Launch & Participate
      • Subject Management
      • Dataview and Export
        • Dataview and Variable & Task Selection (OLD Version)
        • Accessing Recordings (OLD Version)
  • Videos
    • Video Overview
    • Getting Started in Labvanced
    • Creating Tasks
    • Element Videos
    • Events & Variables
    • Advanced Topics
  • Walkthroughs
    • Introduction
    • Stroop Task
    • Lexical Decision Task
    • Posner Gaze Cueing Task
    • Change Blindness Flicker Paradigm
    • Eye-tracking Sample Study
    • Infant Eye-tracking Study
    • Attentional Capture Study with Mouse Tracking
    • Rapid Serial Visual Presentation
    • ChatGPT Study
    • Eye Tracking Demo: SVGs as AOIs
    • Multi-User Demo: Show Subjects' Cursors
    • Gamepad / Joystick Controller- Basic Set Up
    • Desktop App Study with EEG Integration
    • Between-subjects Group Balancing and Variable Setup
    • Building a Multi-user Study
    • Website Frame Eye Tracking Walkthrough
    • Conditional Webcam Eye Tracking
  • FAQ
    • Features
    • Support Policy & Guidelines
    • Security & Data Privacy
    • Licensing
    • Precision of Labvanced
    • Programmatic Use & API
    • Using Labvanced Offline
    • Troubleshooting
    • Study Creation Questions
  • Newsletter Archive
  • Documents
  • Classroom

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:

ModeWhat it does
Any element in website frameFires for the chosen interaction anywhere on the embedded page, whether or not it happens over a registered AOI.
Any AOI elementFires 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

  1. Add a new event, select Mouse Trigger.
  2. Set Action: to the interaction you want: Click, PressDown, PressUp, Hover, Leave, or Move. For Click, PressDown, and PressUp, a Button: dropdown also appears, Left or Right, to restrict the trigger to one mouse button.
  3. Choose a targeting mode from the table above. If you leave both checkboxes unchecked, click Add Target and select the Website AOI(s) you want.
  4. Add a Set / Record Variable action to actually capture data, an event without one records nothing, the same as an AOI without an Eyetracking Gaze event attached. Set the variable's Format to Array. For Record Type, Final value keeps only the most recent occurrence and Time series keeps every one. Choosing Time series reveals a further Sampling method option: record all (allow repeated duplicates) or record changes only (no repeated duplicates).
  5. 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] Array from Trigger (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:

ValueWhat it gives you
MouseX / MouseYThe X or Y coordinate on its own
Mouse [X,Y] ArrayBoth coordinates together
Stimulus NameThe AOI's object name
Stimulus InfoThe AOI's Stimulus Info label
Element TextThe AOI's visible text at the moment of the event
Mouse [Name, Info, X, Y] ArrayName, Stimulus Info, and both coordinates together
Mouse [Name, Info, Text, X, Y] ArrayName, 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, Move report page-relative coordinates, the position on the embedded page's full scrollable area, including whatever the participant has scrolled past.
  • Hover, Leave report 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?
Because the participant's browser never delivers mouse movement to the parent page while the cursor is over an iframe, this is standard browser behavior, not a Labvanced limitation. Only the Web Bridge extension's own event stream, via a Mouse Trigger, can see mouse activity inside the embedded page.
Do I need to add a Website AOI before I can track mouse movement?
Only if you want to target specific elements or use 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?
They're not measuring the same thing. 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.

Prev
Selecting Website AOIs | Anchor, Adjust, and Verify AOI Tracking