To have a look at how google attributes source to users and sessions, it is essential to know the difference between a User and Session in analytics terminology. Another relevant concept, which will come handy, is a hit.
Let us have a look at these terms:
User: A User is a unique user who visits your website and can have multiple sessions. Google identifies user with a unique ID, which can be seen from user explorer.
Session: A session is a group of user interactions or hits with your website that take place within a given period.
Hit: A hit is the most primitive type of interaction, which a User can have with the website. There are multiple types of hit, most frequently used is page view. Other hits include events, transactions, social interaction, user timing.
When a user visits a page, analytics records a page view Hit. Session is simply a group of hits in a time boundary.
A user ( represented by green circle ) has a unique User-ID in Analytics. All the hit types of a user are grouped into sessions.
Going back to the original question of how google attributes source for a session and a user.
Source attribution for Session:
As discussed above a user can have multiple session. Each session will have a unique source. This means that each session will have a unique source always.
Source attribution for User:
A user can visit site multiple times creating multiple sessions. Each time a user visits a website. Google Analytics attributes the source, which actually referred the user for that particular visit (or session).
Why Source attribution matters?
Differentiating that a session will always have a unique source, while Users can have multiple sources is important when building segments for users.
Example : Analysing Channel performances with Segments
I am interested in knowing how my AdWords traffic is performing. For the sake of this example, let us analyse it with Segments.
1. Build a User Based Segment:
Since I am interested in All Users who are coming from AdWords, I can create a segment with Users having source/medium.
2. Build a Session Based Segment:
Analyze the results:
If you Select and compare both Segments you will see a difference. E.g. I see this
Both Segments report different number for sessions and new users. The difference may seem negligible, but that’s because of number of sessions. If you look at individual channels. You will see
Looking at green highlighted area, notice that all channels other than google / cpc (which is our segment definition) have 0 sessions. This is because, google Analytics attribute sessions to a unique source.
However, the same segments are showing hundreds of users for different channels. This is because each time a user visits a site; Google Analytics will use the last used source of the visitor.
Another way to read the above numbers would be that users had multiple visits from different channels.
Visit source 1: AdWords
Visit source 2: Organic Search
Visit source 3: Adroll
Either you can build user based or session based segments depending on the objective. Since in the above example, the objective was to analyse traffic from AdWords. It will be appropriate to use a session-based segment, as it will be a true reflection of traffic visits for a specific channel.