11Integrations and data
GA4 compatibility
Gauss uses the GA4 event vocabulary: a name mapping table, how to reuse gtag markup, running next to GA4, and what changes with the adapter.
Event and parameter names in Gauss are the same as in GA4: page_view, purchase, value, currency, transaction_id, items. If your site is already tagged for GA4, you don't have to design the markup again. You can run Gauss next to GA4 and compare the data.
Can I run it next to GA4
Yes. The Gauss tracker is independent: it does not read GA4 cookies, does not call gtag and does not interfere with it. The page simply has two scripts:
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<script defer data-site="YOUR_SITE_ID" src="https://collect.gausslab.io/js/gauss.js"></script>The numbers from the two systems will not match, and that is expected: they use different visitor and attribution models (see below and Metrics).
Mapping table
| Gauss | GA4 | Note |
|---|---|---|
name | event name | same |
page_location, page_referrer, page_title | parameters with the same names | Gauss cleans URL parameters and cuts an external referrer down to the domain |
content_group | content_group | same |
params.engagement_time_msec | engagement_time_msec | same |
params.value, currency, transaction_id | same names | transaction_id is stored only as a hash |
items[] | items[] | a subset of fields |
utm_* | session_source, session_medium, session_campaign … | in GA4 — session level with attribution up to 90 days; in Gauss — a visit within one day |
visitor_id | user_pseudo_id | not equivalent: in Gauss — one day and one site; in GA4 — a cookie, 2 years by default |
session_id | ga_session_id | in Gauss calculated on the server, no cookie |
| — | client_id, user_id, user_properties | not supported on purpose |
Which events match
- Automatic:
page_view,user_engagement,click(outbound links),form_submit— the same names as in GA4.contact_click(clicks on phone, email and messenger links) has no standard GA4 equivalent. - Tagged by the site:
generate_lead,sign_up,login,begin_checkout,add_to_cart,view_item,purchase,refund. - Items:
item_id,item_name,item_brand,item_category…item_category5,item_variant,price,quantity,coupon. Other item fields are dropped.
Coming soon. The automatic
file_downloadevent (file downloads). The tracker does not send it yet.
How to reuse gtag markup today
Until the adapter is available (see below), duplicate the gtag calls you need with a gauss call using the same name and parameters:
gtag('event', 'purchase', {
transaction_id: 'A-10293',
value: 249,
currency: 'USD',
items: [{ item_id: 'CM-200', item_name: 'Coffee machine CM-200', price: 249, quantity: 1 }]
});
gauss('event', 'purchase', {
transaction_id: 'A-10293',
value: 249,
currency: 'USD',
items: [{ item_id: 'CM-200', item_name: 'Coffee machine CM-200', price: 249, quantity: 1 }]
});If the call can happen before the tracker loads, add the stub earlier in the code. Calls wait in a queue and are sent once the tracker loads:
window.gauss = window.gauss || function () { (window.gauss.q = window.gauss.q || []).push(arguments); };Keep in mind when moving markup over:
- An event name uses lowercase Latin letters, digits and
_, up to 40 characters, and starts with a letter. Names with the prefixesgauss_,ga_,google_,firebase_are not accepted. - Up to 25 parameters; a value is a string of up to 100 characters, a number or
true/false. Up to 50 items initems. - Don't send
client_id,user_id, email, phone or other data about a person — Gauss does not store it, see What data is collected.
More — Custom events and Conversions and e-commerce.
gtag and dataLayer adapter
Coming soon. A separate
gauss-ga4.jsmodule. We'll publish the install code together with the module.
How it will work:
- it picks up
gtag('event', …)anddataLayer.push(…), including calls made before Gauss loads; - it passes GA4 vocabulary events and custom events, except service ones (
gtm.*,config,set,consent,js); - it keeps only allowed parameters and drops GA4 identifiers:
client_id,user_id,session_id,user_properties,gclid,_ga*and fields with personal data; - it does not duplicate
page_view: if Gauss has already sent a view for this page, the GA4 event is ignored.
With the adapter, leads, purchases and goals already tagged for GA4 will show up in Gauss without duplicate calls.
Export
Coming soon. CSV export of any report with columns in GA4 terms. Later — export of raw events for a period in a format close to the GA4 BigQuery export (
event_name,event_params,items), so you can reuse existing SQL queries and Looker Studio reports.
Key differences from GA4
- A visitor lasts one day. Without cookies Gauss does not recognize a person the next day. Visitors per week are the sum of daily visitors.
- Attribution goes to the visit with the conversion. For most key events GA4 looks back 90 days by default (GA4 attribution settings). Gauss credits a conversion to the channel of the visit where it happened. CRM deals are linked to the lead by its ID — Offline events.
- Click IDs are not stored. Gauss keeps only the fact of an ad click, without the value of
gclidand others — see Sources and channels.
How Gauss counts each metric — Methodology.