← All Guides

GA4 Recommended Events Reference: Every Standard Event, Its Parameters and When to Use It

A practical reference to GA4's recommended events for ecommerce, lead generation, SaaS, content and offline sales, with the required parameters, the dataLayer code for each, and advice on which ones to actually implement.

Atiqul Islam
Written by Atiqul Islam

Tracking & analytics specialist. 278+ GTM, GA4 and server-side tracking projects for clients in the US, UK and Australia.

Rather not do this yourself? I set this up for clients every week. Free 15-minute audit, no obligation.

Book a Free Audit

GA4 only understands your business if you speak its vocabulary. Send purchase with items and value and the Monetisation reports fill themselves in. Send buy_now_click with price and you get an event count and nothing else. This reference lists the recommended events that matter outside gaming, with their parameters, example code and a frank note on which ones are worth your time.

Rules That Apply to Every Event

Ecommerce Events

Event When Required parameters
view_item_list A list of products is shown items, item_list_id, item_list_name
select_item A product is clicked in a list items
view_item Product page viewed currency, value, items
add_to_wishlist Saved for later currency, value, items
add_to_cart Added to cart currency, value, items
remove_from_cart Removed from cart currency, value, items
view_cart Cart page viewed currency, value, items
begin_checkout Checkout started currency, value, items, coupon
add_shipping_info Shipping step completed currency, value, items, shipping_tier
add_payment_info Payment step completed currency, value, items, payment_type
purchase Order completed transaction_id, currency, value, items, tax, shipping, coupon
refund Order refunded transaction_id, currency, value, items
view_promotion, select_promotion Banner shown or clicked items, promotion_id, promotion_name, creative_name

Item parameters: item_id, item_name, price, quantity, plus optional item_brand, item_category through item_category5, item_variant, coupon, discount, index, item_list_name.

Purchase push:

window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
  event: 'purchase',
  ecommerce: {
    transaction_id: '10234',
    value: 129.90,
    tax: 11.81,
    shipping: 9.95,
    currency: 'AUD',
    coupon: 'WELCOME10',
    items: [{
      item_id: 'SKU-401',
      item_name: 'Lumbar Support Cushion',
      item_brand: 'Posture Co',
      item_category: 'Cushions',
      item_variant: 'Grey',
      price: 59.95,
      quantity: 2
    }]
  }
});

Lead Generation Events

Event When Parameters
generate_lead A form or enquiry is submitted currency, value, lead_source
qualify_lead Lead marked qualified in the CRM currency, value
working_lead Sales is working the lead currency, value, lead_status
close_convert_lead Lead became a customer currency, value
close_unconvert_lead Lead was lost currency, value, unconvert_lead_reason
disqualify_lead Lead disqualified currency, value, disqualified_lead_reason

Lead push from a form success event:

window.dataLayer.push({
  event: 'generate_lead',
  currency: 'USD',
  value: 150,
  lead_source: 'contact_form',
  form_name: 'Request a quote'
});

The CRM stage events are sent server-side when the stage changes, through the Measurement Protocol with the original client ID, or imported via Data import. They are worth it for any business where lead quality varies by channel, which is every business.

Account and Subscription Events

Event When Parameters
sign_up Account created method
login User logged in method
tutorial_begin, tutorial_complete Onboarding steps none
purchase Subscription started or renewed transaction_id, value, currency, items
refund Subscription refunded transaction_id, value, currency

For trials, there is no dedicated recommended event. Use sign_up with a method of trial, or a custom start_trial event, and mark it as a key event.

Content and Engagement Events

Event When Parameters
search Site search performed search_term
share Content shared method, content_type, item_id
select_content A content item chosen content_type, content_id
join_group Joined a community group_id
earn_virtual_currency, spend_virtual_currency Loyalty points virtual_currency_name, value

Which Ones to Implement

Verify

In GA4 DebugView, each event should appear with the parameters you sent. For ecommerce, expand the event and confirm the items array is attached. After a day, the Monetisation and Lead reports populate only if names and parameters are right. If they stay empty, the event name or a parameter name is off by a character.

Outcome

Your GA4 property speaks Google's vocabulary. Reports work without configuration, Google Ads can import clean key events, and when you build a dashboard, every metric you want already exists.

Frequently Asked Questions

What is the difference between automatic, recommended and custom events?

Automatic events such as page_view and session_start are collected without setup. Recommended events are names and parameters Google has defined so that GA4 reports understand them, but you have to send them yourself. Custom events are anything else you name. Use a recommended event whenever one fits your action.

Do I need to send every parameter listed?

Send what the reports need and what you will analyse. For ecommerce, items, value, currency and transaction_id are not optional in practice. For generate_lead, send value and currency. Missing parameters do not break the event but they break the reports that depend on them.

Why does my purchase event show no revenue?

The value or currency parameter is missing, or value is a string with a currency symbol. Value must be a plain number and currency a three-letter ISO code.

Can I rename an event in GA4 after the fact?

Yes, through Admin, then Events, then Create event or Modify event. It is a useful fix for a typo but it adds complexity. Fix the source when you can.

What are the lead stage events for?

qualify_lead, working_lead, close_convert_lead, close_unconvert_lead and disqualify_lead describe what happens to a lead after submission, usually sent from a CRM through the Measurement Protocol or data import. They feed GA4's lead reports and let you compare lead quality by channel.

Want This Done Right the First Time?

Book a free 15-minute audit call. I'll review your setup, show you what is broken, and tell you exactly what it takes to fix it.

Chat Now