Pandus SDK documentation
Event reference
Every event the Pandus SDK sends by itself: page views, scroll, clicks, forms, video, frustration, Web Vitals, smart events, GA4 recommended events and barrier signals.
Updated:
Every event has the same shape: name, time, page (the URL after the allow-list), page template, session and client id (only with consent), consent mode, device, place, source, language and up to 25 parameters.
You switch groups of automatic events on and off in Analytics → Events. Any event can be marked as a key event (a conversion): it then shows in conversions, funnels, attribution and in the priority of problems, for example “a barrier on the step before purchase”.
Automatic events
| Event | When |
|---|---|
first_visit |
The first visit of a browser |
session_start |
A new session (after 30 minutes without activity) |
page_view |
Every page, including routes of single-page apps |
user_engagement |
Time on the page while it is visible |
scroll |
25, 50, 75 and 90 % of the page |
click |
A click on a link to another site |
file_download |
A click on a document, archive or media file |
view_search_results |
A search results page of the site |
form_start, form_submit |
A visitor starts and sends a form |
video_start, video_progress, video_complete |
HTML5 video on the page |
copy, print, outbound_share |
Copying (without the text), printing, sharing to a social network |
consent_update |
The visitor changes their choice |
Frustration
| Event | When |
|---|---|
rage_click |
Several fast clicks in one spot |
dead_click |
A click with no reaction from the page |
error_click |
A click followed by a JavaScript error |
quick_back |
A visitor comes back faster than a few seconds |
excessive_scroll |
Scrolling up and down without finding something |
form_abandon |
A form left unsent, with the last field touched (never its value) |
js_error |
A JavaScript error, with the message and a stack cleaned of URLs and personal data |
Speed
web_vitals carries LCP, INP, CLS, FCP and TTFB of a page view, with the element behind LCP, INP and CLS.
Smart events
The SDK recognises add_to_cart, begin_checkout, purchase, sign_up, login, contact and generate_lead from button texts in seven languages, URL patterns and the platform (dataLayer of WooCommerce and GTM). They are marked “detected automatically”; you confirm or switch each one off in Analytics → Events. An event you send yourself always wins over a detected one.
Recommended events (GA4 schema)
login, sign_up, search, share, select_content, generate_lead and the whole e-commerce set: view_item_list, select_item, view_item, add_to_wishlist, add_to_cart, remove_from_cart, view_cart, begin_checkout, add_shipping_info, add_payment_info, purchase, refund, view_promotion, select_promotion. See E-commerce.
Barrier signals
Barrier signals go to their own table, without session or client id. They are counted per page template and element, never per person.
| Signal | WCAG |
|---|---|
a11y_focus_trap |
2.1.2 |
a11y_focus_lost |
2.4.3 |
a11y_focus_invisible |
2.4.7, 2.4.11 |
a11y_focus_obscured |
2.4.11 |
a11y_focus_order_jump |
2.4.3 |
a11y_unreachable_control |
4.1.2, 2.1.1 |
a11y_hidden_focusable |
4.1.2 |
a11y_form_error_unannounced |
3.3.1, 3.3.3 |
a11y_form_retry |
3.3.1 |
a11y_reflow |
1.4.10, 1.4.4 |
a11y_autoplay |
1.4.2 |
a11y_live_axe |
by axe rule |
a11y_prefs |
display preferences, only as shares with at least 20 sessions |
a11y_skip_link_used |
a positive signal: the skip link works |
barrier_report_sent |
a visitor sent the “Report a barrier” form |
What each signal means is on Live barriers and what to fix.
Heatmap data
With the behaviour module on, clicks carry their position and selector, and each page view sends its scroll depth, attention and focus points. These heatmap points do not count against the monthly event quota.
The Pandus SDK and the scanner are automated checks, not a full audit, and not legal advice. The SDK changes nothing on your site and does not determine which visitors use assistive technology.