- GA4
- Events
- Tracking Plan
- Google Tag Manager
GA4 Recommended Events: Which to Set Up, Which to Skip
By Dolphin Analytics team · Published 30 Sept 2026 · Last checked 30 Sept 2026
TL;DR
GA4 recommended events are events you send yourself, but whose names and parameters Google has already defined, like purchase, generate_lead and sign_up. Google's exact names unlock GA4's built-in reports. Most sites need a short list: the shopping funnel for shops, generate_lead for lead generation, sign_up, login and purchase for SaaS. Skip events for features you don't have. We plan and build these for clients most weeks.
Olamide Sule, founder of Dolphin Analytics: a digital analytics expert based in London who plans and builds GA4 event tracking for agency and in-house clients.
We write GA4 event plans for agencies and in-house teams most weeks, and one question comes up early in every one: which of Google’s recommended events do we actually need? Google’s list covers online shops, lead generation, apps and games, and most of it won’t apply to any single business. This is the pick list we use when we build a tracking plan: what to set up for your type of site, what to skip, and how to send each event so GA4 recognises it.
When teams come to us pulling their hair out with data challenges, event names
are often where the trouble started: Purchase in one tag, order_complete in
another, and an enquiry form that sends nothing GA4 can report on.
What are GA4 recommended events?
GA4 recommended events are events you implement yourself, but whose names and
parameters Google has already defined, such as purchase, generate_lead and
sign_up. Google’s own
events documentation
says these events “unlock existing and future reporting capabilities”. GA4
doesn’t create them for you: they only exist if your site, your tag manager or
your ecommerce platform sends them.
They sit between the other event types in Google’s definitions. Automatically collected events arrive by default, enhanced measurement events arrive once that setting is on, and custom events are names you invent. Our guide to events in Google Analytics explains all four types. Recommended events are the useful middle: you still have to build them, but you don’t have to design them.
Google’s recommended events list groups them into sets: events for all properties, for online sales, for lead generation and for games. Read it as a menu. Nobody needs the whole thing.
Why use Google’s event names instead of your own?
Use Google’s exact names because the name is what makes an event
“recommended”. Tag Manager’s own
setup guide says that
to create a recommended event you use one of the predefined event names, and
GA4’s event naming rules
make names case sensitive, so Purchase and purchase count as different
events.
A near miss lands as a custom event instead. Google’s advice is to create
custom events only when
no other event works for your use case, because they don’t show up in most
standard reports and need custom reports or explorations. The
recommended events list
says the online sales events populate the Ecommerce purchases report and the
lead generation events populate the Lead acquisition report. A custom
order_complete feeds neither.
The same naming rules
say every name must start with a letter and use only letters, numbers and the
underscore, with no spaces. So add-to-cart and Add To Cart are both out.
When we audit accounts, a correct event under the wrong name is one of the
faults we find most often. You can rename it in GA4 later, but Google’s
guide to renaming events
says modified events do not apply to historical data. The new name only covers
data collected after the change, so everything before it stays under the old
one.
Which recommended events should an ecommerce site set up?
An ecommerce site should set up the shopping funnel, from view_item through
add_to_cart and begin_checkout to purchase, because those names feed
GA4’s ecommerce reports. Google’s
recommended events list
says sending the online sales events populates the Ecommerce purchases report.
The rest of the set depends on which features your shop actually has.
| Event | Set it up? | Why |
|---|---|---|
view_item | Always | The top of the product funnel |
add_to_cart | Always | The first real sign of buying intent |
begin_checkout | Always | Where checkout drop-off analysis starts |
purchase | Always | The event that carries order revenue |
view_item_list and select_item | Yes, if you have category or search result pages | Shows which lists get products seen and clicked |
view_cart | Yes, if you have a basket page | Separates basket views from checkout starts |
add_shipping_info | Yes, if delivery is its own step | Pins drop-off to the delivery step |
add_payment_info | Yes, if payment is its own step | Pins drop-off to the payment step |
remove_from_cart | Optional | Useful only if someone will read it |
add_to_wishlist | Only if you have a wishlist | Otherwise it never fires |
view_promotion and select_promotion | Only for internal banners you want to compare | Worth it only if someone compares the banners |
refund | Only if your back office can send it | Refunds happen after the visit, away from the browser |
Get purchase exactly right before anything else. Google’s
event reference
lists transaction_id, value, currency and items among its parameters,
and notes that if you set value, then currency is required for revenue
metrics to be computed accurately. Every product in items needs an item_id
or an item_name. Our GA4 ecommerce data layer guide
has the push for each event, and if GA4 already shows more orders than your
store, start with our duplicate purchase events fix.
refund is the one most shops should leave until later. The browser tag rarely
sees a refund, because refunds usually happen in the back office after the
visit. The
Measurement Protocol
exists for this kind of server-to-server and offline event, and our
Measurement Protocol explainer covers
the setup.
Which recommended events should a lead generation site set up?
A lead generation site should send generate_lead on every genuine enquiry,
and add the later lead stages only when its CRM can send them back to GA4.
Google’s recommended events list
aims the full lead set at funnels where conversions occur offline, naming
business-to-business, automotive and insurance sales, and says sending them
populates the Lead acquisition report.
Google’s list defines each stage by when it happens:
generate_lead: someone submits a form online or submits information offline.qualify_lead: the lead is marked as fitting the criteria to become a qualified lead.working_lead: the lead contacts, or is contacted by, a representative.close_convert_lead: the lead becomes a customer.disqualify_lead: the lead is marked as disqualified.close_unconvert_lead: the lead is marked as not becoming a customer.
Only generate_lead usually happens on your website. The rest happen in your CRM,
often weeks later, so they reach GA4 through the
Measurement Protocol,
which needs the visitor’s GA4 client_id stored against the CRM record to join
the event to the original visit. If your CRM can’t do that yet, send
generate_lead properly and stop there. A half-built lead funnel looks like a
conversion problem when it is really a plumbing problem.
For generate_lead itself, Google’s
gtag.js event reference
lists a value and currency pair plus an optional lead_source. Put a value
on the lead if your sales team can agree one. Our
key events guide covers marking it as a
key event and sharing it with Google Ads.
Two traps come up again and again in the lead generation setups we audit. The
first is newsletter sign-ups: if you also take sales enquiries, keep them out
of generate_lead and give them their own custom event, or your lead count
mixes two very different things. Tag Manager’s own
example event name is
signup_newsletter, which works well.
The second is double counting. Enhanced measurement’s
form interactions send
form_submit when a user submits a form, any form, so marking both
form_submit and generate_lead as key events counts one enquiry twice. If
your forms are HubSpot embeds, our
HubSpot form tracking guide shows how to
fire generate_lead only on a real submission.
Which recommended events should a SaaS or subscription site set up?
A SaaS or subscription site should set up sign_up and login, plus
purchase when someone pays. Google’s
recommended events list
defines sign_up as someone signing up for an account on your website or app,
and login as someone logging in. Add generate_lead for demo requests if
sales talks to people before they buy.
Google’s event reference
gives both sign_up and login a method parameter for the route the user
took, such as email or Google. Send it. Without it you can see that sign-ups
dropped; with it you can see which sign-up route broke.
The same reference
describes tutorial_begin as the start of the onboarding process and
tutorial_complete as the user’s completion of it, and suggests using the two
in a funnel to understand how many users complete the tutorial. Build them if
you have a guided setup flow. If your product has no onboarding flow, skip them.
Which GA4 recommended events can you skip?
Skip any recommended event for a feature you don’t have, any event enhanced measurement already sends, and any event you can’t fill with the parameters it needs. Google’s recommended events list covers shops, lead generation, apps and games in one place, so most of it is somebody else’s business.
- The game events.
level_start,level_end,level_up,post_scoreandunlock_achievementsit in the games set, alongsideearn_virtual_currencyandspend_virtual_currency. Unless you build games, leave them alone. ad_impressionon a website. Google’s list describes it as an ad view “for apps only”, and it appears among the reserved event names for web.search, when enhanced measurement already sees your site search. Enhanced measurement sendsview_search_resultswhen the results URL carries a search parameter (q,s,search,queryorkeywordby default). Sendsearchyourself only when your search runs without one of those in the URL.refund, if nothing in your stack can send it. An emptyrefundevent is worse than none, because it suggests refunds are tracked when they aren’t.- Promotion events without internal promotions.
view_promotionandselect_promotionare for when a user views a promotion on your website or app, and when a user selects one. If you run no promotions, or nobody will compare them, they add build and testing work for a report nobody opens. share,select_contentandjoin_group, unless a question depends on them. They suit content sites and communities. Build them when someone has a question they answer, not because they are on the list.
Our rule when we write a plan is simple: every event needs an owner and a question it answers. If it has neither, it waits.
How do you send a recommended event?
You send a recommended event from Google Tag Manager, from gtag.js in the site code, or by creating it inside GA4 from an event you already collect. In every case the event name must match Google’s list exactly, in lower case, as the naming rules treat any other casing as a different event.
In Google Tag Manager. Google’s Tag Manager guide covers the same steps:
- In your container, go to Tags > New and name the tag.
- Click Tag Configuration and choose Google Analytics: GA4 Event.
- Enter your GA4 Measurement ID.
- In Event Name, type the recommended name exactly, for example
generate_lead. - Add the event’s parameters, such as
lead_source, as parameter rows. - Under Triggering, pick the trigger for the real action, such as a form success event, not a button click.
If your developer pushes events to the data layer, the push for a lead looks like this. Our data layer guide shows how GTM turns it into a trigger and a variable.
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'generate_lead',
lead_source: 'contact_form'
});
In the site code. If your site runs gtag.js directly, Google’s event setup guide uses this pattern, and warns that Google won’t process events placed above the Google tag snippet:
gtag('event', 'sign_up', {
method: 'email'
});
Inside GA4, without code. In Admin > Data display > Events > Create
event, you can build generate_lead from a page_view on your thank-you page
URL, following Google’s
guide to creating events.
It is only as good as the page it matches: a thank-you URL that people reload
or bookmark will over-count, and it can’t invent a real order value or an
items array the page never sent.
Whichever route you pick, watch the event arrive before you trust it. Google’s event setup guide points to the Realtime and DebugView reports for this. If nothing shows up, our DebugView troubleshooting guide covers the usual causes.
When should you call someone?
Most teams can pick their events from this page and build the simple ones themselves. Call someone when one of these is true:
- GA4 revenue and your order system disagree, and you can’t find which event is wrong.
- You want the lead stages, which means joining your CRM to GA4 through the Measurement Protocol.
- Custom names already do recommended jobs in your property, and renaming them means planning around split history.
- An agency or developer is about to build, and nobody has written down which events, parameters and triggers they should use.
That last one is most of our event work. We write the plan, build it in Google Tag Manager, and check every event in DebugView before anyone reports on it. Our GA4 setup service covers that build, and if you already know you need someone inside the account, our paid GA4 audit works through the property with access to GA4 and Tag Manager and ends in a written findings report.
Clean event names pay off when someone reads the funnel they build. On one client’s app sign-up funnel, this is what the reading turned up.
Insights from a global car maker's app sign-up funnel increased its app sign-ups by 67% and recovered around 1,000 sign-ups a month that a bug had been losing.
If your event setup already feels tangled, tell us what’s broken, or book a call.
Frequently asked
What are recommended events in GA4?
Recommended events are GA4 events you implement yourself, but whose names and parameters Google has already defined, such as purchase, generate_lead, sign_up and login. Google groups them into sets for all properties, online sales, lead generation and games. Using the exact names unlocks GA4's built-in reports, such as the Ecommerce purchases report for online sales events.
What is the difference between recommended and custom events in GA4?
Google defines a recommended event's name and parameters; you define a custom event's. Recommended events feed GA4's standard reports. Custom events don't show up in most standard reports, so you need custom reports or explorations to use them. Google's advice is to create a custom event only when no other event works for your use case.
Do I need to set up every GA4 recommended event?
No. The list is a menu, not a checklist. Shops need the shopping funnel from view_item to purchase, lead generation sites need generate_lead, and SaaS sites need sign_up, login and purchase. Skip events for features you don't have, like the game events, and events you can't fill properly, like refund when nothing in your stack can send it.
Should a newsletter sign-up be generate_lead or sign_up?
Neither, if you also take sales enquiries. Google describes sign_up as someone signing up for an account, and sending newsletter subscriptions as generate_lead mixes them into your lead count. Give newsletter sign-ups their own custom event, such as signup_newsletter, which is the example name Google's own Tag Manager guide uses.
Can I create a recommended event in GA4 without code?
Yes, for simple cases. In Admin > Data display > Events > Create event, you can build an event such as generate_lead from an existing page_view on your thank-you page. It is only as good as the page it matches, so a thank-you URL that people reload or bookmark will over-count. Anything that needs parameters like value, currency or items belongs in the data layer or the site code.
Are GA4 event names case sensitive?
Yes. Google's event naming rules say names are case sensitive, so Purchase and purchase are different events. A capitalised or misspelt recommended name lands as a custom event and misses the reports built for it. Names must start with a letter and use only letters, numbers and the underscore, with no spaces.