GA4 Events Explained for Beginners
In GA4, an event is a record of something that happened on your site or app. The key shift from older versions of Google Analytics is that a pageview is not a separate type of hit. It is an event. That means a page load, a click, a form submission, a file download, a video play and a purchase are all modeled the same way: something with a name and optional extra details.
This is useful once you get used to it, because you can describe many user actions in the same structure. But it can also feel like too much freedom at first.
What an event is in GA4
An event has a name, and it can have parameters. The name says what happened. The parameters add context. For example, a sign_up event might include the plan a visitor chose or the method they used to sign up.
For beginners, the important idea is that GA4 treats almost everything as an event. You are not only tracking special button clicks. A standard pageview is also an event.
The main types of GA4 events
GA4 has four broad buckets that help explain where events come from.
- Automatically collected events: basic things like a page view or a session start. These require little or no extra setup.
- Enhanced measurement events: common interactions you can switch on in your web stream settings, such as scrolls, outbound link clicks, file downloads, site search and video engagement.
- Recommended events: Google suggests names for common business actions, including sign_up, login, purchase, add_to_cart, begin_checkout and generate_lead.
- Custom events: events you define for actions that are specific to your product, such as calculator_used, free_trial_started or pricing_toggle_clicked.
For a small site, you probably need a few automatically collected events plus one or two conversion events. You do not need to track everything.
Why event names matter
GA4 event names are case-sensitive and work best as lowercase words separated by underscores. A sign-up event should be sign_up, not Sign Up or signup or signUp, if you want consistent reporting.
Pick one name per action and stick with it. If one button sends sign_up and another sends signup, GA4 treats them as different events. That can split your counts and make reports harder to read.
A simple naming convention can be:
- Start with the object or action, such as sign_up or calculator_used.
- Use snake_case, not spaces.
- Avoid adding random suffixes like sign_up_v2 unless you genuinely replace the old event.
- Keep a short internal list of event names and what they mean.
Events can carry parameters
An event name says what happened. Event parameters add context. For example, a sign_up event might include the plan a visitor chose or the method they used to sign up.
A simplified gtag.js example for a sign-up might look like this:
gtag('event', 'sign_up', {
method: 'email',
plan: 'starter'
});
The event is sign_up. The parameters are method and plan. They help you answer questions such as "Do email sign-ups choose different plans than Google sign-ups?" without creating a separate event for every combination.
Many event parameters are not automatically visible in standard GA4 reports. You may need to create custom dimensions or metrics for them, or use a tool that can query the underlying data. Before adding many parameters, ask whether you will actually use them in a report.
Common beginner mistakes
- Tracking pageviews as a custom event when GA4 already collects page views.
- Creating too many events before knowing which decisions they support.
- Changing an event name later without updating reports or dashboards.
- Sending emails, names or other personal data in event parameters.
- Treating every click as a separate event when one meaningful action is enough.
- Assuming an event works because the code is on the page. Test it in a debug view or preview mode.
These mistakes are easy to fix, but they are easier to avoid with a short planning step.
Plan events around questions
Instead of starting with a list of clicks, start with the questions you want answered.
For a small SaaS site, those questions might be:
- Which marketing channel brings people who actually sign up?
- Which pricing plan do new sign-ups choose?
- Do people use the calculator before starting a trial?
- Where do users drop off between landing and sign-up?
Each question can map to an event or a parameter:
- Channel performance can use page_view plus source and campaign parameters.
- Plan choice can use a sign_up event with a plan parameter.
- Calculator use can use a calculator_used event.
- Drop-off can use page_view events and a sign_up conversion event in a funnel.
This approach keeps your tracking focused. If an event does not help answer a question you care about, you may not need it.
Mark the important events as conversions
GA4 lets you mark events as conversions. A conversion is simply an event that matters to your business, such as sign_up, purchase or generate_lead. Once marked, it becomes easier to see conversion counts and rates in reports.
Do not mark every event as a conversion. If everything is a conversion, the reports lose their meaning. For most small sites, one or two conversion events are enough at first.
GA4 events for a small site versus simpler tracking
GA4 is powerful, but the setup can feel heavy if you only need to know how many people visited, which pages they read, and whether they clicked a sign-up button. In that case, a lightweight cookieless tracker may be a better fit.
measuremy.site uses a hosted script and an MCP server so your coding agent can read the analytics directly. It counts visits without cookies or local storage, and you can track a button click with a data attribute like this:
<button data-measuremysite-event="signup_click">Sign up</button>
That is enough for many small sites that want page views, sources, countries and a few key actions without building a full GA4 event model.
Start small and test
If you are new to GA4 events, start with the basics. Make sure page views are being recorded. Add one conversion event such as sign_up. Add one or two parameters only if they answer a specific question. Test the event in preview mode, wait for data to appear, and then decide whether more tracking is worth the effort.
GA4 events become much less confusing when you treat them as labeled actions with optional context. Keep names consistent, limit parameters to what you will use, and only mark true business actions as conversions. That approach will keep your analytics useful without turning every click into a reporting project.
See it on your own site
measuremy.site is cookieless analytics your coding agent can read. 30-day free trial, no card. Plans from $9/month.
Start free trial See the live demoAdd measuremy.site analytics to this project: connect the measuremy.site MCP server at https://a.measuremy.site/mcp for all my projects (claude mcp add --scope user; it signs in with OAuth, no key, and one sign-in covers every site), then tell me how to sign in. Details: measuremy.site/llms.txt
Free tools
- Analytics tag checker: Which analytics and pixels a site runs, plus duplicate and broken tags.
- Free UTM link builder: Add utm_source, medium and campaign to any link.
- Website traffic checker: A site's popularity rank and estimated monthly visits.
More from the blog
- How to calculate your website conversion rate, and what to compare it to
- Is my A/B test result significant? A plain-English guide with a worked example
- What is bounce rate, how is it calculated, and is yours a problem?
- How to add a visitor counter to your website or GitHub README
- How much traffic does a website get? How to estimate any site's visits
- How to track QR code scans: count them, and see which poster worked
- How to see how many people clicked your link (without a paid shortener)
- How to check if your Google Analytics 4 tag is installed (and only counting once)
- Why GA4 shows your campaign traffic as Unassigned (and how to fix the links)
- Does your redirect keep your UTM tags? How to check before a campaign goes out
- How I built a self-hosted analytics MCP server on Cloudflare Workers and D1
- UTM tracking explained: what the parameters mean and how to use them
- Conversion funnel analysis for small sites: a practical guide
- Sudden drop in website traffic? A checklist for finding the cause
- What is an MCP server? A plain-English guide for people who run websites
- How to measure a newsletter send with UTM links
- How to track Hacker News traffic
- Adding Analytics to a Framer Site
- How to ask your coding agent about your analytics
- What Is Bounce Rate and How Is It Calculated?
- A practical website analytics retention policy
- Map your site's funnel from first visit to signup
- What Is a Good Bounce Rate?
- How to automate a weekly traffic report
- A Practical Privacy-Friendly Analytics Checklist
- Adding an MCP server to Claude Code
- How long should you keep analytics data?
- How to Build a Small MCP Server That Actually Helps
- How to Find the Biggest Drop Off in a Funnel
- What Is the Urchin Tracking Module?
- What Microsoft MCP servers actually do
- UTM parameters for email newsletters
- Track Button Clicks Without Google Tag Manager
- How to track the results of a social media post without cookies
- How to track traffic from a GitHub README
- How to measure a product launch without guessing