The GA4 add to cart event (add_to_cart) fires the moment a shopper places a product into their cart. It’s the first hard signal of purchase intent in Google Analytics 4 and the midpoint of the standard ecommerce funnel. Without a properly implemented add_to_cart event, you can’t calculate add-to-cart rate, build remarketing audiences, or pinpoint where browsers stop converting. This guide covers the required and recommended parameters, dataLayer and Google Tag Manager implementation, conversion-rate benchmarks, common debugging issues, and how add_to_cart relates to its sibling events view_cart and remove_from_cart.
What Is the Add to Cart Event in GA4?
The add_to_cart event is one of GA4’s recommended ecommerce events. It records that a user added one or more items to their shopping cart, along with the product details (id, name, price, quantity) and the cart-level value. In GA4’s ecommerce schema, add_to_cart sits between view_item and begin_checkout β it converts a passive viewer into an active prospect. Unlike a purchase event, add_to_cart is a micro-conversion: it doesn’t earn revenue directly, but it predicts revenue and powers the most useful audience and funnel reports in GA4.
Required vs Recommended Parameters
GA4 accepts both required and recommended parameters on the add_to_cart event. Required fields are mandatory for the event to register cleanly in GA4 reports; recommended fields unlock product-level analytics and audience segmentation.
| Parameter | Type | Required | Purpose |
|---|---|---|---|
currency |
string (ISO 4217) | Yes | USD, EUR, GBP β required when value is set |
value |
number | Yes | Sum of price Γ quantity for items added |
items |
array | Yes | At least one item β required for product-level reporting |
item_id |
string | Yes (per item) | Product SKU; item_id or item_name is required |
item_name |
string | Yes (per item) | Human-readable product name |
price |
number | Recommended | Unit price β must be a number, not a string |
quantity |
number | Recommended | Units added (default 1) |
item_category |
string | Recommended | Category taxonomy β feeds Items reports |
item_brand |
string | Recommended | Brand for filter and audience targeting |
item_variant |
string | Optional | Size, color, or SKU variant |
Implementation via dataLayer Push
The cleanest setup pushes an add_to_cart event to the data layer immediately after the cart update succeeds server-side. This is the standard approach for Shopify, WooCommerce, Magento, and most modern stacks:
dataLayer.push({
event: 'add_to_cart',
ecommerce: {
currency: 'USD',
value: 49.99,
items: [{
item_id: 'SKU456',
item_name: 'Blue T-Shirt',
item_category: 'Apparel',
item_brand: 'Acme',
price: 49.99,
quantity: 1
}]
}
});
One detail trips up most implementations: value must equal the sum of price Γ quantity across the items array. If a shopper adds two of the same item at $24.99, value is 49.98, not 24.99.
Implementation via Google Tag Manager
If you use Google Tag Manager, configure a GA4 Event tag on top of your existing data layer push:
- Tag type: Google Analytics: GA4 Event
- Configuration tag: your GA4 base tag
- Event name:
add_to_cart(lowercase β case-sensitive) - Event parameters: map
currency,value, anditemsfrom a Data Layer Variable namedecommerce - Trigger: Custom Event with event name
add_to_cart
Two GTM-specific gotchas: (1) enable “Send Ecommerce data” on the tag and point it at the ecommerce data layer object, and (2) push a { ecommerce: null } reset before each new ecommerce push to avoid parameter leakage between events.
Where Add to Cart Sits in the Ecommerce Funnel
The add_to_cart event is step three of GA4’s five-step recommended ecommerce funnel:
view_item_listβ user browses a product list or categoryview_itemβ user opens a product pageadd_to_cartβ user shows purchase intentbegin_checkoutβ user starts checkoutpurchaseβ transaction completes
Two drop-offs frame the analysis: view_item β add_to_cart exposes product appeal, and add_to_cart β purchase exposes checkout friction. Implementing the full sequence is required for checkout funnel analysis; without it, you can’t tell whether you have a product problem or a checkout problem.
Add-to-Cart Rate β Calculation and Benchmarks
The add-to-cart rate is calculated as:
add_to_cart rate = unique add_to_cart users / unique view_item users
It measures how compelling your product detail pages are. Industry benchmarks vary by vertical, but the directional ranges are:
- Below 5% β weak product-page appeal (price, photos, reviews, or trust signals lacking)
- 5β10% β typical for general retail, fashion, and electronics
- 10β15% β strong; common in CPG, beauty, supplements, low-consideration categories
- Above 15% β exceptional; usually small SKU count + loyal repeat traffic
Track add-to-cart rate alongside the conversion rate from cart to purchase to isolate where you’re losing revenue. A site with a 12% add-to-cart rate but a 1% checkout completion rate has a checkout problem, not a product problem.
Common Errors and Debugging
Most add_to_cart implementation issues fall into five categories:
- Event fires on click, not on success. If the cart update fails (out of stock, network error), GA4 still records the event β inflating add-to-cart counts. Fix: bind the push to the AJAX success callback, not the button click.
- Duplicate events. Some themes fire add_to_cart on both button click and cart-drawer open. Fix: deduplicate by binding to one signal and confirming with DebugView.
- Missing
valueor wrong type. Sending"49.99"as a string breaks revenue aggregation. Always pass numbers. - Empty
itemsarray. Tracks the event but breaks Items reports and product-scoped audiences. Always include at least one item withitem_idoritem_name. - Currency mismatch. Sending
"$"or symbol-prefixed values instead of ISO 4217 codes ("USD","EUR") silently drops the event from Monetization reports.
To debug, enable DebugView in GA4, add a product to cart on staging, and confirm the event arrives once with all required parameters and a populated items array. The Google Tag Assistant Chrome extension shows the exact payload GA4 receives.
Add to Cart vs Remove from Cart vs View Cart
GA4 ships three cart-related events. They share a schema but capture different intents:
| Event | Fires when | Use for |
|---|---|---|
add_to_cart |
Item added to cart | Add-to-cart rate, remarketing audiences, product demand |
remove_from_cart |
Item removed from cart | Cart abandonment analysis, price-sensitivity signals |
view_cart |
User views the cart page | Cart-page friction, mid-checkout drop-off |
Tracking all three together is the fastest way to see whether shoppers abandon at the cart, the checkout, or the payment step β together with begin_checkout and purchase event they form GA4’s full cart-to-revenue picture and are foundational for product-level analytics and average order value trending.
Frequently Asked Questions
What is the add to cart event in GA4?
It’s a recommended GA4 ecommerce event named add_to_cart that fires when a user adds a product to their shopping cart. It captures the cart’s value, currency, and an items array with product details, and is typically used as a macro conversion‘s leading indicator.
What counts as an add to cart in GA4?
Any successful cart addition: clicking “Add to Cart” on a product page, using a quick-add button on a list page, or increasing the quantity of an existing cart item. The event should fire only after the cart update succeeds server-side, not on button click.
How do I track add to cart in GA4?
Push the add_to_cart event to the data layer with currency, value, and items, then configure a GA4 Event tag in Google Tag Manager that fires on a Custom Event trigger named add_to_cart. Verify in DebugView before going live.
What is a good add-to-cart rate?
5β10% is typical for general retail; 10β15% is strong for CPG, beauty, and supplements. Below 5% usually points to product-page issues β pricing, photos, reviews, or shipping cost reveals.
How does add_to_cart work in Shopify with GA4?
Shopify’s native GA4 integration fires add_to_cart automatically when the customer’s primary checkout flow is used. For custom themes or headless setups, push add_to_cart to the data layer from the cart update success callback and use Google Tag Manager to forward it to GA4.
How does add_to_cart work in WooCommerce with GA4?
WooCommerce doesn’t push GA4 ecommerce events natively. Use a plugin like GTM4WP or write a custom hook on woocommerce_add_to_cart that pushes the add_to_cart event into the data layer with the correct items payload, then map it to a GA4 Event tag in GTM.
Should I mark add_to_cart as a conversion in GA4?
Usually no β add_to_cart is a micro-conversion. Mark purchase as the conversion instead. Promote add_to_cart to a key event only when you optimize ads on intent (rare) or when purchase tracking is broken and you need a temporary substitute.
Related Terms
- Purchase event β the final revenue-capturing event
- GA4 event β full event taxonomy
- Conversion β primary conversion classification
- Conversion rate β formula and benchmarks
- Data layer β where add_to_cart is pushed
- Measurement Protocol β server-side event delivery
- Average order value β paired metric with cart data
- Macro conversion β vs micro-conversion classification
- DebugView β real-time event verification