Universal Analytics had Goals. GA4 does not. If you've been managing GA4 for a client who came from UA and they keep asking "where do I set up my goals?" — this is the article to send them. The concept wasn't removed, it was restructured into something more flexible: a two-step system where every user action is an Event, and the specific events that matter to the business are marked as Key Events.
The practical difference is that UA Goals required a separate configuration step in the Admin panel — you defined the goal, chose a type (Destination, Duration, Pages/Visit, Event), and it ran independently. GA4 flips that model: you first make sure the event fires (either via GA4's automatic tracking, enhanced measurement, or a custom event in GTM), then you go to Admin → Events and toggle "Mark as key event." Two steps, but the second one is a single click. If the event is already firing, setting up a Key Event takes about ten seconds. The confusion comes from the UA → GA4 conceptual gap, not from the GA4 mechanism itself.
UA Goals → GA4 Key Events: The Direct Translation
Here is a direct mapping of every Universal Analytics Goal type to its GA4 equivalent:
| UA Goal Type | GA4 Equivalent | Notes |
|---|---|---|
| Destination (URL = /thank-you) | Ensure page_view fires on /thank-you, mark as Key Event — or fire a custom form_submitted event via a GTM Page View trigger on that URL |
The page_view approach works when the thank-you page is truly only loaded on success. If it can load without a form submission (e.g. direct URL access), use a custom event with a GTM trigger that requires a form interaction in the same session. |
| Duration (session ≥ 5 minutes) | No direct equivalent. Use Engagement Rate (engaged session > 10s / 2 pages) as a proxy, or fire a custom engaged_visitor event via a GTM Timer trigger at 300 seconds |
GA4's built-in engaged session definition (10s or 2 pageviews or a conversion) is intentionally loose. If the 5-minute threshold was meaningful in your UA reporting, recreate it with a GTM Timer trigger. |
| Pages/Visit (≥ 5 pages) | No direct equivalent. Track with a custom counter event via GTM that fires on the 5th page_view trigger; or use scroll depth as a content-engagement proxy |
In GTM, a custom JavaScript variable can count pageviews within a session stored in sessionStorage and fire an event when the threshold is crossed. |
| Event Goal (category / action / label) | Fire the event with an event name and parameters; mark as Key Event in GA4 Admin → Events | UA event goals used a three-tier taxonomy (category/action/label). GA4 uses a flat event name + parameters model. Map your UA event category to a descriptive GA4 event name (e.g. video_complete) and put the specifics (video title, etc.) as event parameters. |
| Smart Goal | Does not exist in GA4. Use data-driven attribution in Google Ads instead | Smart Goals in UA were an AI-estimated proxy for conversion quality when you had no real goal data. GA4's data-driven attribution model (available natively) is a more principled replacement — but it requires real conversion data from your actual key events. |
How GA4 Key Events Work
The mechanics are simpler than UA Goals once you see the model clearly. In GA4, all user interactions are events — page views, button clicks, form submissions, purchases. Key Events are simply the events you've told GA4 to treat as significant for your business.
The toggle in Admin
Go to GA4 → Admin → Data display → Events. You'll see a table of all events GA4 has recorded for the property. Next to each event name is a toggle: "Mark as key event." Turning it on is all it takes. The event immediately starts appearing in the Key Events report under Reports → Lifecycle → Conversions (the section header in GA4 was renamed "Key Events" but many UIs still show "Conversions" depending on your account vintage — they refer to the same thing).
Importing into Google Ads
This is the most practically important use of Key Events for most teams. Once you've marked an event as a key event in GA4, you can import it into Google Ads as a conversion action. From Google Ads: Goals → Conversions → New conversion action → Import → Google Analytics 4 → select your property → select the key event. After importing, Google's Smart Bidding algorithms can optimize campaigns toward it. The GA4 and Google Ads accounts must be linked before this option appears (GA4 Admin → Product links → Google Ads links).
Counting: once per session vs once per event
When a key event fires multiple times in one session — say a user watches three videos and video_complete fires three times — GA4 has two counting modes:
- Once per session: only one key event is counted regardless of how many times the event fires. Use this for lead forms and purchases where a user buying twice in one session is still one conversion. This is the default for most setups and matches how UA counted Goals.
- Once per event: each instance of the event counts. Use this for repeat actions where each instance has genuine business value — booking a second appointment, adding multiple items to a wishlist, each file download representing a lead.
The counting setting lives in Google Ads (when you import the key event as a conversion action) rather than in GA4 itself. In GA4 reports, every occurrence appears. In Google Ads reports, the setting controls what gets credited to the campaign.
Any event can be a Key Event
GA4 does not restrict which events you can mark. Automatically collected events, enhanced measurement events, recommended events, and custom events are all eligible. This is different from UA, where you had to configure event goals ahead of time and they only tracked going forward. In GA4, if the event has already been firing, you can mark it as a key event today and GA4 will backfill the last 3 days of data.
Automatically Collected Events Worth Marking as Key Events
GA4 automatically collects a set of events on every property without any extra configuration. Some of these are directly conversion-relevant. If the corresponding feature is live on your site or app, these should be marked as key events with no additional setup required:
purchase— if you have GA4 ecommerce tracking implemented, this event fires on every completed order. It should almost always be a key event, and it should almost always be imported into Google Ads as a primary conversion. If it is not marked as a key event on an ecommerce site, that is a configuration error.generate_lead— fires when you call the standardgtag('event', 'generate_lead')on a lead form confirmation. This is a recommended event, not auto-collected — you need to implement the gtag call. But if it's already there, it should be marked.file_download— fires automatically via enhanced measurement when a user clicks a link to a PDF, DOC, or other file. For lead-gen sites that use PDF guides or whitepapers as conversion points, this is worth marking as a key event. Filter by thelink_urlparameter if you want to track only specific high-value downloads, which you can do via a GA4 custom event based on this one.sign_up— a recommended event (not auto-collected) that fires when a user creates an account. Implement via GTM or gtag on the signup confirmation step, then mark as a key event. For SaaS products this is usually the most important Key Event after purchase.begin_checkout— for ecommerce, marking this as a key event lets you measure checkout funnel abandonment in GA4 and Google Ads. It is a standard ecommerce event that fires when a user starts the checkout flow. Useful as a secondary Google Ads conversion for remarketing audiences.
Are your key events configured correctly?
NiceLookingData runs 61 automated checks on your GA4 property — including whether purchase is marked as a key event on ecommerce properties, whether background events like session_start are incorrectly flagged, and whether you're approaching the 30 key event limit. Run a free audit →
Migrating UA Goals to GA4
Using the migration assistant
Google provides a migration assistant inside GA4: Admin → Data collection and modification → Migrate Goals (this path varies slightly by account). The tool reads the goals configured in your linked Universal Analytics property and offers to create corresponding Key Events in GA4 based on them. It is the fastest starting point if your UA goals were well-maintained.
What the migration does and does not do
The migration assistant creates Key Events in GA4 that match the logic of your UA Goals. A UA Destination Goal pointing to /thank-you generates a Key Event condition that marks page_view events on that URL. A UA Event Goal translates to matching the corresponding GA4 event name and parameters.
What it does not do:
- It does not migrate historical data. UA Goal completions from before the migration date are not visible in GA4. The two datasets are separate and GA4 has no mechanism to import UA historical goal records.
- It only works when the GA4 property is linked to the UA property in the same Google Analytics account. Cross-account migrations require manual recreation.
- It creates Key Events based on UA Goal conditions, not on verified event data. If a UA Goal was pointing to a URL or event that is not actually firing in GA4, the migrated Key Event will have zero data. Verify each migrated key event against the Events table to confirm it's receiving hits.
When to migrate vs rebuild from scratch
Use the migration assistant when: your UA goals were actively maintained, each goal represents a real conversion you still care about, and the corresponding GA4 events are confirmed firing. In that case, migration is a five-minute job that gives you continuity without manual recreation.
Rebuild from scratch when: your UA property had goals set up years ago and never cleaned up (duplicate goals, goals pointing to retired URLs, description-only goals that never fired, goals left over from a previous agency). Migrating a messy set of UA goals produces a messy set of GA4 Key Events. Better to audit what conversions actually matter to the business today and set those up cleanly. This is also an opportunity to move from UA's URL-match Destination Goals to proper event-based Key Events, which are more reliable and easier to debug.
FAQ
Does GA4 have goals?
No. GA4 does not have Goals as a feature. The Goals section that existed in Universal Analytics Admin was removed when GA4 launched. The replacement is Key Events — events you flag as conversion-relevant inside GA4 Admin → Data display → Events. The underlying idea is the same (mark the actions that matter), but the mechanism is event-first: the event has to fire first, then you mark it.
What replaced goals in GA4?
Key Events replaced Goals in GA4. Key Events are events marked with the "Mark as key event" toggle in GA4 Admin. Once marked, they appear in the Key Events report (under Reports → Lifecycle) and in conversion columns across standard reports. They can also be imported into Google Ads as conversion actions for bidding purposes.
How do I set up a key event in GA4?
First, confirm the event is firing: check GA4 → Reports → Realtime or Admin → Data display → Events to verify the event name appears with data. Then go to Admin → Data display → Events, find the event in the list, and toggle "Mark as key event" to on. The event will appear in the Key Events report immediately and GA4 backfills up to 3 days of prior data.
What is the difference between events and key events in GA4?
Every user interaction in GA4 is an event — page views, clicks, scrolls, form submissions, purchases. Key Events are the subset of those events you've designated as important to your business. All Key Events are events, but most events are not Key Events. The distinction is purely a business designation: you're telling GA4 "when this event fires, count it as a meaningful outcome." There is no technical difference in how the underlying data is collected.
How do I import GA4 key events into Google Ads?
In Google Ads: Goals → Conversions → New conversion action → Import → Google Analytics 4 properties → select your GA4 property → check the key event you want → Import and continue. Your GA4 property must be linked to the Google Ads account first (via GA4 Admin → Product links → Google Ads links). After importing, set the new conversion action as primary (influences bidding) or secondary (tracked for reporting only) depending on whether you want Smart Bidding to optimize toward it.
Why don't I see Conversions in my GA4 menu?
Google renamed the "Conversions" section to "Key Events" in GA4's Reports → Lifecycle navigation. The section still exists, it just has a different label. If you don't see it at all, check that at least one event has been marked as a key event — the report section is hidden until there is at least one. Also check that you're looking under Reports → Lifecycle, not in the Advertising workspace (which has a separate "Conversions" section that refers to Google Ads conversion actions, not GA4 key events).
Can I migrate my Universal Analytics goals to GA4?
Yes, with limits. GA4 has a migration assistant at Admin → Data collection and modification → Migrate Goals. It creates GA4 Key Events based on the logic of your linked UA property's goals. The migration does not transfer historical data — UA goal completions from before the migration remain in UA only. It also requires the GA4 property to be linked to the UA property in the same account. If your UA goals were messy or out of date, a manual rebuild in GA4 will produce cleaner results than a migration.
What is the GA4 equivalent of a destination goal?
The closest equivalent is marking the page_view event as a key event and filtering it to the specific URL. You can do this via GA4's event modification feature (Admin → Data display → Events → Create event) to create a new event named thank_you_page_view that fires only when page_location contains /thank-you, then mark that new event as a key event. The more robust approach for forms is to fire a dedicated form_submitted event from GTM triggered on the thank-you URL load, which makes the event explicitly tied to the form action rather than just a page visit.
Check your GA4 key event configuration automatically
NiceLookingData audits your GA4 property across 61 checks — including key event coverage gaps, events that are marked but not firing, background events incorrectly flagged as conversions, and whether your Google Ads link is set up to receive them. Free for one property, takes under two minutes. Run your free GA4 audit →
Analytics consultant turned founder. After years running the same GA4 and GTM audits across client engagements, Ludde built the audit into a product — so the pattern-matching takes a minute, not a meeting. More about Ludde →
Run a free GA4 audit.
Connect your Google Analytics 4 property. Our auditor runs 61 checks and gives you an instant health score with a plain-English action plan.
