A Goal in web analytics is a user action defined as success β a purchase, signup, demo request, or pageview of a thank-you page. The term traces back to Universal Analytics, where Goals were first-class objects with four pre-defined types and a 20-per-view cap. GA4 has no “Goals.” Google retired the concept and replaced it with Conversions β renamed to Key Events in 2024. This guide covers what a UA Goal was, why GA4 ditched the model, how the four legacy types map to GA4 Key Events, the migration playbook, and common mistakes that distort historical reports.
What a “Goal” Was in Universal Analytics
In Universal Analytics, a Goal was a configured success condition attached to a view. You opened Admin β View β Goals, picked one of four types, named it, and UA started counting completions from that point forward. Each view supported up to 20 active Goals, and a session could complete each Goal once.
The four Goal types were Destination, Duration, Pages/screens per session, and Event. Goal Value was an optional monetary number assigned to each completion, and Smart Goals (a fifth machine-learning option for Google Ads accounts) sat on top of the same framework.
This was a closed model. A Goal was its own object β separate from Events, separate from Pageviews β and Reports surfaced Goal completions as a top-level column alongside sessions and bounce rate, which made the metric feel canonical even when the underlying Event was misconfigured.
Why GA4 Has No “Goals” β Replaced by Conversions / Key Events
GA4 was built on a fully event-based data model. Every interaction β a pageview, scroll, video play, purchase β is an event. There is no separate Goal object: any event can be marked as a conversion with a single toggle.
Google announced the rename to Key Events in March 2024. The mechanic is unchanged β you toggle a switch in Admin β Events β but the label moved. “Conversion” is now reserved for events imported into Google Ads for bidding. In the GA4 UI you’ll see “Key event,” in legacy docs “Conversion,” and most analysts still say “conversion” in conversation.
Three reasons Google made this change. First, the per-view cap of 20 was a constant pain point. Second, the four pre-defined Goal types couldn’t capture modern interactions like video engagement, scroll depth, or in-app screen views. Third, retroactive analysis was impossible β a UA Goal only counted from creation forward. GA4 fixes all three: unlimited Key Events, any event qualifies, and historical data is retroactively included once the toggle flips.
The 4 UA Goal Types and Their GA4 Equivalents
Every UA Goal type maps to a GA4 pattern, but only one is a direct one-to-one mapping:
| UA Goal Type | UA Trigger | GA4 Equivalent | Implementation |
|---|---|---|---|
| Destination | User reaches a specific URL (e.g. /thank-you) |
page_view filtered by page_location |
Create custom event from page_view with parameter condition, mark as Key |
| Duration | Session lasts at least N minutes | engagement_time_msec threshold |
Create custom event triggered when engagement time passes the threshold (or build via GTM) |
| Pages/screens per session | User views N or more pages in one session | Audience-based trigger on page_view count |
Build an audience for “page_view β₯ N”, then trigger an event on audience membership and mark Key |
| Event | Specific event with category/action/label values | Matching event marked as Key | Direct map β find the equivalent event in Admin β Events and toggle “Mark as key event” |
The Event Goal is the only clean one-to-one port. Destination Goals were the most common UA Goal β most “form submitted” tracking pointed at /success. The cleanest GA4 swap is a server-confirmed generate_lead event rather than a pageview filter, since pageviews fire on refresh and inflate counts.
Migrating UA Goals to GA4 Conversions: The Practical Playbook
If you’re still working from a UA mental model, work through these steps in order. The goal is to land in GA4 with the same business outcomes tracked, but instrumented the GA4 way:
- Inventory every active UA Goal. List each Goal name, type, trigger, and assigned value from the legacy UA admin. Don’t skip Goals you “forgot about” β those reveal where stakeholders actually look for numbers.
- Decide which Goals still matter. A site with 20 active UA Goals usually needs 5-7 in GA4. Cut vanity metrics and keep only the ones tied to a macro conversion or a meaningful micro conversion.
- Find or create the equivalent GA4 event. For Destination Goals, switch from a pageview filter to a server-confirmed event. For Event Goals, locate the matching event already firing β if it’s not there, push it via the data layer through GTM.
- Mark the event as a Key Event. Admin β Events β toggle “Mark as key event.” Wait 24-48 hours for it to appear in Reports β Engagement β Conversions.
- Re-link Google Ads. Import the new GA4 Key Event into Google Ads under Tools β Conversions β Import β Google Analytics 4 properties. Watch the bidding signal for two weeks β Smart Bidding needs a volume baseline before tCPA / tROAS stabilize.
- Document the migration. Keep a cross-reference sheet: UA Goal name β GA4 event name β marking date. Stakeholders quoting “Goal 3 last quarter” need to know what to look at in GA4.
One ordering rule: don’t toggle Key Events before the underlying event is firing reliably. Use DebugView and Realtime to confirm parameters first, then mark Key. Marking too early creates noisy historical data.
Setting Up Key Events in GA4 (Mark Event as Key)
The GA4 Key Event setup is short:
- Open GA4 β Admin β Events (under “Data display”).
- Locate the event row β for example
generate_lead,sign_up,purchase, or your custom event. - Toggle “Mark as key event” on. (Older properties still show “Mark as conversion” β same behavior, older label.)
- Wait 24-48 hours for data to populate Reports β Engagement β Conversions.
- If the event isn’t firing yet, build a custom event under Admin β Events β Create event, then toggle Key only after it has fired with real data.
For setup mechanics and the difference between primary and secondary conversions, see our conversion guide. The official reference: About key events in Google Analytics 4.
Goal Value (UA) vs Event Value (GA4)
UA let you assign a static Goal Value β say, $25 per newsletter signup β that aggregated into Goal Value totals across reports. GA4 replaces this with an event-level value parameter that you set on the event itself, dynamically per fire.
This is a meaningful upgrade. In UA every signup looked the same in revenue reports. In GA4 you can fire generate_lead with value: 50 for an enterprise lead and value: 5 for a free-tier signup. The catch: set the value and currency parameters explicitly, or GA4 reports zero value even though the count is correct.
For ecommerce, the canonical event is the purchase event, which carries value, currency, and an items array. For lead generation, attach a value reflecting expected lifetime value β even a rough estimate helps Google Ads bidding learn what’s valuable.
Goal Funnels (UA) vs Funnel Exploration (GA4)
UA’s Destination Goals supported a configured Funnel Visualization β up to 20 ordered steps before the destination URL, tied to a single Goal. It was useful but rigid: predefined at Goal creation, one funnel per Goal.
GA4 has no funnel attached to Key Events. Funnels live in Explore β Funnel exploration β more flexible (any sequence of events, segmentation, open and closed modes) but outside standard reports, so stakeholders need a saved exploration link.
Common Migration Mistakes
Most UA-to-GA4 migrations leak counting accuracy in five places:
- Renaming events between UA and GA4. If your UA Goal was “Lead Form Submit” and your GA4 event is
generate_lead, year-over-year reports won’t reconcile cleanly. Document the mapping. - Double-counting via overlapping triggers. A Destination Goal at
/thank-youplus aform_submitevent both fire on the same submission. If both are marked Key, the count is doubled. Pick one (preferably the server-confirmed event) and remove the other. - Pageview triggers in a SPA. Single-page apps that emit virtual pageviews via History API change can fire
page_viewmultiple times per real success. Fire a discrete event (purchase,sign_up) on server confirmation instead. - Attribution model differences. UA defaulted to last non-direct click; GA4 uses data-driven attribution. Even with identical events, channel-level counts will differ 20-40% β this isn’t a bug.
- Marking too many events Key. Google Ads imports max 30, and if everything is a conversion, nothing is. Keep 3-5 primary outcomes; use the rest for Explore diagnostics.
“Smart Goals” Deprecation
UA offered a fifth Goal type called Smart Goals β a machine-learning model that scored sessions and marked the top X% as completions, designed for Google Ads accounts without enough native conversion volume to optimize bidding.
GA4 has no Smart Goals. The closest replacement is Smart Bidding’s data-driven attribution, which bakes the same machine-learning signal directly into Google Ads bidding rather than surfacing it as a Goal type in Analytics. The GA4 path: fire a real conversion event (even a low-volume one), import it into Google Ads, and let Smart Bidding handle the optimization. There’s no Smart-Goal toggle to flip.
When You Still See “Goals” Terminology
The word “Goal” hasn’t disappeared from analytics tooling. You’ll still encounter it in three places:
- Looker Studio. Built-in templates and community connectors still reference “Goals,” especially older dashboards built against UA data sources. When wiring to GA4, the “Goal completions” field doesn’t map directly β you’ll pull “Conversions” or “Key event count” depending on connector version.
- Google Ads. Ads keeps the term conversion goal for grouping conversion actions used in bidding β a category like Purchases, Sign-ups, or Leads, into which you slot multiple imported events. Unrelated to UA Goals.
- Third-party tools. Matomo and Plausible still expose “Goals” as their primary success-tracking object. Expect the terminology mismatch when comparing reports across platforms.
For canonical references, see the UA to GA4 migration guide and the GA4 events reference. The terminology will keep evolving β the underlying mechanic of marking valuable events is what matters.
Frequently Asked Questions
Does GA4 have Goals?
No. GA4 retired the Goals concept that existed in Universal Analytics. Instead, any event can be flagged as a Key Event (formerly called Conversion before the 2024 rename) by toggling “Mark as key event” in Admin β Events. The mechanic replaces all four UA Goal types with a single event-based model.
What replaces Goals in GA4?
Conversions β renamed to Key Events in March 2024 β replace UA Goals. You mark any existing GA4 event as a Key Event and it’s counted in Reports β Engagement β Conversions, with no per-property cap and full retroactive history. The label “Conversion” is now reserved for events imported into Google Ads for bidding.
How do I migrate UA Destination Goals to GA4?
Don’t replicate the URL filter. Instead, fire a discrete server-confirmed event at the success moment (for example generate_lead on form submit, or purchase on order confirmation), then mark that event as a Key Event in Admin β Events. URL-based triggers double-count on refresh and miss SPA navigation, while event-based triggers stay accurate.
Are Goals and Conversions the same in GA4?
No. Goals were the UA-only concept with four pre-defined types (Destination, Duration, Pages/Session, Event) and a 20-per-view cap. Conversions in GA4 β now labeled Key Events β are any event you’ve toggled as valuable, with unlimited tracking, retroactive data, and no fixed types. The terminology is different and the underlying model is different.
Why did GA4 remove Smart Goals?
Smart Goals were a UA-specific feature that predicted high-quality sessions for Google Ads bidding when conversion volume was low. GA4’s event-based model and the data-driven attribution baked into Google Ads Smart Bidding make Smart Goals redundant β Smart Bidding now handles low-volume optimization directly without needing a synthetic Goal type in Analytics.
Can I see Goal Value in GA4?
The static “Goal Value” field doesn’t exist in GA4. Instead, set a value parameter (and a currency parameter) on each event when it fires, and GA4 will aggregate event-level value in your Conversions report. This is more flexible than UA β you can pass dynamic per-conversion values rather than a single static number β but it requires explicit instrumentation in your tag or data layer.
Where did Goal Funnels go in GA4?
UA’s funnel visualization tied to a Destination Goal is replaced by Explore β Funnel exploration in GA4. Funnels are no longer attached to Key Events β they’re built ad-hoc in Explore, which is more flexible (any sequence of events, segmentation, open/closed mode) but lives outside standard reports, so stakeholders need a saved exploration link to find them.
Related Terms
- Conversion β the GA4 replacement for UA Goals (renamed Key Event in 2024)
- Event β the foundational building block of every GA4 Key Event
- Macro Conversion β high-value primary outcomes worth marking Key
- Micro Conversion β engagement signals that feed your funnel diagnostics
- Purchase Event β the canonical e-commerce Key Event with value and items
- CPA β cost-per-acquisition tied to your Key Events
- Attribution β how GA4 assigns Key Event credit across channels
- Engagement Rate β paired with Key Events to measure quality of converted sessions