In this article:
Users arrive at your website or application through a variety of sources, including advertising campaigns, search engines, and social networks. This article describes how Analytics collects, processes, and reports the campaign and traffic-source data.
Understanding campaigns & traffic sources
In Analytics, the ad campaigns, search engines, social networks, and other sources that send users to your property are collectively known as campaigns and traffic sources. The process by which campaign and traffic-source data is sent to Analytics and populated in reports has the following steps:
- Collection – values are sent to Google Analytics in the campaign and traffic-source fields using the SDKs or tracking code.
- Processing – collected values are used to populate the final report dimensions according to a processing logic.
- Reporting – campaign and traffic-source dimensions and metrics become available in the web interface and Reporting API.
Collection, processing, and reporting behavior can be customized.
The Analytics SDKs and tracking code use these fields when sending campaign and traffic-source data:
|Field Name||Protocol Parameter||Field Description||Sample Value|
||Sets the source dimension in reports.||
||Sets the medium dimension in reports.|
||Sets the campaign name dimension in reports.||
||Sets the content dimension in reports.||
||Sets the term dimension in reports.||
||Sets dimensions when custom campaign (utm) parameters are embedded.||
||Describes the referring source and may set dimensions when no other campaign or traffic source fields have been set.||
Note that each session can be attributed to only one campaign or traffic source. Thus, if new campaign or traffic source values are sent to Analytics at collection time in the middle of an existing session, it causes the current session to end and a new session to start.
During processing, traffic-source and campaign field values are finalized into dimension values and attributed to sessions. The Campaign & Traffic Sources Processing Flowchart illustrates the processing logic.
The following methods apply to processing that uses
utm_ parameter values (e.g., display, social, email, paid search, etc.).
- Source precedence—A direct-traffic visit that follows a paid-referred visit will never override an existing paid campaign. Whatever is the latest paid campaign visit is listed as the referral for the visit.
- Campaign precedence—Each visit to your site from a different paid source—such as from a paid search-engine link, a Google Ads link, or a banner ad—overrides the campaign cookie information set by a previous source.
- One Campaign Per Session—Each visit to your site from a different campaign—organic or paid—triggers a new session, regardless of the actual time elapsed in the current session. Specifically, a change in value for any of the following campaign URL parameters triggers a new session:
gclid. For more information on sessions, see How a session is defined in Analytics.
Processing custom campaigns
A session is processed as a custom campaign when custom campaign parameters are embedded in the document location field, or when the campaign-source field is set. When a custom campaign is processed, the values of the custom-campaign parameters map directly to the dimensions in reports.
For example, the following document location field value:
&dl=http://store.example.com/boots ?utm_source=promo_email &utm_medium=email &utm_campaign=january_promo &utm_content=copy_variation1
would be processed into the following final dimension values:
source=promo_email medium=email campaign=january_promo content=copy_variation1
Processing paid search-engine referrals
A session is processed as a paid-search referral when custom campaign parameters or Google Ads / Google Marketing Platform click IDs are used in the ad's destination URL and are sent to Analytics in the document location field.
Learn more about how to verify that Google Ads auto-tagging is working.
If custom campaign parameters or click IDs are not used, the session may be processed as organic instead.
Processing organic search-engine referrals
Search-engine referral data is processed by comparing the hostname and query parameter of the document referrer field to a list of known search engines and their query parameters. The first known search engine that matches both the hostname and query parameter of the document referrer value is used to set the report dimension values.
Note that most Google searches are performed via HTTPS, which causes the keyword dimension to automatically be set to
Processing social-network referrals
Social-network referral data is processed by comparing the hostname set in the document referrer field to a list of known social networks. The first known social network that contains the hostname string is used to populate the source dimension in reports.
Processing direct traffic
A session is processed as direct traffic when no information about the referral source is available, or when the referring source or search term has been configured to be ignored. Learn about referrer and search term exclusions.
After processing, the following campaign and traffic source dimensions and metrics are available in reports:
|Web Interface||Core Reporting API||Description|
|Source||ga:source||The source of referrals to your property.|
|Medium||ga:medium||The type of referrals to your property (e.g.
|Campaign||ga:campaign||The name of a marketing campaign sending users to your property|
|Ad Content||ga:adContent||A description of the advertising or promotional copy used to send users to your property.|
|Keyword||ga:keyword||The keyword searched by users to reach your property.|
|Social Network||ga:socialNetwork||Name of the Social Network that referred users to your property.|
|Referral Path||ga:referralPath||The path of the referring URL (e.g. the value of the document referrer field)|
|Social Source Referral||ga:hasSocialSourceReferral||Indicates whether a session was a referral from a social network. The possible values are
|Web Interface||Core Reporting API||Description|
|Organic Searches||ga:organicSearches||The number of organic searches that happened within a session. This metric is search-engine agnostic.|
In the case of paid Google Ads or Google Marketing Platform campaigns, there are additional fields that can be populated automatically by setting either Google Ads or Google Marketing Platformclick IDs, or populated manually by importing cost data.
Advanced configuration options
The following advanced configuration options may be set at the property level:
Campaign Timeout Period
The campaign timeout period determines how long a particular campaign or traffic source is associated with a unique user.
Learn how to configure the campaign timeout period.
Custom Organic Search Sources
Custom organic search sources can be configured at the property level. These custom sources can be added in addition to the default list of search sources. Learn how to customize organic search sources.
Excluding Referrers and Search Terms
Users can exclude certain referring sources or organic search terms from reports by setting these exclusions at the property level.
To prevent "self-referrals" in web measurement, where sessions are attributed to a referral from your own domain, you should add the hostnames you are measuring, as well as the hostnames of any third-party payment gateways, as excluded referrers. Learn how to exclude a referrer and exclude search terms.
Processing flow chart
The following flow chart shows how dimension values are determined based on campaign and traffic-source parameters sent to Analytics in a single hit.