← Answers

Why is my GA4 conversion rate showing 0%?

Short answer

A conversion rate of 0% in GA4 nearly always means no key event has been marked, not that nobody converted. GA4 calculates conversion rate as key events divided by sessions, and an event only counts once you explicitly mark it as a key event in Admin → Events. Until somebody does that, the numerator is zero and the rate reads 0.0% however many sales you make. You can confirm it in seconds: if your key events count is also 0 while revenue is not, the metric is unconfigured rather than reporting bad news.

How GA4 calculates the number

GA4 divides key events by sessions. "Key event" is what GA4 called a "conversion" before 2024, and the rename is part of why so many properties have none: the setting moved, and a property created before the change does not inherit one.

Nothing is a key event by default. Not a purchase, not a sign-up, not a form submission. Somebody has to mark it.

Confirm it in under a minute

  1. Open Reports → Engagement → Events and look at the key events column.
  2. If every row reads 0, no event is marked. That is the whole problem.
  3. Go to Admin → Events, find the event that represents a conversion for you — purchase, generate_lead, sign_up — and switch on "Mark as key event".
  4. Wait 24–48 hours. The change is not retroactive, so history stays at 0% permanently.

The trap: history never fills in

Marking a key event today does not recalculate yesterday. Every day before the change keeps a conversion rate of 0%, forever.

That matters more than it first appears, because it means you cannot compare this month with last month using that metric until a full comparison period has passed since the fix. For most businesses that is a two-month wait before the number means anything.

A conversion rate you can have today

If you take payments through Stripe, you already hold both halves of a conversion rate and do not need GA4 key events at all.

Divide successful Stripe charges for a day by GA4 sessions for the same day. That is your true conversion rate. It works retroactively across all of your history, it is immune to a missing key event, and it is more accurate than a browser-tracked purchase event because Stripe cannot miss a sale that an ad blocker hid.