02Getting started
What's tracked automatically
The events the Gauss tracker sends without any setup — page views, time on page, outbound links, contact links and forms — and what it never collects.
Once the snippet is installed, the tracker sends five events on its own: page views, time on page with scroll depth, outbound link clicks, contact link clicks and form submissions. Event and parameter names follow GA4.
Automatic events
| Event | When it's sent | Parameters |
|---|---|---|
page_view | page load; URL change in an SPA (pushState, replaceState, popstate) | — (shared fields: URL, referrer, title, window width) |
user_engagement | leaving the page, hiding the tab, navigating in an SPA | engagement_time_msec — time the tab was visible; scroll_depth_pct — maximum scroll: 0, 25, 50, 75, 90 or 100 |
click | click on a link to another domain | outbound: true, link_domain — the link's domain, link_url — the URL without query or hash |
contact_click | click on a contact link | contact_type: phone, email, whatsapp or telegram |
form_submit | form submission (the submit event) | form_id — the form's id or name, form_destination — the path from action |
page_view
Every event carries page_location (the page URL). A page_view also includes page_referrer, page_title (up to 200 characters), screen_width (window width, used to tell the device type) and content_group if you tag page categories.
The URL is cleaned before it's sent: the only query parameters kept are utm_source, utm_medium, utm_campaign, utm_term, utm_content and ad click ID names with the value 1 (see UTM tags and click IDs). An external referrer is sent as the domain only (https://t.me/); a referrer from your own site is sent as a path without the query.
user_engagement
Only visible time counts: while the tab is in the background, the clock stops. The event is sent when the tab is hidden, when the page closes and on SPA navigation; after each send, timing starts over. If the tab was never visible, no event is sent.
Mobile browsers sometimes don't let the event go out when a tab closes, so time on the last page of a visit may not be counted.
click
An outbound link is an http: or https: link to a different host. Subdomains are different hosts: a link from example.com to shop.example.com produces a click. Clicks on links within your site aren't sent as separate events; they show up as page_view.
contact_click
| Link | contact_type |
|---|---|
tel: | phone |
mailto: | email |
whatsapp:, wa.me, api.whatsapp.com | whatsapp |
tg:, t.me, telegram.me | telegram |
Only the contact type is sent. The phone number, email address and the link itself are not.
form_submit
The tracker reads only the form's own attributes: id (or name if there's no id) and the action path without the query. If action isn't set, form_destination is the current page's path. Field values are never read.
The event fires on the standard submit of a <form> element. If a form is sent by a script without a <form>, or through form.submit(), the browser doesn't create that event. Send a custom event instead, such as generate_lead.
Coming soon. A
file_downloadevent for links to files (pdf, docx, xlsx, zip and so on). The tracker doesn't send it yet: a click on such a link to another domain arrives asclick, and a link on your own domain sends nothing.
Coming soon. Turning off individual automatic events in site settings. For now, the tracker sends every event in the table.
What isn't collected
- Form field values, phone numbers and email addresses from links.
- Query parameters other than UTM, and ad click ID values — the value is replaced with
1before sending. - The part of the URL after
#, and the path of an external referrer. - Button clicks, internal link clicks, mouse movement, keystrokes.
- Cookies,
localStorage,sessionStorage, IndexedDB: the tracker stores nothing on the visitor's device and creates no identifiers in the browser. - Fingerprinting data: the only thing read from the browser environment is the window width. IP addresses are not stored.
The full list is on What data is collected and at Data and privacy. Whether you need visitor consent is up to the site owner and their lawyer; see Visitor data statement.
When events aren't sent
The tracker stays silent when the page is opened:
- on
localhost,*.localhost,127.*, an IPv6 address such as[::1], or a*.localdomain; - from a file (
file:); - inside an
<iframe>, such as a site builder preview; - in an automated browser (headless,
navigator.webdriver).
In debug mode, events are still printed to the console in these cases, but nothing is sent to the server.