Conversion rate formula
Conversion rate is the share of visits that ended in the thing you wanted, usually a purchase.
The formula is one division. The mistake is the denominator: sessions and users are different counts of the same traffic, and an ad platform uses a third. What counts as a good rate depends on what you sell and where the traffic came from, so judge it against your own history (see what is a good conversion rate).
The formula
Conversion rate = conversions ÷ sessions
In Google Sheets, with sessions in column B and conversions in column C:
=IF(B2=0, "", C2/B2)
Format the column as a percentage. The IF stops a channel with no sessions returning a #DIV/0! error. GA4 calls a conversion a key event; the arithmetic is the same.
A worked example
| Channel | Sessions | Purchases | Conversion rate |
|---|---|---|---|
| Organic search | 12,000 | 300 | 2.50% |
| Paid search | 5,000 | 200 | 4.00% |
| 3,000 | 150 | 5.00% | |
| Direct | 4,000 | 50 | 1.25% |
| All channels | 24,000 | 700 | 2.92% |
The total row divides total purchases by total sessions:
=IF(SUM(B2:B5)=0, "", SUM(C2:C5)/SUM(B2:B5))
Averaging the four rates would give 3.19%. The real figure is 2.92%, because organic search is half the traffic and converts below the others.
The common mistake
Dividing by users when you meant sessions, or the reverse, and then comparing with a platform that did the other.
The same site's 24,000 sessions came from 18,000 users, because people come back. Seven hundred purchases over 24,000 sessions is 2.92%. The same 700 over 18,000 users is 3.89%. Both are correct and neither is comparable with the other. GA4 reports both; an ad platform reports conversions per click, which is a third denominator again. Put the three side by side and "conversion rate went up" can mean nothing happened except a change of column.
There is a numerator version too. GA4 can count a key event once per event or once per session, so two purchases in one visit may count as two or as one depending on how the event was set up; once per event is the default for new key events and the one Google recommends, and the setting is changed per key event under Admin, then Key events, then the row's menu, then Change counting method. Source: Google Analytics Help, About key event counting method. Pick one denominator and one counting rule, write them in the column heading, and keep them.
Keeping the inputs current
A scheduled Fresh Sheets report can keep Sessions and Key events from Google Analytics 4 up to date in their own tab, for example one called GA4, with one row per channel or per day.
Fresh Sheets replaces that tab's contents on every refresh, so keep your formulas on a separate tab. This version finds each column by its heading (use the headings as they appear in your tab), so it still works if you add a field and the columns move:
=SUM(INDEX(GA4!A:Z, 0, MATCH("Key events", GA4!1:1, 0))) / SUM(INDEX(GA4!A:Z, 0, MATCH("Sessions", GA4!1:1, 0)))