scanova('init', ...), the SDK captures user actions automatically with no additional code. This page shows exactly what each auto-tracking feature sends.
Page view
Enabled by:autoPageview: true
Fires once per page load, as soon as the SDK initialises.
Event type: pageview
Metadata captured: (none — page context is in the top-level fields)
Full payload example:
autoPageview fires on SDK initialisation. If you also call scanova('track', 'page_view', ...) manually, you will send two events per page load. Use one or the other.
Deduplication: The SDK guards against firing pageview twice for the same URL within a single SDK lifecycle. If a user navigates away and back to the same URL in a traditional multi-page site, the second load re-initialises the SDK and fires normally. In a SPA where the URL changes client-side, the guard means returning to a previously visited route does not re-fire the pageview — you must handle this manually. See the SPA guide.
Click
Enabled by:autoClicks: true
Fires when a user clicks on a link (<a>), button (<button>), or any element with role="button".
Event type: click
Metadata captured:
| Key | Description |
|---|---|
element_type | HTML tag name: A, BUTTON |
element_text | Visible text or aria-label of the element (max 100 chars). If data-scnv-name is set, that value is used instead. |
destination_url | href value for link elements (only included when present and not javascript: or mailto:) |
data-scnv-name to any element to control the captured label in reports:
Form submission
Enabled by:autoForms: true
Fires when a user submits any <form> on the page. Field values are never captured — only the form’s identity.
Event type: form_submit
Metadata captured:
| Key | Description |
|---|---|
form_name | Form identifier. Priority order: data-scnv-name → aria-label → name attribute → id → "unnamed-form" |
form_action | The form’s action attribute, or the current pathname if not set |
Scroll depth
Enabled by:autoScroll: true
Fires when the user scrolls past specific milestones on the page. Each milestone fires once per page load — repeated scrolling up and down does not re-fire the same milestone.
Event type: scroll
Milestones: 25%, 50%, 75%, 90%
Metadata captured:
| Key | Description |
|---|---|
scroll_depth | Percentage milestone reached: 25, 50, 75, or 90 |
/home and navigates to /pricing, the SDK will not fire 25%, 50%, or 75% scroll events on /pricing — only events for milestones beyond what was already reached. To reset scroll tracking on route change, reload the SDK or implement a manual scroll event approach for SPAs.