1. The model
GA4 is built on an event-based model. The three components:
- Events. User interactions or system occurrences. Every event has a name and parameters. Examples:
page_view,click,form_submit,purchase,scroll. - Users. Visitors, identified by a
client_id(cookie or user-provided ID) and (if signed in) auser_idyou supply. - Sessions. A group of events from one user in one continuous period, defaulting to 30 minutes of inactivity ending a session.
The events flow:
- Browser (or server) sends an event to GA4.
- GA4 stores the event, attributed to the user and session.
- Reports aggregate events over time windows.
- Audiences (cohorts of users) can be exported to Google Ads for remarketing.
- BigQuery export (free if linked to a GCP project) makes raw events available for analysis.
2. The data stream
GA4 receives events through data streams:
- Web stream. The gtag.js or Google Tag Manager on the website.
- iOS / Android stream. The Firebase SDK.
- Server stream. The Measurement Protocol, an HTTP endpoint for server-side events.
For a dealer, the web stream is the primary one. The server stream is becoming more important for the reasons discussed in the cookies article — server-side tracking bypasses browser restrictions.
3. The install
Two main paths:
- gtag.js. A snippet placed on every page. Direct, simple, less flexible. You add events inline.
- Google Tag Manager (GTM). A tag management system that lets you manage GA4 events (and other tags) without editing the website code. The recommended approach.
The GTM pattern:
[Website]
↓ (data layer push on user interaction)
[GTM container]
↓ (tags fire based on triggers)
[GA4 / Google Ads / Meta / etc.]
The data layer is a JavaScript object (window.dataLayer) that holds structured information about the page and the user. Marketing tags, analytics tags, and pixels all read from it. A well-defined data layer is the foundation of a workable measurement setup.
4. Events and conversions
GA4 has four categories of events:
- Automatically collected.
page_view,scroll,click,view_search_results, etc. No config needed. - Enhanced measurement. Form interactions, video engagement, file downloads, site search. Toggle on in the GA4 admin.
- Recommended events. Standard names for common actions (
login,sign_up,purchase,add_to_cart,generate_lead,begin_checkout, etc.). Send with the documented parameter schema. - Custom events. Anything else. Name and define parameters yourself.
Conversions are just events you’ve marked as a conversion in the GA4 admin. Typical dealer conversions:
generate_lead(form submission)contact_phone_click(click on a phone number)credit_app_start(started a credit application)credit_app_submit(submitted a credit application)schedule_service_submit(scheduled a service appointment)directions_click(clicked “Get Directions”)test_drive_submit(test drive form submitted)
The mark-as-conversion happens in the GA4 admin, and the conversion then counts toward bidding, audiences, and reports.
5. Identity and users
GA4’s identity model is best-effort. By default, it uses:
- Device-based ID (
client_id). A randomly generated ID stored as a first-party cookie. Survives within the same browser/device, lost on clear-cache. - User-provided ID (
user_id). When the user signs in (rare on a dealer site), you push their CRM ID to GA4. This becomes the unified identifier. - Google signals. If the user is signed into a Google account and has personalized ads on, GA4 can stitch across devices with reasonable confidence.
- Modeling. When identity isn’t clear, GA4 uses statistical models to fill in the gaps. This is increasingly the default.
The practical implication: GA4 user counts are approximate. The number “18,432 users last month” is more like a range, “17,000-20,000 with high confidence.” For most marketing decisions, this is fine. For rigorous analysis, BigQuery export gives you the raw data.
6. Consent mode
GA4 supports two consent modes:
- Basic consent mode. GA waits for consent signals from the CMP. Without analytics consent, no cookies are set, no events are sent. You see less data.
- Advanced consent mode. Even without consent, GA sends “cookieless pings” — anonymous, aggregated signals. Google’s machine learning uses these to model behavior of users who didn’t consent. You see more data, but at a privacy cost.
Configure in the GA4 admin → data stream → consent settings. The CMP signals via gtag('consent', 'update', {...}) or via the GTM consent state.
7. BigQuery export
Linking GA4 to a Google Cloud Platform project enables daily export of all events to BigQuery. This is the most powerful capability GA4 offers:
- SQL access to raw events. No aggregation, no sampling, no Google’s interpretation. Just the data.
- Custom analysis. Funnels, retention, attribution — anything you can express in SQL.
- Combine with other data. Join GA4 events with CRM data, DMS data, ad platform data, weather data — anything in BigQuery.
- Free export. BigQuery storage costs are minimal for typical dealer volumes; query costs depend on usage.
The catch: you need someone who can write SQL. For a small dealer, the GA4 interface is enough. For a multi-rooftop group doing serious analysis, BigQuery export unlocks the real work.
8. Server-side GA4
For server-side GA4, you set up a server GTM container (often running on Cloudflare Workers, GCP Cloud Run, or a similar platform). The web GTM sends events to the server container, which then forwards to GA4 and other vendors.
Benefits:
- Bypasses browser cookie restrictions (the server sets its own first-party cookies).
- Reduces client-side script load.
- Enables server-side enrichment (e.g., add CRM data to the event before sending to GA4).
- Centralizes vendor management.
For a single dealer, this is overkill. For a group with heavy paid media and sophisticated attribution needs, it pays for itself.
9. Audiences and remarketing
GA4 audiences are cohorts of users defined by event sequences, parameters, or user properties. Common dealer audiences:
- “Visited a VDP but did not submit a lead in 7 days.”
- “Submitted a lead but did not visit the service page in 30 days.”
- “Viewed 3+ vehicles in the last 14 days.”
These audiences can be exported to Google Ads for remarketing. They can also be used in GA4 reports for analysis.
10. Reporting
The GA4 interface has:
- Reports snapshot. Default landing; the standard reports.
- Explore. Custom reports, funnels, path explorations, user explorer.
- Dashboards. Customizable summary views.
For most dealers, the standard reports are enough:
- Acquisition. Traffic by channel.
- Engagement. Pages and screens, events.
- Monetization. (Less relevant for dealers unless they sell parts online.)
- Retention. (Less relevant for dealers unless they have a frequent-purchase model.)
- Demographics. Age, gender, location, interests (when signals are available).
Looker Studio (covered in its own article) is the better dashboarding surface for executive reporting.
11. Common configuration mistakes
- No conversion events marked. Every event comes in, but the dealer has marked nothing as a conversion. Reports are useless.
- Duplicate conversion events. Both the gtag and the GTM container are firing the same event. Conversions are double-counted.
- Missing data layer. Events are hardcoded in the page, not pushed to the data layer. GTM can’t reliably fire.
- No internal traffic filter. The dealer’s own team is inflating traffic numbers.
- No bot filtering. Spam and bots are showing up as users.
- No BigQuery export. Even if the team doesn’t have SQL skills, the export is the safety net.
- No offline conversion import. Online leads are tracked; what happened after isn’t. Attribution stops at the form submission.
12. The GA4 measurement plan for a dealership
A minimum viable measurement plan:
| Event | Trigger | Conversion? |
|---|---|---|
page_view |
automatic | no |
scroll |
automatic (90% depth) | no |
click |
automatic (outbound, file download) | no |
view_search_results |
site search | no |
generate_lead |
form submission | yes |
contact_phone_click |
click on phone number | yes |
directions_click |
click on “Get Directions” | yes |
credit_app_start |
credit application first step | no |
credit_app_submit |
credit application submission | yes |
schedule_service_submit |
service appointment form | yes |
test_drive_submit |
test drive form | yes |
viewed_vdp |
vehicle detail page view | no |
viewed_srp |
search results page view | no |
Custom dimensions for vehicle VIN, model, trim, price range. User properties for customer type (anonymous, lead, customer). All marked as conversions or not based on the business priority.
13. References
- Google Analytics 4 official documentation.
- GA4 event reference and recommended event schemas.
- Google Tag Manager documentation.
- Google Cloud BigQuery documentation.
- Google Consent Mode v2 documentation.
- “Lean Analytics” by Alistair Croll and Benjamin Yoskovitz.
- “Web Analytics 2.0” by Avinash Kaushik.
- “Marketing Analytics” by Mike Grigsby.
Part of the Just Enough to Be Dangerous infrastructure series from VCTRS. Prefer the plain-English version? Read What Google Analytics Actually Means for Your Dealership (And Why It Won’t Fix Anything By Itself).
