Last non-direct click attribution can mask direct traffic

Google Analytics’ last non-direct click attribution model can be helpful in determining the full impact of a campaign, but it can also cause confusion. With this attribution model in effect, a user’s activity across multiple sessions will all be associated with the source, medium & campaign that first brought them to the digital property if subsequent sessions do not involve another “UTM tagged” campaign link click.

It is easy to forget the last-non direct click attribution model persists originating campaign attribution for a user’s sessions in this situation even for subsequent direct visits. The “Direct Session” Google Analytics dimension helps distinguish which sessions are direct, but still being attributed to an originating campaign.

The Direct Session dimension adds context

Direct Session is “Set once per session. If True, the source of the session was direct.” In the example below, you see acquisition metrics for source / medium “facebook / cpc”.  Adding a Direct Session secondary dimension allows you to see how much of that was actually from a facebook ad click (Direct Session = No) vs. a direct visit still being attributed to a facebook ad (Direct Session = Yes).

Nuances of the Direct Session dimension

Direct Session is the same as BigQuery’s isTrueDirect. It is set to YES if either of the following scenarios apply:

  1. The source of the session was Direct (meaning the user typed the name of your website URL into the browser or came to your site via a bookmark).
  2. Two successive but distinct sessions have exactly the same campaign details (e.g., user visits site via google / organic and then again via google / organic).

Google Analytics Multi-Channel Funnels (MCF) reports employ the same logic. When you see “Organic > Direct” in MCF reports, it could be two sessions with google.com as the referrer -OR- it could be one session with google.com as the referrer followed by a true direction session.

To report true direct, you could change the Google Analytics Campaign Timeout setting to zero (a property level admin setting under “Tracking Info > Session Settings”).

The Direct Session dimension is not in the Google Analytics Dimensions & Metrics Explorer or Core Reporting API, and is set after standard processing.

Google Analytics Direct Session Dimension