GA4 key events are the actions you mark as important in Google Analytics 4, such as a purchase, a lead form submit or a trial start.
They replaced "conversions" inside GA4 in March 2024, you can mark up to 30 per standard property, and for CRO they are the outcomes your funnels, segments and test reports count.
Pick a short list that reflects revenue, then use funnel exploration to find where people drop out before reaching them.
That is the job GA4 does well in a CRO program: it shows you where visitors leave.
It can't tell you why they leave, and it can't tell you whether a fix worked.
That takes an A/B test. Below we go through each part of the setup and show what real tests in our database found when teams acted on what GA4 showed them.
Key events: what to mark and why it matters for CRO
Google renamed conversions to key events on March 21, 2024 so that a "conversion" means the same thing in Google Ads and Google Analytics.
In GA4 you now mark key events; a key event becomes a conversion only once you import it into Google Ads.
The metrics followed: session conversion rate became session key event rate.
Per Google's key events documentation, a standard property can mark up to 30 key events (50 on Analytics 360).
You mark an existing event with the star icon under Admin > Events, or create a new one there with "Mark as key event" switched on.
For CRO, the limit is not the problem.
Marking too much is. If add_to_cart, newsletter signup and scroll depth all count as key events, the "key event rate" in your reports blends cheap actions with the one that pays the bills. A workable split:
- Primary key event: purchase for stores, generate_lead or a qualified form submit for lead gen, trial start or paid signup for SaaS.
- Secondary key events: one or two steps that predict the primary one, such as begin_checkout. These are your micro-conversions.
- Everything else: keep it as a normal event. You can still use it in funnels and explorations without marking it.
Also check the counting method. Google recommends "once per event", which counts every time the event fires.
"Once per session" is the legacy option and is applied by default to key events migrated from Universal Analytics goals.
If your property was migrated, check which one you have before comparing rates across periods, and note that a change only affects data going forward.
GA4 funnel exploration: finding where visitors drop out
Funnel exploration lives under Explore. Google's funnel exploration guide lists the settings that matter:
| Setting | What it does | When to use it |
|---|---|---|
| Up to 10 steps | Each step is an event or page condition | Map product view to purchase; keep it to the steps you can change |
| Closed funnel | Users must enter at step 1 | Checkout analysis, where skipping steps isn't possible |
| Open funnel | Users can enter at any step | Site-wide journeys where people land deep, such as on a product page from an ad |
| Directly followed by | Next step must happen immediately after | Form steps and checkout pages |
| Indirectly followed by | Other actions can happen in between | Browsing journeys with category and search detours |
| Breakdown | Splits each step by a dimension | Device category first; mobile and desktop usually leak in different places |
| Elapsed time | Average time between steps | Spotting a step that stalls people, such as account creation |
| Trended funnel | Shows each step over time | Checking whether a drop began on a release date |
Read the funnel for the biggest absolute loss, not the worst percentage.
A step that loses 60% of 200 users matters less than one that loses 20% of 50,000. Then form a hypothesis about that step and test it.
Our conversion funnel guide covers how to turn a leak into a test idea.
Real examples of this pattern from our database:
- Surefoot saw BioLite losing shoppers between checkout step 1 and step 2. Moving email and phone into a labelled Contact Information block with helper text gave +18% transactions, -14% drop-off from step 1 to step 2 and +20% email capture.
- Vandebron found heavy drop-off on one field in the last registration step. Removing the date-of-birth calendar dropdown and auto-inserting slashes produced +16.3% sign-ups, -8.5% exit rate on the step and -80% drop-offs on the date field. Sample size wasn't given.
Two limits to know. Funnel explorations use your event-level data, so they are capped by your data retention setting, which is 2 or 14 months on standard properties.
Standard reports aren't affected. If you never changed it, check Admin > Data retention before you try a year-over-year funnel.
And explorations get sampled once a request goes past 10 million events on standard properties; the data quality icon shows the percentage used.
GA4 ecommerce tracking: the events your funnel needs
A store funnel is only as good as its ecommerce events.
Google's ecommerce measurement guide lists the recommended sequence:
- view_item_list and select_item (category and search pages)
- view_item (product page)
- add_to_cart (or add_to_wishlist)
- view_cart
- begin_checkout
- add_shipping_info
- add_payment_info
- purchase (requires transaction_id, value and currency), and refund
Use these exact names. GA4's built-in ecommerce reports and many testing-tool integrations expect them, and custom names like "checkout_started" won't show up there.
Before you trust a funnel, run three checks:
- Purchase count vs your platform: compare a week of GA4 purchases with Shopify or your order system. Ad blockers and consent banners mean GA4 will usually show fewer; a gap that suddenly grows points to a broken tag.
- Every step fires once: a missing add_shipping_info on one checkout template makes that step look like a cliff when it's a tracking hole.
- Revenue has a currency: without the currency parameter, value isn't reported correctly.
The checkout steps are where analytics pays off most often in our data.
Blend Commerce saw Vegepod shoppers abandoning at checkout and added a Shop Pay express button below Add to Cart: +35.8% conversion rate, +40.13% revenue per visitor and -24.23% abandoned checkout rate at 99.36% significance.
Reading a GA4 funnel without fooling yourself
A funnel step that improves doesn't mean the funnel improved.
Pushing more people into the next step often just moves the drop-off further down. Our database has several clear cases:
- Never Settle stripped navigation from the JellyTelly homepage. Visits to the sign-up page rose 105%, but actual sign-ups rose 5%.
- Conversion Fanatics hid the price on a device "buy now" step. Click-through to cart jumped 265.1% and purchases rose 16.1%, but cart abandonment also rose because more people reached the cart.
- Blend Commerce's Wilson's Pet Food mobile menu test lifted add-to-cart 5% and checkout begin 6%, yet conversion rate moved 1% and revenue per visitor fell 1%. It wasn't statistically conclusive.
So when you report a test from GA4, lead with the primary key event or revenue per visitor, and treat step-level gains as supporting evidence.
Pick one or two guardrail metrics, such as refunds or average order value, to watch alongside the main number.
GA4 A/B testing: what it can and can't do
GA4 doesn't run A/B tests. Google Optimize, which did, shut down on September 30, 2023.
Google now points users to third-party tools it integrates with, naming AB Tasty, Optimizely and VWO, and it published APIs so other platforms can connect too.
We compare the options in Google Optimize alternatives.
The connection works through one event. Per Google's experiment integration guide, the testing tool sends an experience_impression event with an exp_variant_string parameter that identifies the experiment and variant.
You then build a GA4 audience for each variant (users whose experience_impression has that exp_variant_string) and compare those audiences in reports or explorations.
That gives you a useful second view of a test, with one big gap: GA4 shows totals, not a significance test. Use it for:
- Cross-checking the testing tool. If your tool says the variant won and GA4 shows the opposite on purchases, find out why before you ship.
- Metrics the tool doesn't track. Refunds, downstream pages, or behavior in later sessions.
- Segment reads after the test. Device, channel or new vs returning, as long as you treat them as ideas for the next test, not as results.
Teams in our database use it this way.
Blend Commerce checked Titan Casket's visible mobile search bar in both Convert and GA4: +22% conversion rate and +76% average purchase revenue per user.
Surefoot's Fracture mobile homepage rebuild was tracked in Convert and checked against GA4 and BigQuery, with 2x transactions, +89% add-to-carts and +78% photo uploads, though several changes were bundled.
Where GA4 is the wrong tool: deciding a winner.
Run the significance math in the testing tool and size the test before launch, and check that the variant audiences are close to the split you set, since a gap is a sample ratio mismatch.
VWO's Kutts category tile test is an example of a result read straight from Google Analytics: about +6% conversion rate and +9% revenue, but no significance was given and two changes were bundled, so treat it as a lead, not proof.
Also watch for data thresholds. GA4 withholds rows when user counts are small enough to risk identifying people, for example in reports that include demographics.
Thresholds can't be switched off; widening the date range or using the BigQuery export can help.
Small variant audiences split by many dimensions are where this bites.
Google Analytics for CRO: a working routine
Here is how the pieces fit into a weekly CRO process:
- Set one primary key event and at most two secondary ones. Check the counting method.
- Validate ecommerce events against your order system once a month.
- Build a closed checkout funnel and an open site funnel, broken down by device category. Save them.
- Pick the step with the biggest absolute loss and look at it with heatmaps or session recordings to form a hypothesis.
- Run the A/B test in a testing tool, sending experience_impression to GA4.
- Decide on the primary metric in the testing tool; use GA4 to cross-check and to look for the next leak.
Then browse the full test database for what other teams changed at the same step.
Someone has usually tested a fix for your leak already, and their numbers give you a realistic expectation before you start.