Campaigns and traffic sources

In this article:


Users arrive at your website or application through a variety of sources, including search engines, social networks, and advertising campaigns. By using Google Analytics to measure these campaigns and traffic sources, you can improve your marketing efforts and user experiences.

This article describes how Google Analytics collects, processes, and reports this campaign and traffic source data.

Understanding campaigns & traffic sources

In Google Analytics, the search engines, social networks, ad campaigns, 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 Google Analytics and populated in reports has the following steps:

Collection, processing, and reporting behavior can be customized.


The Google Analytics SDKs and tracking code use these fields when sending campaign and traffic source data:

Field NameProtocol ParameterField Description Sample Value
Campaign Source &cs Sets the source dimension in reports. email_promo
Campaign Medium &cm Sets the medium dimension in reports. email
Campaign Name &cn Sets the campaign name dimension in reports. january_boots_promo
Campaign Content &cc Sets the content dimension in reports. email_variation1
Campaign Term &ck Sets the term dimension in reports. winter%20boots
Document Location &dl Sets dimensions when custom campaign (utm) parameters are embedded. &utm_medium=email&utm_campaign=january_promo &utm_content=copy_variation1
Document Referrer &dr Describes the referring source and may set dimensions when no other campaign or traffic source fields have been set.

Note that each session may only be attributed to one campaign or traffic source. Thus, if new campaign or traffic source values are sent to Google Analytics at collection time in the middle of an existing session, it will cause the current session to end and a new session to start.


During processing, traffic source and collection field values are finalized into dimension values and attributed to visits or sessions. The Campaign & Traffic Sources Processing Flowchart illustrates the processing logic.

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 or explicit campaign fields map directly to the dimensions in reports.

For example, the following document location field value:


would be processed into the following final dimension values:


Processing search engine (organic) 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.

See the list of default search engines.

The default list can be configured with additional custom search engines. Learn how to configure custom search engines.

Note most Google searches are performed via HTTPS, which causes the keyword dimension to automatically be set to (not provided).

Processing search engine (paid) referrals

A session will be processed as a paid search referral when custom campaign parameters or AdWords / DoubleClick click IDs are used in the ad's destination URL and are sent to Google Analytics in the document location field.

If custom campaign parameters or click IDs are not used, the session may be processed as organic instead.

  • 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, an Adwords 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: utm_source, utm_medium, utm_term, utm_content, utm_id, utm_campaign, gclid. For more information on sessions, see How a session is defined in Analytics.

    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 will be 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 will be 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. email, cpc, etc.)
    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 Yes and No


    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.

    Additionally, in the case of paid AdWords or DoubleClick campaigns, there are additional fields available that can be populated automatically by setting either AdWords or DoubleClick click IDs, or 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.

    Note: Existing campaign or traffic source data for a particular user will be overwritten by new campaign or traffic source data, regardless of the configured 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 may 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, users should add the hostnames they 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 Google Analytics in a single hit.

Was this article helpful?