Setting up goals in GA4 (they're called key events now)
Learn how to create and configure key events (formerly goals/conversions) in Google Analytics 4. Track the actions that actually matter to your business.
If you're looking for "Goals" in GA4, you won't find them. Google renamed the concept twice: first to "Conversions," then to "Key Events" in March 2024.
Same idea, different name. Let me show you how to set them up.
Quick terminology guide
| Old term | GA4 term | Google Ads term |
|---|---|---|
| Goals (UA) | Key Events | Conversions (when imported) |
| Goal Completions | Key Event count | Conversions |
| Goal Value | Event value | Conversion value |
When you see "Conversions" in GA4 reports, it's referring to data sent to Google Ads. Within GA4 itself, they're called "Key Events."
What makes a good key event?
Key events should represent actions that indicate real business value:
| Good key events | Not great key events |
|---|---|
| Purchase | Page view |
| Form submission | Session start |
| Account sign-up | Scroll |
| Newsletter subscription | Time on site |
| Download of pricing PDF | Clicks (generic) |
| Demo request | Page views of homepage |
Rule of thumb: If someone does this action, does it mean something for your business? If yes, it's a key event candidate.
Method 1: Mark an existing event as a key event
The simplest , if GA4 is already tracking the event you care about.
Step-by-step
- Go to Admin → Events
- Wait for your events to appear (they populate as they fire)
- Find the event you want to mark (e.g.,
generate_lead,purchase,sign_up) - Toggle "Mark as key event" ON
That's it. The event is now a key event and will appear in key event reports.
Events you might already have
| Event name | What it tracks | Source |
|---|---|---|
page_view | All page views | Automatic |
scroll | 90% scroll depth | Enhanced Measurement |
click | Outbound link clicks | Enhanced Measurement |
file_download | Document downloads | Enhanced Measurement |
purchase | E-commerce purchases | Your implementation |
generate_lead | Lead form submissions | Your implementation |
Check your Events list to see what's already being tracked.
Method 2: Create a new event, then mark as key event
What if you want to track something specific, like visits to a thank-you page?
Step-by-step
-
Go to Admin → Events
-
Click Create event
-
Name your event (e.g.,
contact_form_complete) -
Set matching conditions:
Parameter Operator Value event_nameequals page_viewpage_locationcontains /thank-you -
Click Create
-
Wait for the event to appear in your Events list (can take 24-48 hours)
-
Mark it as a key event
When to use this
- Tracking specific page views (confirmation pages)
- Creating subsets of existing events
- Adding conditions to filter when something counts
Common examples
Newsletter thank-you page:
event_name equals page_view
page_location contains /newsletter/thank-you
Contact form success:
event_name equals page_view
page_location contains /contact/success
Specific button click (if you're sending a generic click event):
event_name equals click
link_url contains /pricing
Method 3: Create via Google Tag Manager
For full control over when and how events fire.
Step-by-step
-
In GTM, create a trigger
- Choose trigger type (Form Submit, Click, Page View, etc.)
- Set conditions for when it should fire
-
Create a GA4 Event tag
- Tag Type: Google Analytics: GA4 Event
- Measurement ID: Your
G-XXXXXXX - Event Name: Your chosen name (e.g.,
form_submit) - Add event parameters if needed
-
Test in GTM Preview Mode
- Verify the tag fires when expected
- Check parameters are populated
-
Publish your GTM container
-
In GA4, mark the event as a key event
- Go to Admin → Events
- Find your new event
- Toggle "Mark as key event"
For detailed GTM setup, see our GTM configuration guide.
Configuring key event settings
Each key event has additional settings you can configure.
Counting method
Click the three dots next to a key event → Edit key event
| Method | When to use | Example |
|---|---|---|
| Once per session | Prevent duplicates | Form submissions |
| Every occurrence | Each one matters | Purchases, add-to-cart |
Event value
You can assign a monetary value to key events:
-
Static value: Set a default value in GA4
- Good for: Lead forms, signups (estimated value)
-
Dynamic value: Send value with the event
- Good for: Purchases, variable-value actions
gtag('event', 'generate_lead', { 'value': 50, 'currency': 'USD' });
Why value matters
- Helps calculate ROI
- Essential for Google Ads bidding
- Enables revenue-based analysis
Testing your key events
In DebugView
- Enable debug mode (see how)
- Go to Admin → DebugView
- Perform the action that triggers your key event
- Look for your event. Key events show a flag icon 🏁
In Realtime
- Go to Reports → Realtime
- Scroll to the Key events card
- Trigger your action
- Watch for it to appear
Note: Standard reports take 24-48 hours. Don't panic if you don't see data immediately.
Limits to know
| Limit | Amount |
|---|---|
| Maximum key events | 30 per property |
| Retroactive marking | Not possible—tracking starts when marked |
| Custom event limit | Unlimited (but 500+ unique events/day = high cardinality issues) |
30 key events sounds like a lot, but be strategic. You don't need every action to be a key event.
Importing to Google Ads
If you're running ads, import your key events as Google Ads conversions:
- Link GA4 to Google Ads (Admin → Product Links → Google Ads Links)
- In Google Ads, go to Goals → Conversions → Summary
- Click + New conversion action
- Choose Import → Google Analytics 4 properties
- Select the key events you want
- Configure attribution settings
Once imported, they're called "Conversions" in Google Ads and can be used for bidding optimization.
Migrating from UA goals
If you had goals in Universal Analytics:
| UA Goal Type | GA4 Equivalent |
|---|---|
| Destination (page) | Create event with page_location condition |
| Duration | Create event with engagement_time condition |
| Pages/Session | Create event with multiple page views |
| Event | Direct equivalent—mark event as key event |
There's no automatic migration. You need to recreate each goal as a key event.
Common mistakes
Marking page_view as a key event
Unless you're tracking a very specific page (like a confirmation page), raw page views aren't valuable as key events. Use conditions to filter to meaningful pages.
Creating duplicates
If you send an event via GTM AND create it in GA4's interface, you'll count it twice. Use one method.
Too many key events
30 is the limit, but that doesn't mean you need 30. Start with your 3-5 most important actions.
Not testing
Always verify in DebugView before assuming your key event works.
Priority key events by business type
E-commerce:
purchase(primary)add_to_cartbegin_checkoutsign_up
SaaS:
sign_up(trial start)subscription_purchasefeature_activationupgrade
Lead generation:
generate_lead(form submit)phone_clickchat_startedpricing_view
Content/Media:
newsletter_subscribecontent_sharepremium_content_viewad_click
Next steps
Once your key events are configured:
- Build a dashboard to monitor them
- Connect to Google Ads for conversion import
- Review e-commerce tracking for purchase events
If you want a cleaner view of your key event performance, try Analayer. We turn your GA4 data into insights you can actually use.
See your analytics clearly
Stop struggling with Google Analytics. Connect your account and get a cleaner, simpler view of your data in seconds.