I can confirm that Google Analytics will start a new session when the user comes back from logging in with the referrer from another site. I don't have as big a problem with it on my sites because not many of my users log in. From Google's referral exclusion documentation:
How excluding referral traffic affects your data
By default, a referral automatically triggers a new session. When you exclude a referral source, traffic that arrives to your site from the excluded domain doesn’t trigger a new session. If you want traffic arriving from a specific site to trigger a new session, don't include that domain in this table.
Because each referral triggers a new session, excluding referrals (or not excluding referrals) affects how sessions are calculated in your account. The same interaction can be counted as either one or two sessions, based on how you treat referrals. For example, a user on my-site.example
goes to your-site.example
, and then returns to my-site.example
. If you do not exclude your-site.example
as a referring domain, two sessions are counted, one for each arrival at my-site.example
. If, however, you exclude referrals from your-site.example
, the second arrival to my-site.example
does not trigger a new session, and only one session is counted.
So putting accounts.google.com
in the referral exclusion list would solve the problem for Google login, but as you say, you can't do that for Facebook.
The only solution that I can think of would be to strip the referrer when the user comes back, before the Google Analytics JavaScript can get to it. On my site, I redirect when I get the login information from Google or Facebook. Before, I used a 302 redirect that passes the referrer data. I changed it to a meta refresh redirect to remove the external referrer:
<html>
<head>
<meta http-equiv="refresh" content="0; url=/after-login.html">
</head>
<body>
</body>
</html>
It strips the referrer entirely in Firefox and IE. In Chrome, Opera, and Safari, the referrer changes to the refresh URL (which would be from your site).