# GA4 Recommended Events Reference ## Automatically Collected Events Events GA4 collects without configuration: - `first_visit` - First time user visits - `session_start` - Session begins - `page_view` - Page loads (enhanced measurement) - `scroll` - 90% scroll depth - `click` - Outbound link clicks - `file_download` - File download clicks - `video_start`, `video_progress`, `video_complete` - YouTube embeds ## E-commerce Events (Required Parameters) ### view_item_list ```javascript { event: "view_item_list", ecommerce: { item_list_id: "related_products", item_list_name: "Related Products", items: [{ item_id: "SKU_12345", // required item_name: "Product Name", // required price: 29.99, quantity: 1 }] } } ``` ### view_item ```javascript { event: "view_item", ecommerce: { currency: "USD", value: 29.99, items: [{ item_id: "SKU_12345", // required item_name: "Product Name", // required price: 29.99, quantity: 1 }] } } ``` ### add_to_cart ```javascript { event: "add_to_cart", ecommerce: { currency: "USD", value: 29.99, items: [{ item_id: "SKU_12345", // required item_name: "Product Name", // required price: 29.99, quantity: 1 }] } } ``` ### begin_checkout ```javascript { event: "begin_checkout", ecommerce: { currency: "USD", value: 99.99, coupon: "SUMMER_SALE", items: [...] } } ``` ### add_payment_info ```javascript { event: "add_payment_info", ecommerce: { currency: "USD", value: 99.99, payment_type: "credit_card", items: [...] } } ``` ### purchase ```javascript { event: "purchase", ecommerce: { transaction_id: "T12345", // required, must be unique value: 99.99, // required currency: "USD", // required tax: 4.99, shipping: 5.99, coupon: "SUMMER_SALE", items: [{ item_id: "SKU_12345", // required item_name: "Product Name",// required price: 29.99, quantity: 2 }] } } ``` ## Lead Generation Events ### generate_lead ```javascript { event: "generate_lead", currency: "USD", value: 100 // estimated lead value } ``` ### sign_up ```javascript { event: "sign_up", method: "email" // or "google", "facebook", etc. } ``` ### login ```javascript { event: "login", method: "email" } ``` ## Engagement Events ### search ```javascript { event: "search", search_term: "blue shoes" } ``` ### share ```javascript { event: "share", method: "twitter", content_type: "article", item_id: "article_123" } ``` ## Parameter Validation Rules | Parameter | Type | Max Length | Notes | |-----------|------|------------|-------| | event name | string | 40 chars | No spaces, alphanumeric + underscore | | item_id | string | 100 chars | Required for e-commerce | | item_name | string | 100 chars | Required for e-commerce | | currency | string | 3 chars | ISO 4217 format (USD, KRW, etc.) | | transaction_id | string | 100 chars | Must be unique per transaction | | value | number | - | Numeric, no currency symbols | ## Common Validation Errors 1. **Missing required params**: `item_id` or `item_name` not in items array 2. **Wrong data type**: `value` as string instead of number 3. **Duplicate transaction_id**: Same ID used for multiple purchases 4. **Empty items array**: E-commerce event with no items 5. **Invalid currency**: Currency code not in ISO 4217 format