Engagement rate replaced bounce rate, and it is not the old one inverted
GA4's bounce rate really is one minus engagement rate. The mistake is comparing either of them to the bounce rate you remember, which was defined on a different event.

In GA4, bounce rate is the inverse of engagement rate — the two add up to every session, because a bounce is defined as a session that was not engaged. What is not an inverse is the relationship between GA4's engagement rate and the bounce rate from Universal Analytics. Those two are built on different tests, so a page's old bounce rate and its GA4 engagement rate will not add up to a whole, and comparing them across the migration is comparing two different measurements.
GA4 counts a session as engaged if any one of three things is true: it lasted longer than the engaged-session timer, it included a key event, or it included at least two page or screen views. Any single one is enough. Engagement rate is then the share of sessions that were engaged, and bounce rate is the share that were not. The timer defaults to ten seconds and is adjustable in the data stream's session settings, which means the same traffic can produce different engagement rates in two properties configured differently.
The old Universal Analytics definition asked a narrower question: did this session send more than one interaction hit? A session with a single pageview and nothing else was a bounce, regardless of how long the visitor stayed. That is the whole difference, and it is a large one — time was not part of the old test at all, and it is the first of the three tests in the new one.
The sessions that changed sides are the ones the old definition handled least well: a visitor who lands on an article, reads it properly, and leaves without clicking anything. Universal Analytics recorded that as a bounce, which is why bounce rate was such a poor metric for blogs and reference pages — a perfectly satisfied reader looked identical to somebody who hit the wrong page and left. GA4 counts the same session as engaged, on the timer alone.
| What the visitor did | Universal Analytics | GA4 |
|---|---|---|
| Read one article for four minutes, then left | Bounce | Engaged — past the timer |
| Landed and left after three seconds | Bounce | Not engaged |
| Viewed two pages within five seconds | Not a bounce | Engaged — two views |
| One page, triggered a key event after four seconds | Not a bounce, if the event was interactive | Engaged — key event |
| Read one page for two minutes on a slow mobile connection | Bounce | Engaged, if the page loaded and tracking fired |

A consent banner changes what GA4 can measure, and the reports carry no marker saying so. What the seven consent types cover, what basic and advanced consent mode each do when someone declines, and how to read numbers collected under either.

Market4 turns one release note into a changelog page, a blog post, a mail-out and a week of social posts — and then tells you which of them brought anyone back.
The direction of the change is consistent: GA4 is more generous about long single-page sessions and no more generous about short ones. A site whose traffic is mostly long single-page reads will therefore see an engagement rate higher than one minus its old bounce rate, and reading that difference as an improvement is a mistake. Nothing about the visitors changed on the day the property changed.
Engagement rate is worth watching as a relative signal between comparable pages and worth very little as an absolute number. Its floor is set by a ten-second timer, so any page that loads and holds a reader for a moment clears it, which compresses the range of values a real site sees. Comparing this month's engagement rate on a page to last month's on the same page tells you something. Comparing it to an industry benchmark tells you almost nothing, because you do not know how the other property's timer was configured.
The third of the three tests deserves a mention on its own. Because a key event makes a session engaged, changing which events you mark as key events changes the engagement rate of every page that fires them. That is a legitimate consequence of the definition, but it means an engagement rate is not comparable across a configuration change any more than it is across the migration.
Yes, within GA4. A bounce in GA4 is defined as a session that was not engaged, so the two rates are complements of each other and always add up to every session. What is not true is that either of them is the complement of the Universal Analytics bounce rate, which asked a different question about a different signal and therefore produced a different number on the same traffic.
Because the definition changed, not the visitors. Universal Analytics counted any single-pageview session as a bounce no matter how long it lasted, while GA4 counts a session as engaged once it passes the engaged-session timer, includes a key event, or reaches two page views. Long single-page reads moved from one side of the line to the other, which is exactly the traffic articles and reference pages produce.
Partly. The engaged-session timer is a setting on the data stream and can be moved from its ten-second default, which shifts every engagement rate in the property. The other two tests — a key event, or two page views — are fixed, though which events you mark as key events is your choice and therefore affects engagement indirectly. Record the timer value alongside any number you plan to compare later.
Not usefully. Two properties can measure the same visitor behaviour and report different engagement rates purely because their timers are set differently and their key events are chosen differently. Engagement rate is a within-property signal: compare a page to its own history, or two pages in the same property to each other, and treat any cross-property comparison as unreliable.
Nothing replaced it one for one, and that is the honest answer. For a page whose job is to answer a question, the useful measures are whether people arrived from the query it targets, whether they took whatever next step exists, and whether the page holds its position in search. Engagement rate can flag a page that nobody stays on at all, but it is a smoke alarm rather than a diagnosis.
A signup that starts on your marketing site and finishes in your app is two users in GA4 unless the domains are configured together. Here is what the setting does and what it cannot fix.

A server container is a service you now operate: a host, a domain, a deployment and someone to notice when it stops. Here is what that buys, and when it does not buy enough.