How to set up conversions (now called key events) in Google Analytics 4 using the GA4 interface, Google Tag Manager, and enhanced conversions. Covers ecommerce events, custom events, debugging, and the most common mistakes that cause tracking gaps.
Last updated: March 2026 · Reading time: 15 min
“The rename from conversions to key events confused a lot of teams, but the mechanics haven’t changed. What matters is that you’re tracking the 5-10 actions that actually indicate revenue, not just collecting page views and hoping the data tells a story.” Hardik Shah, Founder of ScaleGrowth.Digital
Key event is a GA4 event marked as significant to your business. It appears in GA4 reports under the key events section and can be imported to Google Ads, where it becomes a “conversion.”The practical impact: if you don’t run Google Ads, you only need to think about key events. The word “conversion” in your GA4 property now specifically refers to actions imported for ad campaign optimization. According to Google’s support documentation (2024), this change aligns the definition of “conversion” across GA4 and Google Ads so that both platforms report consistent numbers.
| Concept | Where It Lives | Purpose | Limit |
|---|---|---|---|
| Key Event | GA4 only | Measure business-critical actions in GA4 reports | 30 per property |
| Conversion | Google Ads (imported from GA4) | Optimize ad bidding and measure campaign ROI | No separate limit |
| Event | GA4 | Track any user interaction (page view, click, scroll) | 500 distinct names per property |
form_submit or generate_lead, it needs to have fired at least once to appear here.qualified_lead event that fires when page_view fires on a specific thank-you page URL. Google’s in-GA Event Builder (expanded in 2025) lets you update trigger conditions, event names, and parameters without touching GTM or your site code.
This method has limits. You can’t access the data layer, you can’t fire events based on element clicks, and you can’t pass custom parameters from forms. For anything beyond basic page-based conditions, use Google Tag Manager.
/thank-you or /confirmation.dataLayer.push({event: 'purchase_complete'}) in your site code, then trigger on that custom event name.generate_lead for form submissions, purchase for transactions, sign_up for account creation. Add event parameters like value, currency, and any custom parameters you need.
Enhanced conversions is a GA4 and Google Ads feature that supplements standard conversion tracking by sending hashed first-party user data to improve attribution accuracy, especially for cross-device and delayed conversions.You need enhanced conversions if:
| Event Name | When It Fires | Mark as Key Event? | Required Parameters |
|---|---|---|---|
purchase |
Transaction completes | Yes (always) | transaction_id, value, currency, items[] |
begin_checkout |
User starts checkout | Yes | value, currency, items[] |
add_to_cart |
Product added to cart | Optional (micro-conversion) | value, currency, items[] |
view_item |
Product page viewed | No | value, currency, items[] |
add_payment_info |
Payment details entered | Optional | value, currency, payment_type, items[] |
add_shipping_info |
Shipping details entered | Optional | value, currency, shipping_tier, items[] |
purchase and begin_checkout as key events. The purchase event is your revenue signal. The begin_checkout event lets you calculate checkout abandonment rate. If your checkout abandonment exceeds 70% (the Baymard Institute 2024 average of 70.19%), you know where to focus optimization.
Every ecommerce event requires an items array with at least item_id and item_name. Without this array, GA4’s product-level reports stay empty. This is the single most common mistake in ecommerce GA4 setups.
generate_lead (Google recommended): Fire this when a visitor submits a contact form, request-a-quote form, or demo request. Mark as key event. Pass value and currency if you assign a lead value.contact (Google recommended): Fire when a visitor initiates a phone call, opens a chat widget, or clicks a “Call Us” button. Mark as key event for businesses where phone leads matter.schedule (custom): Fire when a visitor books a meeting via Calendly, HubSpot, or similar. Not a Google recommended event, so name it with snake_case and a descriptive prefix like meeting_scheduled.sign_up (Google recommended): Fire on account creation or trial start. This is your top-of-funnel conversion.tutorial_complete (Google recommended): Fire when a user finishes onboarding. Tracks activation, not just registration.first_value_achieved (custom): Fire when a user reaches their “aha moment.” Define this based on your product’s activation metric. For a project management tool, this might be “created first project with 3+ tasks.”ga_ or google_ (these are reserved). Bad example: FormSubmit_ContactUs_v2. Good example: contact_form_submit.
?debug_mode=true to any page URL on your site. This works without extensions and is useful for testing on mobile devices.value, currency, transaction_id, and custom parameters are populated with the right values.purchase event fires, revenue appears in your totals, but product-level reports are empty. The items array is required for GA4 to populate ecommerce-specific reports.value and currency on your key events, GA4 can’t calculate revenue attribution. Google Ads can’t optimize for ROAS. Always send a monetary value with your primary conversion events.generate_lead as a key event today, you won’t see last month’s form submissions in the key events report. Set up tracking before you need the data, not after.lead_quality parameter (hot, warm, cold) or lead_source (organic, paid, referral) with your generate_lead event. Register these as custom dimensions in GA4 Admin. This lets you segment conversion data by quality, not just quantity.The complete guide to all four GA4 event types with GTM implementation and naming conventions. Read Guide →
27-point checklist for setting up Google Tag Manager from container creation to consent mode. Get Checklist →
Build campaign tracking URLs with proper UTM parameters for accurate attribution in GA4. Use Tool →
GA4 allows up to 30 key events per property. Most businesses should use 8-15. Marking too many events as key events dilutes your conversion data and makes reports harder to read. Focus on actions that directly indicate revenue or strong purchase intent.
Not anymore. In March 2024, Google renamed GA4 conversions to “key events.” The term “conversion” now only applies when a key event is imported into Google Ads for bid optimization. The tracking mechanics are identical, but the terminology distinguishes between GA4 analytics reporting (key events) and Google Ads campaign optimization (conversions).
Enhanced conversions primarily benefit Google Ads users by improving attribution accuracy and Smart Bidding performance. If you don’t run Google Ads, standard GA4 key event tracking is sufficient. However, if you plan to run ads in the future, setting up enhanced conversions early gives Google more historical data to work with when you start.
Four common causes: (1) Processing delay, as standard GA4 reports take 24-48 hours to populate. (2) The event hasn’t fired yet, so it doesn’t appear in the events list to mark. (3) You marked the event as a key event but data is only collected going forward, not retroactively. (4) A data filter is excluding the events. Use DebugView for real-time verification while waiting for standard reports.
Enhanced measurement is a GA4 feature that automatically tracks common interactions (scroll, outbound click, site search, video, file download, form interaction) without code. Enhanced conversions is a separate feature that sends hashed first-party data alongside conversion events to improve attribution accuracy. They serve different purposes: enhanced measurement expands what you track, enhanced conversions improves the accuracy of what you already track.
Our analytics team configures GA4 properties with proper key event tracking, enhanced conversions, and Consent Mode. We audit existing setups and fix tracking gaps. Get an Analytics Audit →