Each request to the site may use a different port though (if the keepalive times out).
I’d grab the data from the http logs if it was me and use a tool like goaccess.
Unfortunately this has the same issue with multiple people sharing an IP appearing to be one user.
Another major use case I thought of are people stuck on CGNAT. It’s easily possible for tens of thousands of customers to share just dozens of public IP addresses. Unfortunately some providers are rolling out CGNAT instead of IPv6 even though it causes so many problems.