diff --git a/google_analytics_views/google_analytics_views.module b/google_analytics_views/google_analytics_views.module index 0e2fe4a..5f93293 100644 --- a/google_analytics_views/google_analytics_views.module +++ b/google_analytics_views/google_analytics_views.module @@ -9,1246 +9,2976 @@ function google_analytics_views_views_api() { function google_analytics_views_get_fields() { return array( - 'visitorType' => - array( - 'type' => 'dimension', - 'group' => 'Visitor', - 'name' => 'ga:visitorType', - 'description' => 'A boolean indicating if a visitor is new or returning. Possible values: New Visitor, Returning Visitor.', - ), - 'visitCount' => - array( - 'type' => 'dimension', - 'group' => 'Visitor', - 'name' => 'ga:visitCount', - 'description' => 'The visit index for a visitor to your website. Each visit from a unique visitor will get its own incremental index starting from 1 for the first visit. Subsequent visits do not change previous visit indicies. For example, if a certain visitor has 4 visits to your website, ga:visitCount for that visitor will have 4 distinct values of '1' through '4'.', - ), - 'daysSinceLastVisit' => - array( - 'type' => 'dimension', - 'group' => 'Visitor', - 'name' => 'ga:daysSinceLastVisit', - 'description' => 'The number of days elapsed since visitors last visited your website. Used to calculate visitor loyalty.', - ), - 'userDefinedValue' => - array( - 'type' => 'dimension', - 'group' => 'Visitor', - 'name' => 'ga:userDefinedValue', - 'description' => 'The value provided when you define custom visitor segments for your website. For more information, see Creating Custom Visitor Segments.', - ), - 'visitLength' => - array( - 'type' => 'dimension', - 'group' => 'Session', - 'name' => 'ga:visitLength', - 'description' => 'The length of a visit to your website measured in seconds and reported in second increments. The value returned is a string.', - ), - 'referralPath' => - array( - 'type' => 'dimension', - 'group' => 'Traffic Sources', - 'name' => 'ga:referralPath', - 'description' => 'The path of the referring URL (e.g. document.referrer). If someone places a link to your website on their website, this element contains the path of the page that contains the referring link.', - ), - 'campaign' => - array( - 'type' => 'dimension', - 'group' => 'Traffic Sources', - 'name' => 'ga:campaign', - 'description' => 'When using manual campaign tracking, the value of the utm_campaign campaign tracking parameter. When using AdWords autotagging, the name(s) of the online ad campaign that you use for your website. Otherwise the value (not set) is used.', - ), - 'source' => - array( - 'type' => 'dimension', - 'group' => 'Traffic Sources', - 'name' => 'ga:source', - 'description' => 'The source of referrals to your website. When using manual campaign tracking, the value of the utm_source campaign tracking parameter. When using AdWords autotagging, the value is google. Otherwise the domain of the source referring the visitor to your website. (e.g. document.referrer). The value may also contain a port address. If the visitor came to the site without a referrer, the value is (direct)', - ), - 'medium' => - array( - 'type' => 'dimension', - 'group' => 'Traffic Sources', - 'name' => 'ga:medium', - 'description' => 'The type of referrals to your website. When using manual campaign tracking, the value of the utm_medium campaign tracking parameter. When using AdWords autotagging, the value is ppc. If the user comes from a search engine detected by Google Analytics, the value is organic. If the referrer is not a search engine, the value is referral. If the visitor came directly to the site, and document.referrer is empty, the value is (none).', - ), - 'keyword' => - array( - 'type' => 'dimension', - 'group' => 'Traffic Sources', - 'name' => 'ga:keyword', - 'description' => 'When using manual campaign tracking, the value of the utm_term campaign tracking parameter. When using AdWords autotagging or if a visitor used organic search to reach your website, the keywords used by visitors to reach your website. Otherwise the value is (not set).', - ), - 'adContent' => - array( - 'type' => 'dimension', - 'group' => 'Traffic Sources', - 'name' => 'ga:adContent', - 'description' => 'When using manual campaign tracking, the value of the utm_content campaign tracking parameter. When using AdWords autotagging, the first line of the text for your online Ad campaign. If you are using mad libs for your AdWords content, this field displays the keywords you provided for the mad libs keyword match. Otherwise the value is (not set)', - ), - 'adGroup' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adGroup', - 'description' => 'The name of your AdWords ad group.', - ), - 'adSlot' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adSlot', - 'description' => 'The location of the advertisement on the hosting page (Top, RHS, or not set).', - ), - 'adSlotPosition' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adSlotPosition', - 'description' => 'The ad slot positions in which your AdWords ads appeared (1-8).', - ), - 'adDistributionNetwork' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adDistributionNetwork', - 'description' => 'The networks used to deliver your ads (Content, Search, Search partners, etc.).', - ), - 'adMatchType' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adMatchType', - 'description' => 'The match types applied to your keywords (Phrase, Exact, Broad, etc.). Ads on the content network are identified as "Content network".', - ), - 'adMatchedQuery' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adMatchedQuery', - 'description' => 'The search queries that triggered impressions of your AdWords ads.', - ), - 'adPlacementDomain' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adPlacementDomain', - 'description' => 'The domains where your ads on the content network were placed.', - ), - 'adPlacementUrl' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adPlacementUrl', - 'description' => 'The URLs where your ads on the content network were placed.', - ), - 'adFormat' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adFormat', - 'description' => 'Your AdWords ad formats (Text, Image, Flash, Video, etc.).', - ), - 'adTargetingType' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adTargetingType', - 'description' => 'How your AdWords ads were targeted (keyword, placement, and vertical targeting, etc.).', - ), - 'adTargetingOption' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adTargetingOption', - 'description' => 'How you manage your ads on the content network. Values are Automatic placements or Managed placements.', - ), - 'adDisplayUrl' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adDisplayUrl', - 'description' => 'The URLs your AdWords ads displayed.', - ), - 'adDestinationUrl' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adDestinationUrl', - 'description' => 'The URLs to which your AdWords ads referred traffic.', - ), - 'adwordsCustomerId' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adwordsCustomerId', - 'description' => 'A string. Corresponds to AdWords API AccountInfo.customerId.', - ), - 'adwordsCampaignId' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adwordsCampaignId', - 'description' => 'A string. Corresponds to AdWords API Campaign.id.', - ), - 'adwordsAdGroupId' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adwordsAdGroupId', - 'description' => 'A string. Corresponds to AdWords API AdGroup.id.', - ), - 'adwordsCreativeId' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adwordsCreativeId', - 'description' => 'A string. Corresponds to AdWords API Ad.id.', - ), - 'adwordsCriteriaId' => - array( - 'type' => 'dimension', - 'group' => 'AdWords', - 'name' => 'ga:adwordsCriteriaId', - 'description' => 'A string. Corresponds to AdWords API Criterion.id.', - ), - 'browser' => - array( - 'type' => 'dimension', - 'group' => 'System', - 'name' => 'ga:browser', - 'description' => 'The names of browsers used by visitors to your website. For example, Internet Explorer or Firefox.', - ), - 'browserVersion' => - array( - 'type' => 'dimension', - 'group' => 'System', - 'name' => 'ga:browserVersion', - 'description' => 'The browser versions used by visitors to your website. For example, 2.0.0.14', - ), - 'operatingSystem' => - array( - 'type' => 'dimension', - 'group' => 'System', - 'name' => 'ga:operatingSystem', - 'description' => 'The operating system used by your visitors. For example, Windows, Linux , Macintosh, iPhone, iPod.', - ), - 'operatingSystemVersion' => - array( - 'type' => 'dimension', - 'group' => 'System', - 'name' => 'ga:operatingSystemVersion', - 'description' => 'The version of the operating system used by your visitors, such as XP for Windows or PPC for Macintosh.', - ), - 'flashVersion' => - array( - 'type' => 'dimension', - 'group' => 'System', - 'name' => 'ga:flashVersion', - 'description' => 'The versions of Flash supported by visitors' browsers, including minor versions.', - ), - 'javaEnabled' => - array( - 'type' => 'dimension', - 'group' => 'System', - 'name' => 'ga:javaEnabled', - 'description' => 'Indicates Java support for visitors' browsers. The possible values are Yes or No where the first letter must be capitalized.', - ), - 'isMobile' => - array( - 'type' => 'dimension', - 'group' => 'System', - 'name' => 'ga:isMobile', - 'description' => 'Indicates mobile visitors. The possible values are Yes or No where the first letter must be capitalized.', - ), - 'language' => - array( - 'type' => 'dimension', - 'group' => 'System', - 'name' => 'ga:language', - 'description' => 'The language provided by the HTTP Request for the browser. Values are given as an ISO-639 code (e.g. en-gb for British English).', - ), - 'screenColors' => - array( - 'type' => 'dimension', - 'group' => 'System', - 'name' => 'ga:screenColors', - 'description' => 'The color depth of visitors' monitors, as retrieved from the DOM of the visitor's browser. For example 4-bit, 8-bit, 24-bit, or undefined-bit.', - ), - 'screenResolution' => - array( - 'type' => 'dimension', - 'group' => 'System', - 'name' => 'ga:screenResolution', - 'description' => 'The screen resolution of visitors' monitors, as retrieved from the DOM of the visitor's browser. For example: 1024x738.', - ), - 'continent' => - array( - 'type' => 'dimension', - 'group' => 'Geo / Network', - 'name' => 'ga:continent', - 'description' => 'The continents of website visitors, derived from IP addresses.', - ), - 'subContinent' => - array( - 'type' => 'dimension', - 'group' => 'Geo / Network', - 'name' => 'ga:subContinent', - 'description' => 'The sub-continent of website visitors, derived from IP addresses. For example, Polynesia or Northern Europe.', - ), - 'country' => - array( - 'type' => 'dimension', - 'group' => 'Geo / Network', - 'name' => 'ga:country', - 'description' => 'The countries of website visitors, derived from IP addresses.', - ), - 'region' => - array( - 'type' => 'dimension', - 'group' => 'Geo / Network', - 'name' => 'ga:region', - 'description' => 'The region of website visitors, derived from IP addresses. In the U.S., a region is a state, such as New York.', - ), - 'city' => - array( - 'type' => 'dimension', - 'group' => 'Geo / Network', - 'name' => 'ga:city', - 'description' => 'The cities of website visitors, derived from IP addresses.', - ), - 'latitude' => - array( - 'type' => 'dimension', - 'group' => 'Geo / Network', - 'name' => 'ga:latitude', - 'description' => 'The approximate latitude of the visitor's city. Derived from IP address. Locations north of the equator are represented by positive values and locations south of the equator by negative values.', - ), - 'longitude' => - array( - 'type' => 'dimension', - 'group' => 'Geo / Network', - 'name' => 'ga:longitude', - 'description' => 'The approximate longitude of the visitor's city. Derived from IP address. Locations east of the meridian are represented by positive values and locations west of the meridian by negative values.', - ), - 'networkDomain' => - array( - 'type' => 'dimension', - 'group' => 'Geo / Network', - 'name' => 'ga:networkDomain', - 'description' => 'The domain name of the ISPs used by visitors to your website. This is derived from the domain name registered to the IP address.', - ), - 'networkLocation' => - array( - 'type' => 'dimension', - 'group' => 'Geo / Network', - 'name' => 'ga:networkLocation', - 'description' => 'The name of service providers used to reach your website. For example, if most visitors to your website come via the major service providers for cable internet, you will see the names of those cable service providers in this element.', - ), - 'hostname' => - array( - 'type' => 'dimension', - 'group' => 'Page Tracking', - 'name' => 'ga:hostname', - 'description' => 'The hostname from which the tracking request was made.', - ), - 'pagePath' => - array( - 'type' => 'dimension', - 'group' => 'Page Tracking', - 'name' => 'ga:pagePath', - 'description' => 'A page on your website specified by path and/or query parameters. Use in conjunction with ga:hostname to get the full URL of the page.', - ), - 'pageTitle' => - array( - 'type' => 'dimension', - 'group' => 'Page Tracking', - 'name' => 'ga:pageTitle', - 'description' => 'The title of a page. Keep in mind that multiple pages might have the same page title.', - ), - 'landingPagePath' => - array( - 'type' => 'dimension', - 'group' => 'Page Tracking', - 'name' => 'ga:landingPagePath', - 'description' => 'The first page in a user's session, or landing page.', - ), - 'secondPagePath' => - array( - 'type' => 'dimension', - 'group' => 'Page Tracking', - 'name' => 'ga:secondPagePath', - 'description' => 'The second page in a user's session.', - ), - 'exitPagePath' => - array( - 'type' => 'dimension', - 'group' => 'Page Tracking', - 'name' => 'ga:exitPagePath', - 'description' => 'The last page in a user's session, or exit page.', - ), - 'previousPagePath' => - array( - 'type' => 'dimension', - 'group' => 'Page Tracking', - 'name' => 'ga:previousPagePath', - 'description' => 'A page on your website that was visited before another page on your website. Typically used with the ga:nextPagePath dimension.', - ), - 'nextPagePath' => - array( - 'type' => 'dimension', - 'group' => 'Page Tracking', - 'name' => 'ga:nextPagePath', - 'description' => 'A page on your website that was visited after another page on your website. Typically used with the ga:previousPagePath dimension.', - ), - 'pageDepth' => - array( - 'type' => 'dimension', - 'group' => 'Page Tracking', - 'name' => 'ga:pageDepth', - 'description' => 'The number of pages visited by visitors during a session (visit). The value is a histogram that counts pageviews across a range of possible values. In this calculation, all visits will have at least one pageview, and some percentage of visits will have more.', - ), - 'searchUsed' => - array( - 'type' => 'dimension', - 'group' => 'Internal Search', - 'name' => 'ga:searchUsed', - 'description' => 'A boolean to distinguish whether internal site search was used in a session. Values are Visits With Site Search and Visits Without Site Search.', - ), - 'searchKeyword' => - array( - 'type' => 'dimension', - 'group' => 'Internal Search', - 'name' => 'ga:searchKeyword', - 'description' => 'Search terms used by website visitors on your internal site search.', - ), - 'searchKeywordRefinement' => - array( - 'type' => 'dimension', - 'group' => 'Internal Search', - 'name' => 'ga:searchKeywordRefinement', - 'description' => 'Subsequent keyword search terms or strings entered by users after a given initial string search.', - ), - 'searchCategory' => - array( - 'type' => 'dimension', - 'group' => 'Internal Search', - 'name' => 'ga:searchCategory', - 'description' => 'The categories used for the internal search if you have this enabled for your profile. For example, you might have product categories such as electronics, furniture, or clothing.', - ), - 'searchStartPage' => - array( - 'type' => 'dimension', - 'group' => 'Internal Search', - 'name' => 'ga:searchStartPage', - 'description' => 'A page where the user initiated an internal site search.', - ), - 'searchDestinationPage' => - array( - 'type' => 'dimension', - 'group' => 'Internal Search', - 'name' => 'ga:searchDestinationPage', - 'description' => 'A page that the user visited after performing an internal website search.', - ), - 'eventCategory' => - array( - 'type' => 'dimension', - 'group' => 'Event Tracking', - 'name' => 'ga:eventCategory', - 'description' => 'The category of the event.', - ), - 'eventAction' => - array( - 'type' => 'dimension', - 'group' => 'Event Tracking', - 'name' => 'ga:eventAction', - 'description' => 'The action of the event.', - ), - 'eventLabel' => - array( - 'type' => 'dimension', - 'group' => 'Event Tracking', - 'name' => 'ga:eventLabel', - 'description' => 'The label of the event.', - ), - 'transactionId' => - array( - 'type' => 'dimension', - 'group' => 'Ecommerce', - 'name' => 'ga:transactionId', - 'description' => 'The transaction ID for the shopping cart purchase as supplied by your ecommerce tracking method.', - ), - 'affiliation' => - array( - 'type' => 'dimension', - 'group' => 'Ecommerce', - 'name' => 'ga:affiliation', - 'description' => 'Typically used to designate a supplying company or brick and mortar location; product affiliation.', - ), - 'visitsToTransaction' => - array( - 'type' => 'dimension', - 'group' => 'Ecommerce', - 'name' => 'ga:visitsToTransaction', - 'description' => 'The number of visits between users' purchases and the related campaigns that lead to the purchases.', - ), - 'daysToTransaction' => - array( - 'type' => 'dimension', - 'group' => 'Ecommerce', - 'name' => 'ga:daysToTransaction', - 'description' => 'The number of days between users' purchases and the related campaigns that lead to the purchases.', - ), - 'productSku' => - array( - 'type' => 'dimension', - 'group' => 'Ecommerce', - 'name' => 'ga:productSku', - 'description' => 'The product sku for purchased items as you have defined them in your ecommerce tracking application.', - ), - 'productName' => - array( - 'type' => 'dimension', - 'group' => 'Ecommerce', - 'name' => 'ga:productName', - 'description' => 'The product name for purchased items as supplied by your ecommerce tracking application.', - ), - 'productCategory' => - array( - 'type' => 'dimension', - 'group' => 'Ecommerce', - 'name' => 'ga:productCategory', - 'description' => 'Any product variations (size, color) for purchased items as supplied by your ecommerce application.', - ), - 'customVarName(n)' => - array( - 'type' => 'dimension', - 'group' => 'Custom Variables', - 'name' => 'ga:customVarName(n)', - 'description' => 'The name for the requested custom variable.', - ), - 'customVarValue(n)' => - array( - 'type' => 'dimension', - 'group' => 'Custom Variables', - 'name' => 'ga:customVarValue(n)', - 'description' => 'The value for the requested custom variable.', - ), - 'date' => - array( - 'type' => 'dimension', - 'group' => 'Time', - 'name' => 'ga:date', - 'description' => 'The date of the visit. An integer in the form YYYYMMDD.', - ), - 'year' => - array( - 'type' => 'dimension', - 'group' => 'Time', - 'name' => 'ga:year', - 'description' => 'The year of the visit. A four-digit year from 2005 to the current year.', - ), - 'month' => - array( - 'type' => 'dimension', - 'group' => 'Time', - 'name' => 'ga:month', - 'description' => 'The month of the visit. A two digit integer from 01 to 12.', - ), - 'week' => - array( - 'type' => 'dimension', - 'group' => 'Time', - 'name' => 'ga:week', - 'description' => 'The week of the visit. A two-digit number from 01 to 53. Each week starts on Sunday.', - ), - 'day' => - array( - 'type' => 'dimension', - 'group' => 'Time', - 'name' => 'ga:day', - 'description' => 'The day of the month. A two-digit number from 01 to 31.', - ), - 'hour' => - array( - 'type' => 'dimension', - 'group' => 'Time', - 'name' => 'ga:hour', - 'description' => 'A two-digit hour of the day ranging from 00-23 in the timezone configured for the account. This value is also corrected for daylight savings time, adhering to all local rules for daylight savings time. If your timezone follows daylight savings time, there will be an apparent bump in the number of visits during the change-over hour (e.g. between 1:00 and 2:00) for the day per year when that hour repeats. A corresponding hour with zero visits will occur at the opposite changeover. (Google Analytics does not track visitor time more precisely than hours.)', - ), - 'nthMonth' => - array( - 'type' => 'dimension', - 'group' => 'Time', - 'name' => 'ga:nthMonth', - 'description' => 'Index for each month in the specified date range. Index for the first month in the date range is 0, 1 for the second month, and so on. The index corresponds to ga:month entries.', - ), - 'nthWeek' => - array( - 'type' => 'dimension', - 'group' => 'Time', - 'name' => 'ga:nthWeek', - 'description' => 'Index for each week in the specified date range. Index for the first week in the date range is 0, 1 for the second week, and so on. The index corresponds to ga:week entries.', - ), - 'nthDay' => - array( - 'type' => 'dimension', - 'group' => 'Time', - 'name' => 'ga:nthDay', - 'description' => 'Index for each day in the specified date range. Index for the first day (i.e., start-date) in the date range is 0, 1 for the second day, and so on.', - ), - 'dayOfWeek' => - array( - 'type' => 'dimension', - 'group' => 'Time', - 'name' => 'ga:dayOfWeek', - 'description' => 'The day of the week. A one-digit number from 0 (Sunday) to 6 (Monday).', - ), - 'visitors' => - array( - 'type' => 'metric', - 'group' => 'Visitor', - 'name' => 'ga:visitors', - 'description' => 'Total number of visitors to your website for the requested time period.', - ), - 'newVisits' => - array( - 'type' => 'metric', - 'group' => 'Visitor', - 'name' => 'ga:newVisits', - 'description' => 'The number of visitors whose visit to your website was marked as a first-time visit.', - ), - 'percentNewVisits' => - array( - 'type' => 'metric', - 'group' => 'Visitor', - 'name' => 'ga:percentNewVisits', - 'description' => '(ga:newVisits / ga:visits) * 100
The percentage of visits by people who had never visited your site before.', - ), - 'visits' => - array( - 'type' => 'metric', - 'group' => 'Session', - 'name' => 'ga:visits', - 'description' => 'Counts the total number of sessions.', - ), - 'bounces' => - array( - 'type' => 'metric', - 'group' => 'Session', - 'name' => 'ga:bounces', - 'description' => 'The total number of single page (or single engagement hit) sessions to your website.', - ), - 'entranceBounceRate' => - array( - 'type' => 'metric', - 'group' => 'Session', - 'name' => 'ga:entranceBounceRate', - 'description' => '(ga:bounces / ga:entrances) * 100
The percentage of single-page visits (i.e. visits in which the person left your site from the entrance page).', - ), - 'visitBounceRate' => - array( - 'type' => 'metric', - 'group' => 'Session', - 'name' => 'ga:visitBounceRate', - 'description' => '(ga:bounces / ga:visits) * 100
The percentage of single-page visits (i.e., visits in which the person left your site from the first page).', - ), - 'timeOnSite' => - array( - 'type' => 'metric', - 'group' => 'Session', - 'name' => 'ga:timeOnSite', - 'description' => 'The total duration of visitor sessions represented in total seconds.', - ), - 'avgTimeOnSite' => - array( - 'type' => 'metric', - 'group' => 'Session', - 'name' => 'ga:avgTimeOnSite', - 'description' => 'ga:timeOnSite / ga:visits
The average duration visitor sessions represented in total seconds.', - ), - 'organicSearches' => - array( - 'type' => 'metric', - 'group' => 'Traffic Sources', - 'name' => 'ga:organicSearches', - 'description' => 'The number of organic searches that happened within a session. This metric is search engine agnostic.', - ), - 'impressions' => - array( - 'type' => 'metric', - 'group' => 'AdWords', - 'name' => 'ga:impressions', - 'description' => 'Total number of campaign impressions.', - ), - 'adClicks' => - array( - 'type' => 'metric', - 'group' => 'AdWords', - 'name' => 'ga:adClicks', - 'description' => 'The total number of times users have clicked on an ad to reach your website.', - ), - 'adCost' => - array( - 'type' => 'metric', - 'group' => 'AdWords', - 'name' => 'ga:adCost', - 'description' => 'Derived cost for the advertising campaign. The currency for this value is based on the currency that you set in your AdWords account.', - ), - 'CPM' => - array( - 'type' => 'metric', - 'group' => 'AdWords', - 'name' => 'ga:CPM', - 'description' => 'Cost per thousand impressions.', - ), - 'CPC' => - array( - 'type' => 'metric', - 'group' => 'AdWords', - 'name' => 'ga:CPC', - 'description' => 'Cost to advertiser per click.', - ), - 'CTR' => - array( - 'type' => 'metric', - 'group' => 'AdWords', - 'name' => 'ga:CTR', - 'description' => 'Click-through-rate for your ad. This is equal to the number of clicks divided by the number of impressions for your ad (e.g. how many times users clicked on one of your ads where that ad appeared).', - ), - 'costPerTransaction' => - array( - 'type' => 'metric', - 'group' => 'AdWords', - 'name' => 'ga:costPerTransaction', - 'description' => 'ga:adCost / ga:transactions
The cost per transaction for your site.', - ), - 'costPerGoalConversion' => - array( - 'type' => 'metric', - 'group' => 'AdWords', - 'name' => 'ga:costPerGoalConversion', - 'description' => 'ga:adCost / ga:goalCompletionsAll
The cost per goal conversion for your site.', - ), - 'costPerConversion' => - array( - 'type' => 'metric', - 'group' => 'AdWords', - 'name' => 'ga:costPerConversion', - 'description' => 'ga:adCost / (ga:transactions + ga:goalCompletionsAll)
The cost per conversion (including ecommerce and goal conversions) for your site.', - ), - 'RPC' => - array( - 'type' => 'metric', - 'group' => 'AdWords', - 'name' => 'ga:RPC', - 'description' => '(ga:transactionRevenue + ga:goalValueAll) / ga:adClicks
RPC or revenue-per-click is the average revenue (from ecommerce sales and/or goal value) you received for each click on one of your search ads.', - ), - 'ROI' => - array( - 'type' => 'metric', - 'group' => 'AdWords', - 'name' => 'ga:ROI', - 'description' => '(ga:transactionRevenue + ga:goalValueAll - ga:adCost) / ga:adCost
Returns on Investment is overall transaction profit divided by derived advertising cost.', - ), - 'margin' => - array( - 'type' => 'metric', - 'group' => 'AdWords', - 'name' => 'ga:margin', - 'description' => '(ga:transactionRevenue + ga:goalValueAll - ga:adCost) / (ga:transactionRevenue + ga:goalValueAll)
The overall transaction profit margin.', - ), - 'goal(n)Starts' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goal(n)Starts', - 'description' => 'The total number of starts for the requested goal number.', - ), - 'goalStartsAll' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goalStartsAll', - 'description' => 'The total number of starts for all goals defined for your profile.', - ), - 'goal(n)Completions' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goal(n)Completions', - 'description' => 'The total number of completions for the requested goal number.', - ), - 'goalCompletionsAll' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goalCompletionsAll', - 'description' => 'The total number of completions for all goals defined for your profile.', - ), - 'goal(n)Value' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goal(n)Value', - 'description' => 'The total numeric value for the requested goal number.', - ), - 'goalValueAll' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goalValueAll', - 'description' => 'The total numeric value for all goals defined for your profile.', - ), - 'goalValuePerVisit' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goalValuePerVisit', - 'description' => 'ga:goalValueAll / ga:visits
The average goal value of a visit to your site.', - ), - 'goal(n)ConversionRate' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goal(n)ConversionRate', - 'description' => '(ga:goal(n)Completions / ga:visits) * 100
The percentage of visits which resulted in a conversion to the requested goal number.', - ), - 'goalConversionRateAll' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goalConversionRateAll', - 'description' => '(ga:goalCompletionsAll / ga:visits) * 100
The percentage of visits which resulted in a conversion to at least one of your goals.', - ), - 'goal(n)Abandons' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goal(n)Abandons', - 'description' => 'ga:goal(n)Starts - ga:goal(n)Completions
The number of times visitors started conversion activity on the requested goal number without actually completing it.', - ), - 'goalAbandonsAll' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goalAbandonsAll', - 'description' => 'ga:goalStartsAll - ga:goalCompletionsAll
The overall number of times visitors started goals without actually completing them.', - ), - 'goal(n)AbandonRate' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goal(n)AbandonRate', - 'description' => '((ga:goal(n)Starts - ga:goal(n)Completions) / ga:goal(n)Starts) * 100
The rate at which the requested goal number was abandoned.', - ), - 'goalAbandonRateAll' => - array( - 'type' => 'metric', - 'group' => 'Goal Conversions', - 'name' => 'ga:goalAbandonRateAll', - 'description' => '(ga:goalStartsAll - ga:goalCompletionsAll) / ga:goalStartsAll) * 100
The rate at which goals were abandoned.', - ), - 'entrances' => - array( - 'type' => 'metric', - 'group' => 'Page Tracking', - 'name' => 'ga:entrances', - 'description' => 'The number of entrances to your website measured as the first pageview in a session. Typically used with ga:landingPagePath', - ), - 'entranceRate' => - array( - 'type' => 'metric', - 'group' => 'Page Tracking', - 'name' => 'ga:entranceRate', - 'description' => '(ga:entrances / ga:pageviews) * 100
The percentage of pageviews in which this page was the entrance.', - ), - 'pageviews' => - array( - 'type' => 'metric', - 'group' => 'Page Tracking', - 'name' => 'ga:pageviews', - 'description' => 'The total number of pageviews for your website.', - ), - 'pageviewsPerVisit' => - array( - 'type' => 'metric', - 'group' => 'Page Tracking', - 'name' => 'ga:pageviewsPerVisit', - 'description' => 'ga:pageviews / ga:visits
The average number of pages viewed during a visit to your site. Repeated views of a single page are counted.', - ), - 'uniquePageviews' => - array( - 'type' => 'metric', - 'group' => 'Page Tracking', - 'name' => 'ga:uniquePageviews', - 'description' => 'The number of different (unique) pages within a session. This takes into both the pagePath and pageTitle to determine uniqueness.', - ), - 'timeOnPage' => - array( - 'type' => 'metric', - 'group' => 'Page Tracking', - 'name' => 'ga:timeOnPage', - 'description' => 'How long a visitor spent on a particular page in seconds. Calculated by subtracting the initial view time for a particular page from the initial view time for a subsequent page. Thus, this metric does not apply to exit pages for your website.', - ), - 'avgTimeOnPage' => - array( - 'type' => 'metric', - 'group' => 'Page Tracking', - 'name' => 'ga:avgTimeOnPage', - 'description' => 'ga:timeOnPage / (ga:pageviews - ga:exits)
The average amount of time visitors spent viewing this page or a set of pages.', - ), - 'exits' => - array( - 'type' => 'metric', - 'group' => 'Page Tracking', - 'name' => 'ga:exits', - 'description' => 'The number of exits from your website.', - ), - 'exitRate' => - array( - 'type' => 'metric', - 'group' => 'Page Tracking', - 'name' => 'ga:exitRate', - 'description' => '(ga:exits / ga:pageviews) * 100
The percentage of site exits that occurred out of the total page views.', - ), - 'searchResultViews' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:searchResultViews', - 'description' => 'The number of times a search result page was viewed after performing a search.', - ), - 'searchUniques' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:searchUniques', - 'description' => 'The total number of unique keywords from internal site search within a session. For example if "shoes" was searched for 3 times in a session, it will be only counted once.', - ), - 'avgSearchResultViews' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:avgSearchResultViews', - 'description' => 'ga:searchResultViews / ga:searchUniques
The average number of times people viewed a search results page after performing a search.', - ), - 'searchVisits' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:searchVisits', - 'description' => 'The total number of sessions that included an internal site search', - ), - 'percentVisitsWithSearch' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:percentVisitsWithSearch', - 'description' => '(ga:searchVisits / ga:visits) * 100
The percentage of visits with search.', - ), - 'searchDepth' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:searchDepth', - 'description' => 'The average number of subsequent page views made on your site after a use of your internal search feature.', - ), - 'avgSearchDepth' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:avgSearchDepth', - 'description' => 'ga:searchDepth / ga:searchUniques
The average number of pages people viewed after performing a search on your site.', - ), - 'searchRefinements' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:searchRefinements', - 'description' => 'The total number of times a refinement (transition) occurs between internal site search keywords within a session. For example if the sequence of keywords is: "shoes", "shoes", "pants", "pants", this metric will be one because the transition between "shoes" and "pants" is different.', - ), - 'searchDuration' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:searchDuration', - 'description' => 'The visit duration to your site where a use of your internal search feature occurred.', - ), - 'avgSearchDuration' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:avgSearchDuration', - 'description' => 'ga:searchDuration / ga:searchUniques
The average amount of time people spent on your site after searching.', - ), - 'searchExits' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:searchExits', - 'description' => 'The number of exits on your site that occurred following a search result from your internal search feature.', - ), - 'searchExitRate' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:searchExitRate', - 'description' => '(ga:searchExits / ga:searchUniques) * 100
The percentage of searches that resulted in an immediate exit from your site.', - ), - 'searchGoal(n)ConversionRate' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:searchGoal(n)ConversionRate', - 'description' => '(ga:goal(n)Completions / ga:searchUniques) * 100
The percentage of search visits (i.e., visits that included at least one search) which resulted in a conversion to the requested goal number.', - ), - 'searchGoalConversionRateAll' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:searchGoalConversionRateAll', - 'description' => '(ga:goalCompletionsAll / ga:searchUniques) * 100
The percentage of search visits (i.e., visits that included at least one search) which resulted in a conversion to at least one of your goals.', - ), - 'goalValueAllPerSearch' => - array( - 'type' => 'metric', - 'group' => 'Internal Search', - 'name' => 'ga:goalValueAllPerSearch', - 'description' => 'ga:goalValueAll / ga:searchUniques
The average goal value of a search on your site.', - ), - 'pageLoadTime' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:pageLoadTime', - 'description' => 'Total Page Load Time is the amount of time (in milliseconds) it takes for pages from the sample set to load, from initiation of the pageview (e.g. click on a page link) to load completion in the browser.', - ), - 'pageLoadSample' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:pageLoadSample', - 'description' => 'The sample set (or count) of pageviews used to calculate the average page load time.', - ), - 'avgPageLoadTime' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:avgPageLoadTime', - 'description' => '(ga:pageLoadTime / ga:pageLoadSample) * 0.001
The average amount of time (in seconds) it takes for pages from the sample set to load, from initiation of the pageview (e.g. click on a page link) to load completion in the browser.', - ), - 'domainLookupTime' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:domainLookupTime', - 'description' => 'The total amount of time (in milliseconds) spent in DNS lookup for this page among all samples.', - ), - 'avgDomainLookupTime' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:avgDomainLookupTime', - 'description' => '(ga:domainLookupTime / ga:speedMetricsSample) * 0.001
The average amount of time (in seconds) spent in DNS lookup for this page.', - ), - 'pageDownloadTime' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:pageDownloadTime', - 'description' => 'The total amount of time (in milliseconds) to download this page among all samples.', - ), - 'avgPageDownloadTime' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:avgPageDownloadTime', - 'description' => '(pageDownloadTime / ga:speedMetricsSample) * 0.001
The average amount of time (in seconds) to download this page.', - ), - 'redirectionTime' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:redirectionTime', - 'description' => 'The total amount of time (in milliseconds) spent in redirects before fetching this page among all samples. If there are no redirects, the value for this metric is expected to be 0.', - ), - 'avgRedirectionTime' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:avgRedirectionTime', - 'description' => '(ga:redirectionTime / ga:speedMetricsSample) * 0.001
The average amount of time (in seconds) spent in redirects before fetching this page. If there are no redirects, the value for this metric is expected to be 0.', - ), - 'serverConnectionTime' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:serverConnectionTime', - 'description' => 'The total amount of time (in milliseconds) spent in establishing TCP connection for this page among all samples.', - ), - 'avgServerConnectionTime' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:avgServerConnectionTime', - 'description' => '(ga:serverConnectionTime / ga:speedMetricsSample) * 0.001
The average amount of time (in seconds) spent in establishing TCP connection for this page.', - ), - 'serverResponseTime' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:serverResponseTime', - 'description' => 'The total amount of time (in milliseconds) your server takes to respond to a user request among all samples, including the network time from user's location to your server.', - ), - 'avgServerResponseTime' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:avgServerResponseTime', - 'description' => '(ga:serverResponseTime / ga:speedMetricsSample) * 0.001
The average amount of time (in seconds) your server takes to respond to a user request, including the network time from user's location to your server.', - ), - 'speedMetricsSample' => - array( - 'type' => 'metric', - 'group' => 'Site Speed', - 'name' => 'ga:speedMetricsSample', - 'description' => 'The sample set (or count) of pageviews used to calculate the averages for site speed metrics. This metric is used in all site speed average calculations including ga:avgDomainLookupTime, ga:avgPageDownloadTime, ga:avgRedirectionTime, ga:avgServerConnectionTime, and ga:avgServerResponseTime.', - ), - 'totalEvents' => - array( - 'type' => 'metric', - 'group' => 'Event Tracking', - 'name' => 'ga:totalEvents', - 'description' => 'The total number of events for the profile, across all categories.', - ), - 'uniqueEvents' => - array( - 'type' => 'metric', - 'group' => 'Event Tracking', - 'name' => 'ga:uniqueEvents', - 'description' => 'The total number of unique events for the profile, across all categories.', - ), - 'eventValue' => - array( - 'type' => 'metric', - 'group' => 'Event Tracking', - 'name' => 'ga:eventValue', - 'description' => 'The total value of events for the profile.', - ), - 'avgEventValue' => - array( - 'type' => 'metric', - 'group' => 'Event Tracking', - 'name' => 'ga:avgEventValue', - 'description' => 'ga:eventValue / ga:totalEvents
The average value of an event.', - ), - 'visitsWithEvent' => - array( - 'type' => 'metric', - 'group' => 'Event Tracking', - 'name' => 'ga:visitsWithEvent', - 'description' => 'The total number of visits with events.', - ), - 'eventsPerVisitWithEvent' => - array( - 'type' => 'metric', - 'group' => 'Event Tracking', - 'name' => 'ga:eventsPerVisitWithEvent', - 'description' => 'ga:totalEvents / ga:visitsWithEvent
The average number of events per visit with event.', - ), - 'transactions' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:transactions', - 'description' => 'The total number of transactions.', - ), - 'transactionsPerVisit' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:transactionsPerVisit', - 'description' => 'ga:transactions / ga:visits
The average number of transactions for a visit to your site.', - ), - 'transactionRevenue' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:transactionRevenue', - 'description' => 'The total sale revenue provided in the transaction excluding shipping and tax. See the tracking API reference for _addTrans() for additional information.', - ), - 'revenuePerTransaction' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:revenuePerTransaction', - 'description' => 'ga:transactionRevenue / ga:transactions
The average revenue for an e-commerce transaction.', - ), - 'transactionRevenuePerVisit' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:transactionRevenuePerVisit', - 'description' => 'ga:transactionRevenue / ga:visits
Average transaction revenue for a visit to your site.', - ), - 'transactionShipping' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:transactionShipping', - 'description' => 'The total cost of shipping.', - ), - 'transactionTax' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:transactionTax', - 'description' => 'The total amount of tax.', - ), - 'totalValue' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:totalValue', - 'description' => 'ga:transactionRevenue + ga:goalValueAll
Total value for your site (including total revenue and total goal value).', - ), - 'itemQuantity' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:itemQuantity', - 'description' => 'The total number of items purchased. For example, if users purchase 2 frisbees and 5 tennis balls, 7 items have been purchased.', - ), - 'uniquePurchases' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:uniquePurchases', - 'description' => 'The number of product sets purchased. For example, if users purchase 2 frisbees and 5 tennis balls from your site, 2 unique products have been purchased.', - ), - 'revenuePerItem' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:revenuePerItem', - 'description' => 'ga:itemRevenue / ga:itemQuantity
The average revenue per item.', - ), - 'itemRevenue' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:itemRevenue', - 'description' => 'The total revenue from purchased product items on your website. See the tracking API reference for _addItem() for additional information.', - ), - 'itemsPerPurchase' => - array( - 'type' => 'metric', - 'group' => 'Ecommerce', - 'name' => 'ga:itemsPerPurchase', - 'description' => 'ga:itemQuantity / ga:uniquePurchases
The average quantity of this item (or group of items) sold per purchase.', - ), -); + // User dimensions. + 'userType' => + array( + 'type' => 'dimension', + 'group' => t('User dimensions'), + 'name' => t('User Type'), + 'description' => t('A boolean indicating if a user is new or returning. Possible values: New Visitor, Returning Visitor.'), + ), + 'visitorType' => + array( + 'type' => 'dimension', + 'group' => t('User dimensions'), + 'name' => t('Visitor Type'), + 'description' => t('Status: Deprecated. Use ga:userType instead.'), + ), + 'sessionCount' => + array( + 'type' => 'dimension', + 'group' => t('User dimensions'), + 'name' => t('Count of Sessions'), + 'description' => t('The session index for a user to your property. Each session from a unique user will get its own incremental index starting from 1 for the first session. Subsequent sessions do not change previous session indicies. For example, if a certain user has 4 sessions to your website, sessionCount for that user will have 4 distinct values of 1 through 4.'), + ), + 'visitCount' => + array( + 'type' => 'dimension', + 'group' => t('User dimensions'), + 'name' => t('Visit Count'), + 'description' => t('Status: Deprecated. Use ga:sessionCount instead.'), + ), + 'daysSinceLastSession' => + array( + 'type' => 'dimension', + 'group' => t('User dimensions'), + 'name' => t('Days Since Last Session'), + 'description' => t('The number of days elapsed since users last visited your property. Used to calculate user loyalty.'), + ), + 'daysSinceLastVisit' => + array( + 'type' => 'dimension', + 'group' => t('User dimensions'), + 'name' => t('Days Since Last Visit'), + 'description' => t('Status: Deprecated. Use ga:daysSinceLastSession instead.'), + ), + 'userDefinedValue' => + array( + 'type' => 'dimension', + 'group' => t('User dimensions'), + 'name' => t('User Defined Value'), + 'description' => t('The value provided when you define custom visitor segments for your website.'), + ), + // User metrics. + 'users' => + array( + 'type' => 'metric', + 'group' => t('User metrics'), + 'name' => t('Users'), + 'description' => t('Total number of users to your property for the requested time period.'), + ), + 'visitors' => + array( + 'type' => 'metric', + 'group' => t('User metrics'), + 'name' => t('Visitors'), + 'description' => t('Status: Deprecated. Use ga:users instead.'), + ), + 'newUsers' => + array( + 'type' => 'metric', + 'group' => t('User metrics'), + 'name' => t('New Users'), + 'description' => t('The number of users whose session on your property was marked as a first-time session.'), + ), + 'newVisits' => + array( + 'type' => 'metric', + 'group' => t('User metrics'), + 'name' => t('New Visits'), + 'description' => t('Status: Deprecated. Use ga:newUsers instead.'), + ), + // User calculated metrics. + 'percentNewSessions' => + array( + 'type' => 'metric', + 'group' => t('User calculated metrics'), + 'name' => t('% New Sessions'), + 'description' => t('The percentage of sessions by people who had never visited your property before.'), + 'calculation' => 'ga:newUsers / ga:sessions', + ), + 'percentNewVisits' => + array( + 'type' => 'metric', + 'group' => t('User calculated metrics'), + 'name' => t('% New Visits'), + 'description' => t('Status: Deprecated. Use ga:percentNewSessions instead.'), + ), + // Session dimensions. + 'sessionDurationBucket' => + array( + 'type' => 'dimension', + 'group' => t('Session dimensions'), + 'name' => t('Session Duration'), + 'description' => t('The length of a session on your property measured in seconds and reported in second increments. The value returned is a string.'), + ), + 'visitLength' => + array( + 'type' => 'dimension', + 'group' => t('Session dimensions'), + 'name' => t('Visit Length'), + 'description' => t('Status: Deprecated. Use ga:sessionDurationBucket instead.'), + ), + // Session metrics. + 'sessions' => + array( + 'type' => 'metric', + 'group' => t('Session metrics'), + 'name' => t('Sessions'), + 'description' => t('Counts the total number of sessions.'), + ), + 'visits' => + array( + 'type' => 'metric', + 'group' => t('Session metrics'), + 'name' => t('Visits'), + 'description' => t('Status: Deprecated. Use ga:sessions instead.'), + ), + 'bounces' => + array( + 'type' => 'metric', + 'group' => t('Session metrics'), + 'name' => t('Bounces'), + 'description' => t('The total number of single page (or single engagement hit) sessions for your property.'), + ), + 'sessionDuration' => + array( + 'type' => 'metric', + 'group' => t('Session metrics'), + 'name' => t('Session Duration'), + 'description' => t('The total duration of user sessions represented in total seconds.'), + ), + 'timeOnSite' => + array( + 'type' => 'metric', + 'group' => t('Session metrics'), + 'name' => t('Time On Site'), + 'description' => t('Status: Deprecated. Use ga:sessionDuration instead.'), + ), + 'hits' => + array( + 'type' => 'metric', + 'group' => t('Session metrics'), + 'name' => t('Hits'), + 'description' => t('Total number of hits sent to Google Analytics. This metric sums all hit types (e.g. pageview, event, timing, etc.).'), + ), + // Session calculated metrics. + 'entranceBounceRate' => + array( + 'type' => 'metric', + 'group' => t('Session calculated metrics'), + 'name' => t('Entrance Bounce Rate'), + 'description' => t('Status: Deprecated. Use ga:bounceRate instead.'), + ), + 'bounceRate' => + array( + 'type' => 'metric', + 'group' => t('Session calculated metrics'), + 'name' => t('Bounce Rate'), + 'description' => t('The percentage of single-page session (i.e., session in which the person left your property from the first page).'), + 'calculation' => 'ga:bounces / ga:sessions', + ), + 'visitBounceRate' => + array( + 'type' => 'metric', + 'group' => t('Session calculated metrics'), + 'name' => t('Visit Bounce Rate'), + 'description' => t('Status: Deprecated. Use ga:bounceRate instead.'), + ), + 'avgSessionDuration' => + array( + 'type' => 'metric', + 'group' => t('Session calculated metrics'), + 'name' => t('Avg. Session Duration'), + 'description' => t('The average duration of user sessions represented in total seconds.'), + 'calculation' => 'ga:sessionDuration / ga:sessions', + ), + 'avgTimeOnSite' => + array( + 'type' => 'metric', + 'group' => t('Session calculated metrics'), + 'name' => t('Avg. Time On Site'), + 'description' => t('Status: Deprecated. Use ga:avgSessionDuration instead.'), + ), + // Traffic sources dimensions. + 'referralPath' => + array( + 'type' => 'dimension', + 'group' => t('Traffic sources dimensions'), + 'name' => t('Referral Path'), + 'description' => t('The path of the referring URL (e.g. document.referrer). If someone places a link to your property on their website, this element contains the path of the page that contains the referring link.'), + ), + 'fullReferrer' => + array( + 'type' => 'dimension', + 'group' => t('Traffic sources dimensions'), + 'name' => t('Full Referrer'), + 'description' => t('The full referring URL including the hostname and path.'), + ), + 'campaign' => + array( + 'type' => 'dimension', + 'group' => t('Traffic sources dimensions'), + 'name' => t('Campaign'), + 'description' => t('When using manual campaign tracking, the value of the utm_campaign campaign tracking parameter. When using AdWords autotagging, the name(s) of the online ad campaign that you use for your property. Otherwise the value (not set) is used.'), + ), + 'source' => + array( + 'type' => 'dimension', + 'group' => t('Traffic sources dimensions'), + 'name' => t('Source'), + 'description' => t('The source of referrals to your property. When using manual campaign tracking, the value of the utm_source campaign tracking parameter. When using AdWords autotagging, the value is google. Otherwise the domain of the source referring the user to your property (e.g. document.referrer). The value may also contain a port address. If the user arrived without a referrer, the value is (direct).'), + ), + 'medium' => + array( + 'type' => 'dimension', + 'group' => t('Traffic sources dimensions'), + 'name' => t('Medium'), + 'description' => t('The type of referrals to your property. When using manual campaign tracking, the value of the utm_medium campaign tracking parameter. When using AdWords autotagging, the value is ppc. If the user comes from a search engine detected by Google Analytics, the value is organic. If the referrer is not a search engine, the value is referral. If the users came directly to the property, and document.referrer is empty, the value is (none).'), + ), + 'sourceMedium' => + array( + 'type' => 'dimension', + 'group' => t('Traffic sources dimensions'), + 'name' => t('Source / Medium'), + 'description' => t('Combined values of ga:source and ga:medium.'), + ), + 'keyword' => + array( + 'type' => 'dimension', + 'group' => t('Traffic sources dimensions'), + 'name' => t('Keyword'), + 'description' => t('When using manual campaign tracking, the value of the utm_term campaign tracking parameter. When using AdWords autotagging or if a user used organic search to reach your property, the keywords used by users to reach your property. Otherwise the value is (not set).'), + ), + 'adContent' => + array( + 'type' => 'dimension', + 'group' => t('Traffic sources dimensions'), + 'name' => t('Ad Content'), + 'description' => t('When using manual campaign tracking, the value of the utm_content campaign tracking parameter. When using AdWords autotagging, the first line of the text for your online Ad campaign. If you are using mad libs for your AdWords content, this field displays the keywords you provided for the mad libs keyword match. Otherwise the value is (not set).'), + ), + 'socialNetwork' => + array( + 'type' => 'dimension', + 'group' => t('Traffic sources dimensions'), + 'name' => t('Social Network'), + 'description' => t('Name of the social network. This can be related to the referring social network for traffic sources, or to the social network for social data hub activities. E.g. Google+, Blogger, etc.'), + ), + 'hasSocialSourceReferral' => + array( + 'type' => 'dimension', + 'group' => t('Traffic sources dimensions'), + 'name' => t('Social Source Referral'), + 'description' => t('Indicates sessions that arrived to the property from a social source. The possible values are Yes or No where the first letter is capitalized.'), + ), + 'campaignCode' => + array( + 'type' => 'dimension', + 'group' => t('Traffic sources dimensions'), + 'name' => t('Campaign Code'), + 'description' => t('When using manual campaign tracking, the value of the utm_id campaign tracking parameter.'), + ), + // Traffic sources metrics. + 'organicSearches' => + array( + 'type' => 'metric', + 'group' => t('Traffic sources metrics'), + 'name' => t('Organic Searches'), + 'description' => t('The number of organic searches that happened within a session. This metric is search engine agnostic.'), + ), + // Adwords dimensions. + 'adGroup' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Ad Group'), + 'description' => t('The name of your AdWords ad group.'), + ), + 'adSlot' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Ad Slot'), + 'description' => t('The location of the advertisement on the hosting page (Top, RHS, or not set).'), + ), + 'adSlotPosition' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Ad Slot Position'), + 'description' => t('The ad slot positions in which your AdWords ads appeared (1-8).'), + ), + 'adDistributionNetwork' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Ad Distribution Network'), + 'description' => t('The networks used to deliver your ads (Content, Search, Search partners, etc.).'), + ), + 'adMatchType' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Query Match Type'), + 'description' => t('The match types applied for the search term the user had input (Phrase, Exact, Broad, etc.). Ads on the content network are identified as Content network. Details: @url.', array('@url' => 'https://support.google.com/adwords/answer/2472708')), + ), + 'adKeywordMatchType' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Keyword Match Type'), + 'description' => t('The match types applied to your keywords (Phrase, Exact, Broad). Details: @url.', array('@url' => 'https://support.google.com/adwords/answer/2472708')), + ), + 'adMatchedQuery' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Matched Search Query'), + 'description' => t('The search queries that triggered impressions of your AdWords ads.'), + ), + 'adPlacementDomain' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Placement Domain'), + 'description' => t('The domains where your ads on the content network were placed.'), + ), + 'adPlacementUrl' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Placement URL'), + 'description' => t('The URLs where your ads on the content network were placed.'), + ), + 'adFormat' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Ad Format'), + 'description' => t('Your AdWords ad formats (Text, Image, Flash, Video, etc.).'), + ), + 'adTargetingType' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Targeting Type'), + 'description' => t('How your AdWords ads were targeted (keyword, placement, and vertical targeting, etc.).'), + ), + 'adTargetingOption' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Placement Type'), + 'description' => t('How you manage your ads on the content network. Values are Automatic placements or Managed placements.'), + ), + 'adDisplayUrl' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Display URL'), + 'description' => t('The URLs your AdWords ads displayed.'), + ), + 'adDestinationUrl' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('Destination URL'), + 'description' => t('The URLs to which your AdWords ads referred traffic.'), + ), + 'adwordsCustomerId' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('AdWords Customer ID'), + 'description' => t('A string. Corresponds to AdWords API AccountInfo.customerId.'), + ), + 'adwordsCampaignId' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('AdWords Campaign ID'), + 'description' => t('A string. Corresponds to AdWords API Campaign.id.'), + ), + 'adwordsAdGroupId' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('AdWords Ad Group ID'), + 'description' => t('A string. Corresponds to AdWords API AdGroup.id.'), + ), + 'adwordsCreativeId' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('AdWords Creative ID'), + 'description' => t('A string. Corresponds to AdWords API Ad.id.'), + ), + 'adwordsCriteriaId' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('AdWords Criteria ID'), + 'description' => t('A string. Corresponds to AdWords API Criterion.id.'), + ), + 'isTrueViewVideoAd' => + array( + 'type' => 'dimension', + 'group' => t('AdWords dimensions'), + 'name' => t('TrueView Video Ad'), + 'description' => t('Yes or No - Indicates whether the ad is an AdWords TrueView video ad.'), + ), + // Adwords metrics. + 'impressions' => + array( + 'type' => 'metric', + 'group' => t('AdWords metrics'), + 'name' => t('Impressions'), + 'description' => t('Total number of campaign impressions.'), + ), + 'adClicks' => + array( + 'type' => 'metric', + 'group' => t('AdWords metrics'), + 'name' => t('Clicks'), + 'description' => t('The total number of times users have clicked on an ad to reach your property.'), + ), + 'adCost' => + array( + 'type' => 'metric', + 'group' => t('AdWords metrics'), + 'name' => t('Cost'), + 'description' => t('Derived cost for the advertising campaign. The currency for this value is based on the currency that you set in your AdWords account.'), + ), + // Adwords calculated metrics. + 'CPM' => + array( + 'type' => 'metric', + 'group' => t('AdWords calculated metrics'), + 'name' => t('CPM'), + 'description' => t('Cost per thousand impressions.'), + 'calculation' => 'ga:adCost / (ga:impressions / 1000)', + ), + 'CPC' => + array( + 'type' => 'metric', + 'group' => t('AdWords calculated metrics'), + 'name' => t('CPC'), + 'description' => t('Cost to advertiser per click.'), + 'calculation' => 'ga:adCost / ga:adClicks', + ), + 'CTR' => + array( + 'type' => 'metric', + 'group' => t('AdWords calculated metrics'), + 'name' => t('CTR'), + 'description' => t('Click-through-rate for your ad. This is equal to the number of clicks divided by the number of impressions for your ad (e.g. how many times users clicked on one of your ads where that ad appeared).'), + 'calculation' => 'ga:adClicks / ga:impressions', + ), + 'costPerTransaction' => + array( + 'type' => 'metric', + 'group' => t('AdWords calculated metrics'), + 'name' => t('Cost per Transaction'), + 'description' => t('The cost per transaction for your property.'), + 'calculation' => '(ga:adCost) / (ga:transactions)', + ), + 'costPerGoalConversion' => + array( + 'type' => 'metric', + 'group' => t('AdWords calculated metrics'), + 'name' => t('Cost per Goal Conversion'), + 'description' => t('The cost per goal conversion for your site.'), + 'calculation' => 'ga:adCost / ga:goalCompletionsAl', + ), + 'costPerConversion' => + array( + 'type' => 'metric', + 'group' => t('AdWords calculated metrics'), + 'name' => t('Cost per Goal Conversion'), + 'description' => t('The cost per goal conversion for your property.'), + 'calculation' => '(ga:adCost) / (ga:goalCompletionsAll)', + ), + 'RPC' => + array( + 'type' => 'metric', + 'group' => t('AdWords calculated metrics'), + 'name' => t('RPC'), + 'description' => t('RPC or revenue-per-click is the average revenue (from ecommerce sales and/or goal value) you received for each click on one of your search ads.'), + 'calculation' => '(ga:transactionRevenue + ga:goalValueAll) / ga:adClicks', + ), + 'ROI' => + array( + 'type' => 'metric', + 'group' => t('AdWords calculated metrics'), + 'name' => t('ROI'), + 'description' => t('Status: Deprecated. This column should not be used.'), + ), + 'margin' => + array( + 'type' => 'metric', + 'group' => t('AdWords calculated metrics'), + 'name' => t('Margin'), + 'description' => t('Status: Deprecated. This column should not be used.'), + ), + 'ROAS' => + array( + 'type' => 'metric', + 'group' => t('AdWords calculated metrics'), + 'name' => t('ROAS'), + 'description' => t('Return On Ad Spend (ROAS) is the total transaction revenue and goal value divided by derived advertising cost.'), + 'calculation' => '(ga:transactionRevenue + ga:goalValueAll) / ga:adCost', + ), + // Goal conversions dimensions. + 'goalCompletionLocation' => + array( + 'type' => 'dimension', + 'group' => t('Goal conversions dimensions'), + 'name' => t('Goal Completion Location'), + 'description' => t('The page path or screen name that matched any destination type goal completion.'), + ), + 'goalPreviousStep1' => + array( + 'type' => 'dimension', + 'group' => t('Goal conversions dimensions'), + 'name' => t('Goal Previous Step - 1'), + 'description' => t('The page path or screen name that matched any destination type goal, one step prior to the goal completion location.'), + ), + 'goalPreviousStep2' => + array( + 'type' => 'dimension', + 'group' => t('Goal conversions dimensions'), + 'name' => t('Goal Previous Step - 2'), + 'description' => t('The page path or screen name that matched any destination type goal, one step prior to the goal completion location.'), + ), + 'goalPreviousStep3' => + array( + 'type' => 'dimension', + 'group' => t('Goal conversions dimensions'), + 'name' => t('Goal Previous Step - 3'), + 'description' => t('The page path or screen name that matched any destination type goal, one step prior to the goal completion location.'), + ), + // Goal conversions metrics. + 'goalXXStarts' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions metrics'), + 'name' => t('Goal XX Starts'), + 'description' => t('The total number of starts for the requested goal number.'), + ), + 'goalStartsAll' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions metrics'), + 'name' => t('Goal Starts'), + 'description' => t('The total number of starts for all goals defined for your profile.'), + ), + 'goalXXCompletions' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions metrics'), + 'name' => t('Goal XX Completions'), + 'description' => t('The total number of completions for the requested goal number.'), + ), + 'goalCompletionsAll' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions metrics'), + 'name' => t('Goal Completions'), + 'description' => t('The total number of completions for all goals defined for your profile.'), + ), + 'goalXXValue' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions metrics'), + 'name' => t('Goal XX Value'), + 'description' => t('The total numeric value for the requested goal number.'), + ), + 'goalValueAll' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions metrics'), + 'name' => t('Goal Value'), + 'description' => t('The total numeric value for all goals defined for your profile.'), + ), + // Goal conversions calculated metrics. + 'goalValuePerSession' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions calculated metrics'), + 'name' => t('Per Session Goal Value'), + 'description' => t('The average goal value of a session on your property.'), + 'calculation' => 'ga:goalValueAll / ga:sessions', + ), + 'goalValuePerVisit' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions calculated metrics'), + 'name' => t('Per Visit Goal Value'), + 'description' => t('Status: Deprecated. Use ga:goalValuePerSession instead.'), + ), + 'goalXXConversionRate' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions calculated metrics'), + 'name' => t('Goal XX Conversion Rate'), + 'description' => t('The percentage of sessions which resulted in a conversion to the requested goal number.'), + 'calculation' => 'ga:goalXXCompletions / ga:sessions', + ), + 'goalConversionRateAll' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions calculated metrics'), + 'name' => t('Goal Conversion Rate'), + 'description' => t('The percentage of sessions which resulted in a conversion to at least one of your goals.'), + 'calculation' => 'ga:goalCompletionsAll / ga:sessions', + ), + 'goalXXAbandons' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions calculated metrics'), + 'name' => t('Goal XX Abandoned Funnels'), + 'description' => t('The number of times users started conversion activity on the requested goal number without actually completing it.'), + 'calculation' => '(ga:goalXXStarts - ga:goalXXCompletions)', + ), + 'goalAbandonsAll' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions calculated metrics'), + 'name' => t('Abandoned Funnels'), + 'description' => t('The overall number of times users started goals without actually completing them.'), + 'calculation' => '(ga:goalStartsAll - ga:goalCompletionsAll)', + ), + 'goalXXAbandonRate' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions calculated metrics'), + 'name' => t('Goal XX Abandonment Rate'), + 'description' => t('The rate at which the requested goal number was abandoned.'), + 'calculation' => '((ga:goalXXStarts - ga:goalXXCompletions)) / (ga:goalXXStarts)', + ), + 'goalAbandonRateAll' => + array( + 'type' => 'metric', + 'group' => t('Goal conversions calculated metrics'), + 'name' => t('Total Abandonment Rate'), + 'description' => t('The rate at which goals were abandoned.'), + 'calculation' => '((ga:goalStartsAll - ga:goalCompletionsAll)) / (ga:goalStartsAll)', + ), + // Platform or device dimensions. + 'browser' => + array( + 'type' => 'dimension', + 'group' => t('Platform or device dimensions'), + 'name' => t('Browser'), + 'description' => t('The names of browsers used by users to your website. For example, Internet Explorer or Firefox.'), + ), + 'browserVersion' => + array( + 'type' => 'dimension', + 'group' => t('Platform or device dimensions'), + 'name' => t('Browser Version'), + 'description' => t('The browser versions used by users to your website. For example, 2.0.0.14.'), + ), + 'operatingSystem' => + array( + 'type' => 'dimension', + 'group' => t('Platform or device dimensions'), + 'name' => t('Operating System'), + 'description' => t('The operating system used by your users. For example, Windows, Linux , Macintosh, iPhone, iPod.'), + ), + 'operatingSystemVersion' => + array( + 'type' => 'dimension', + 'group' => t('Platform or device dimensions'), + 'name' => t('Operating System Version'), + 'description' => t('The version of the operating system used by your users, such as XP for Windows or PPC for Macintosh.'), + ), + 'isMobile' => + array( + 'type' => 'dimension', + 'group' => t('Platform or device dimensions'), + 'name' => t('Is Mobile'), + 'description' => t('Status: Deprecated. This column should not be used.'), + ), + 'isTablet' => + array( + 'type' => 'dimension', + 'group' => t('Platform or device dimensions'), + 'name' => t('Is Tablet'), + 'description' => t('Status: Deprecated. This column should not be used.'), + ), + 'mobileDeviceBranding' => + array( + 'type' => 'dimension', + 'group' => t('Platform or device dimensions'), + 'name' => t('Mobile Device Branding'), + 'description' => t('Mobile manufacturer or branded name.'), + ), + 'mobileDeviceModel' => + array( + 'type' => 'dimension', + 'group' => t('Platform or device dimensions'), + 'name' => t('Mobile Device Model'), + 'description' => t('Mobile device model.'), + ), + 'mobileInputSelector' => + array( + 'type' => 'dimension', + 'group' => t('Platform or device dimensions'), + 'name' => t('Mobile Input Selector'), + 'description' => t('Selector used on the mobile device (e.g.: touchscreen, joystick, clickwheel, stylus).'), + ), + 'mobileDeviceInfo' => + array( + 'type' => 'dimension', + 'group' => t('Platform or device dimensions'), + 'name' => t('Mobile Device Info'), + 'description' => t('The branding, model, and marketing name used to identify the mobile device.'), + ), + 'mobileDeviceMarketingName' => + array( + 'type' => 'dimension', + 'group' => t('Platform or device dimensions'), + 'name' => t('Mobile Device Marketing Name'), + 'description' => t('The marketing name used for the mobile device.'), + ), + 'deviceCategory' => + array( + 'type' => 'dimension', + 'group' => t('Platform or device dimensions'), + 'name' => t('Device Category'), + 'description' => t('The type of device: desktop, tablet, or mobile.'), + ), + // Geo network dimensions. + 'continent' => + array( + 'type' => 'dimension', + 'group' => t('Geo network dimensions'), + 'name' => t('Continent'), + 'description' => t('The continents of property users, derived from IP addresses.'), + ), + 'subContinent' => + array( + 'type' => 'dimension', + 'group' => t('Geo network dimensions'), + 'name' => t('Sub Continent Region'), + 'description' => t('The sub-continent of users, derived from IP addresses. For example, Polynesia or Northern Europe.'), + ), + 'country' => + array( + 'type' => 'dimension', + 'group' => t('Geo network dimensions'), + 'name' => t('Country / Territory'), + 'description' => t('The country of users, derived from IP addresses.'), + ), + 'region' => + array( + 'type' => 'dimension', + 'group' => t('Geo network dimensions'), + 'name' => t('Region'), + 'description' => t('The region of users to your property, derived from IP addresses. In the U.S., a region is a state, such as New York.'), + ), + 'metro' => + array( + 'type' => 'dimension', + 'group' => t('Geo network dimensions'), + 'name' => t('Metro'), + 'description' => t('The Designated Market Area (DMA) from where traffic arrived on your property.'), + ), + 'city' => + array( + 'type' => 'dimension', + 'group' => t('Geo network dimensions'), + 'name' => t('City'), + 'description' => t('The cities of property users, derived from IP addresses.'), + ), + 'latitude' => + array( + 'type' => 'dimension', + 'group' => t('Geo network dimensions'), + 'name' => t('Latitude'), + 'description' => t('The approximate latitude of the user\'s city. Derived from IP address. Locations north of the equator are represented by positive values and locations south of the equator by negative values.'), + ), + 'longitude' => + array( + 'type' => 'dimension', + 'group' => t('Geo network dimensions'), + 'name' => t('Longitude'), + 'description' => t('The approximate longitude of the user\'s city. Derived from IP address. Locations east of the meridian are represented by positive values and locations west of the meridian by negative values.'), + ), + 'networkDomain' => + array( + 'type' => 'dimension', + 'group' => t('Geo network dimensions'), + 'name' => t('Network Domain'), + 'description' => t('The domain name of the ISPs used by users to your property. This is derived from the domain name registered to the IP address.'), + ), + 'networkLocation' => + array( + 'type' => 'dimension', + 'group' => t('Geo network dimensions'), + 'name' => t('Service Provider'), + 'description' => t('The name of service providers used to reach your property. For example, if most users to your website come via the major service providers for cable internet, you will see the names of those cable service providers in this element.'), + ), + // System dimensions. + 'flashVersion' => + array( + 'type' => 'dimension', + 'group' => t('System dimensions'), + 'name' => t('Flash Version'), + 'description' => t('The versions of Flash supported by users\' browsers, including minor versions.'), + ), + 'javaEnabled' => + array( + 'type' => 'dimension', + 'group' => t('System dimensions'), + 'name' => t('Java Support'), + 'description' => t('Indicates Java support for users\' browsers. The possible values are Yes or No where the first letter must be capitalized.'), + ), + 'language' => + array( + 'type' => 'dimension', + 'group' => t('System dimensions'), + 'name' => t('Language'), + 'description' => t('The language provided by the HTTP Request for the browser. Values are given as an ISO-639 code (e.g. en-gb for British English).'), + ), + 'screenColors' => + array( + 'type' => 'dimension', + 'group' => t('System dimensions'), + 'name' => t('Screen Colors'), + 'description' => t('The color depth of users\' monitors, as retrieved from the DOM of the user\'s browser. For example 4-bit, 8-bit, 24-bit, or undefined-bit.'), + ), + 'sourcePropertyDisplayName' => + array( + 'type' => 'dimension', + 'group' => t('System dimensions'), + 'name' => t('Source Property Display Name'), + 'description' => t('Source property display name of roll-up properties. This is valid only for roll-up properties.'), + ), + 'sourcePropertyTrackingId' => + array( + 'type' => 'dimension', + 'group' => t('System dimensions'), + 'name' => t('Source Property Tracking ID'), + 'description' => t('Source property tracking ID of roll-up properties. This is valid only for roll-up properties.'), + ), + 'screenResolution' => + array( + 'type' => 'dimension', + 'group' => t('System dimensions'), + 'name' => t('Screen Resolution'), + 'description' => t('The screen resolution of users\' screens. For example: 1024x738.'), + ), + // Social activities dimensions. + 'socialActivityEndorsingUrl' => + array( + 'type' => 'dimension', + 'group' => t('Social activities dimensions'), + 'name' => t('Endorsing URL'), + 'description' => t('For a social data hub activity, this value represents the URL of the social activity (e.g. the Google+ post URL, the blog comment URL, etc.).'), + ), + 'socialActivityDisplayName' => + array( + 'type' => 'dimension', + 'group' => t('Social activities dimensions'), + 'name' => t('Display Name'), + 'description' => t('For a social data hub activity, this value represents the title of the social activity posted by the social network user.'), + ), + 'socialActivityPost' => + array( + 'type' => 'dimension', + 'group' => t('Social activities dimensions'), + 'name' => t('Social Activity Post'), + 'description' => t('For a social data hub activity, this value represents the content of the social activity posted by the social network user (e.g. The message content of a Google+ post).'), + ), + 'socialActivityTimestamp' => + array( + 'type' => 'dimension', + 'group' => t('Social activities dimensions'), + 'name' => t('Social Activity Timestamp'), + 'description' => t('For a social data hub activity, this value represents when the social activity occurred on the social network.'), + ), + 'socialActivityUserHandle' => + array( + 'type' => 'dimension', + 'group' => t('Social activities dimensions'), + 'name' => t('Social Activity Timestamp'), + 'description' => t('For a social data hub activity, this value represents when the social activity occurred on the social network.'), + ), + 'socialActivityUserPhotoUrl' => + array( + 'type' => 'dimension', + 'group' => t('Social activities dimensions'), + 'name' => t('User Photo URL'), + 'description' => t('For a social data hub activity, this value represents the URL of the photo associated with the user\'s social network profile.'), + ), + 'socialActivityUserProfileUrl' => + array( + 'type' => 'dimension', + 'group' => t('Social activities dimensions'), + 'name' => t('User Profile URL'), + 'description' => t('For a social data hub activity, this value represents the URL of the associated user\'s social network profile.'), + ), + 'socialActivityContentUrl' => + array( + 'type' => 'dimension', + 'group' => t('Social activities dimensions'), + 'name' => t('Shared URL'), + 'description' => t('For a social data hub activity, this value represents the URL shared by the associated social network user.'), + ), + 'socialActivityTagsSummary' => + array( + 'type' => 'dimension', + 'group' => t('Social activities dimensions'), + 'name' => t('Social Tags Summary'), + 'description' => t('For a social data hub activity, this is a comma-separated set of tags associated with the social activity.'), + ), + 'socialActivityAction' => + array( + 'type' => 'dimension', + 'group' => t('Social activities dimensions'), + 'name' => t('Originating Social Action'), + 'description' => t('For a social data hub activity, this value represents the type of social action associated with the activity (e.g. vote, comment, +1, etc.).'), + ), + 'socialActivityNetworkAction' => + array( + 'type' => 'dimension', + 'group' => t('Social activities dimensions'), + 'name' => t('Social Network and Action'), + 'description' => t('For a social data hub activity, this value represents the type of social action and the social network where the activity originated.'), + ), + // Social activities metrics. + 'socialActivities' => + array( + 'type' => 'metric', + 'group' => t('Social activitie'), + 'name' => t('Data Hub Activities'), + 'description' => t('The count of activities where a content URL was shared / mentioned on a social data hub partner network.'), + ), + // Page tracking dimensions. + 'hostname' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Hostname'), + 'description' => t('The hostname from which the tracking request was made.'), + ), + 'pagePath' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Page'), + 'description' => t('A page on your website specified by path and/or query parameters. Use in conjunction with hostname to get the full URL of the page.'), + ), + 'pagePathLevel1' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Page path level 1'), + 'description' => t('This dimension rolls up all the page paths in the first hierarchical level in pagePath.'), + ), + 'pagePathLevel2' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Page path level 2'), + 'description' => t('This dimension rolls up all the page paths in the first hierarchical level in pagePath.'), + ), + 'pagePathLevel3' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Page path level 3'), + 'description' => t('This dimension rolls up all the page paths in the first hierarchical level in pagePath.'), + ), + 'pagePathLevel4' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Page path level 4'), + 'description' => t('This dimension rolls up all the page paths in the first hierarchical level in pagePath.'), + ), + 'pageTitle' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Page Title'), + 'description' => t('The title of a page. Keep in mind that multiple pages might have the same page title.'), + ), + 'landingPagePath' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Landing Page'), + 'description' => t('The first page in a user\'s session, or landing pag'), + ), + 'secondPagePath' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Second Page'), + 'description' => t('The second page in a user\'s session.'), + ), + 'exitPagePath' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Exit Page'), + 'description' => t('The last page in a user\'s session, or exit page.'), + ), + 'previousPagePath' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Previous Page Path'), + 'description' => t('A page on your property that was visited before another page on the same property. Typically used with the pagePath dimension.'), + ), + 'nextPagePath' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Next Page Path'), + 'description' => t('A page on your website that was visited after another page on your website. Typically used with the previousPagePath dimension.'), + ), + 'pageDepth' => + array( + 'type' => 'dimension', + 'group' => t('Page tracking dimensions'), + 'name' => t('Page Depth'), + 'description' => t('The number of pages visited by users during a session. The value is a histogram that counts pageviews across a range of possible values. In this calculation, all sessions will have at least one pageview, and some percentage of sessions will have more.'), + ), + // Page tracking metrics. + 'pageValue' => + array( + 'type' => 'metric', + 'group' => t('Page tracking metrics'), + 'name' => t('Page Value'), + 'description' => t('The average value of this page or set of pages. Page Value is (ga:transactionRevenue + ga:goalValueAll) / ga:uniquePageviews (for the page or set of pages).'), + ), + 'entrances' => + array( + 'type' => 'metric', + 'group' => t('Page tracking metrics'), + 'name' => t('Entrances'), + 'description' => t('The number of entrances to your property measured as the first pageview in a session. Typically used with landingPagePath.'), + ), + 'pageviews' => + array( + 'type' => 'metric', + 'group' => t('Page tracking metrics'), + 'name' => t('Pageviews'), + 'description' => t('The total number of pageviews for your property.'), + ), + 'uniquePageviews' => + array( + 'type' => 'metric', + 'group' => t('Page tracking metrics'), + 'name' => t('Unique Pageviews'), + 'description' => t('The number of different (unique) pages within a session. This takes into account both the pagePath and pageTitle to determine uniqueness.'), + ), + 'timeOnPage' => + array( + 'type' => 'metric', + 'group' => t('Page tracking metrics'), + 'name' => t('Time on Page'), + 'description' => t('How long a user spent on a particular page in seconds. Calculated by subtracting the initial view time for a particular page from the initial view time for a subsequent page. Thus, this metric does not apply to exit pages for your property.'), + ), + 'exits' => + array( + 'type' => 'metric', + 'group' => t('Page tracking metrics'), + 'name' => t('Exits'), + 'description' => t('The number of exits from your property.'), + ), + // Page tracking calculated metrics. + 'entranceRate' => + array( + 'type' => 'metric', + 'group' => t('Page tracking calculated metrics'), + 'name' => t('Entrances / Pageviews'), + 'description' => t('The percentage of pageviews in which this page was the entrance.'), + 'calculation' => 'ga:entrances / ga:pageviews', + ), + 'pageviewsPerSession' => + array( + 'type' => 'metric', + 'group' => t('Page tracking calculated metrics'), + 'name' => t('Pages / Session'), + 'description' => t('The average number of pages viewed during a session on your property. Repeated views of a single page are counted.'), + 'calculation' => 'ga:pageviews / ga:sessions', + ), + 'pageviewsPerVisit' => + array( + 'type' => 'metric', + 'group' => t('Page tracking calculated metrics'), + 'name' => t('Pageviews Per Visit'), + 'description' => t('Status: Deprecated. Use ga:pageviewsPerSession instead.'), + ), + 'avgTimeOnPage' => + array( + 'type' => 'metric', + 'group' => t('Page tracking calculated metrics'), + 'name' => t('Avg. Time on Page'), + 'description' => t('The average amount of time users spent viewing this page or a set of pages.'), + 'calculation' => 'ga:timeOnPage / (ga:pageviews - ga:exits)', + ), + 'exitRate' => + array( + 'type' => 'metric', + 'group' => t('Page tracking calculated metrics'), + 'name' => t('% Exit'), + 'description' => t('The percentage of exits from your property that occurred out of the total page views.'), + 'calculation' => 'ga:exits / (ga:pageviews + ga:screenviews)', + ), + // Content grouping dimensions. + 'landingContentGroupXX' => + array( + 'type' => 'dimension', + 'group' => t('Content grouping dimensions'), + 'name' => t('Landing Page Group XX'), + 'description' => t('The first matching content group in a user\'s session.'), + ), + 'previousContentGroupXX' => + array( + 'type' => 'dimension', + 'group' => t('Content grouping dimensions'), + 'name' => t('Previous Page Group XX'), + 'description' => t('Refers to content group that was visited before another content group.'), + ), + 'contentGroupXX' => + array( + 'type' => 'dimension', + 'group' => t('Content grouping dimensions'), + 'name' => t('Page Group XX'), + 'description' => t('Content group on a property. A content group is a collection of content providing a logical structure that can be determined by tracking code or page title/url regex match, or predefined rules.'), + ), + 'nextContentGroupXX' => + array( + 'type' => 'dimension', + 'group' => t('Content grouping dimensions'), + 'name' => t('Next Page Group XX'), + 'description' => t('Refers to content group that was visited after another content group.'), + ), + // Content grouping metrics. + 'contentGroupUniqueViewsXX' => + array( + 'type' => 'metric', + 'group' => t('Content grouping metrics'), + 'name' => t('Unique Views'), + 'description' => t('The number of different (unique) pages within a session for the specified content group. This takes into account both the pagePath and pageTitle to determine uniqueness.'), + ), + // Internal search dimensions. + 'searchUsed' => + array( + 'type' => 'dimension', + 'group' => t('Internal search dimensions'), + 'name' => t('Site Search Status'), + 'description' => t('A boolean to distinguish whether internal search was used in a session. Values are Visits With Site Search and Visits Without Site Search.'), + ), + 'searchKeyword' => + array( + 'type' => 'dimension', + 'group' => t('Internal search dimensions'), + 'name' => t('Search Term'), + 'description' => t('Search terms used by users within your property.'), + ), + 'searchKeywordRefinement' => + array( + 'type' => 'dimension', + 'group' => t('Internal search dimensions'), + 'name' => t('Refined Keyword'), + 'description' => t('Subsequent keyword search terms or strings entered by users after a given initial string search.'), + ), + 'searchCategory' => + array( + 'type' => 'dimension', + 'group' => t('Internal search dimensions'), + 'name' => t('Site Search Category'), + 'description' => t('The categories used for the internal search if you have this enabled for your profile. For example, you might have product categories such as electronics, furniture, or clothing.'), + ), + 'searchStartPage' => + array( + 'type' => 'dimension', + 'group' => t('Internal search dimensions'), + 'name' => t('Start Page'), + 'description' => t('A page where the user initiated an internal search on your property.'), + ), + 'searchDestinationPage' => + array( + 'type' => 'dimension', + 'group' => t('Internal search dimensions'), + 'name' => t('Destination Page'), + 'description' => t('A page that the user visited after performing an internal search on your property.'), + ), + // Internal search metrics. + 'searchResultViews' => + array( + 'type' => 'metric', + 'group' => t('Internal search metrics'), + 'name' => t('Results Pageviews'), + 'description' => t('The number of times a search result page was viewed after performing a search.'), + ), + 'searchUniques' => + array( + 'type' => 'metric', + 'group' => t('Internal search metrics'), + 'name' => t('Total Unique Searches'), + 'description' => t('The total number of unique keywords from internal searches within a session. For example if "shoes" was searched for 3 times in a session, it will be only counted once.'), + ), + 'searchSessions' => + array( + 'type' => 'metric', + 'group' => t('Internal search metrics'), + 'name' => t('Sessions with Search'), + 'description' => t('The total number of sessions that included an internal search'), + ), + 'searchVisits' => + array( + 'type' => 'metric', + 'group' => t('Internal search metrics'), + 'name' => t('Visits with Search'), + 'description' => t('Status: Deprecated. Use ga:searchSessions instead.'), + ), + 'searchDepth' => + array( + 'type' => 'metric', + 'group' => t('Internal search metrics'), + 'name' => t('Search Depth'), + 'description' => t('The average number of subsequent page views made on your property after a use of your internal search feature.'), + ), + 'searchRefinements' => + array( + 'type' => 'metric', + 'group' => t('Internal search metrics'), + 'name' => t('Search Refinements'), + 'description' => t('The total number of times a refinement (transition) occurs between internal search keywords within a session. For example if the sequence of keywords is: shoes, shoes, pants, pants, this metric will be one because the transition between shoes and pants is different.'), + ), + 'searchDuration' => + array( + 'type' => 'metric', + 'group' => t('Internal search metrics'), + 'name' => t('Time after Search'), + 'description' => t('The session duration on your property where a use of your internal search feature occurred.'), + ), + 'searchExits' => + array( + 'type' => 'metric', + 'group' => t('Internal search metrics'), + 'name' => t('Search Exits'), + 'description' => t('The number of exits on your site that occurred following a search result from your internal search feature.'), + ), + // Internal search calculated metrics. + 'avgSearchResultViews' => + array( + 'type' => 'metric', + 'group' => t('Internal search calculated metrics'), + 'name' => t('Results Pageviews / Search'), + 'description' => t('The average number of times people viewed a search results page after performing a search.'), + 'calculation' => 'ga:searchResultViews / ga:searchUniques', + ), + 'percentSessionsWithSearch' => + array( + 'type' => 'metric', + 'group' => t('Internal search calculated metrics'), + 'name' => t('% Sessions with Search'), + 'description' => t('The percentage of sessions with search.'), + 'calculation' => 'ga:searchSessions / ga:sessions', + ), + 'percentVisitsWithSearch' => + array( + 'type' => 'metric', + 'group' => t('Internal search calculated metrics'), + 'name' => t('% Visits with Search'), + 'description' => t('Status: Deprecated. Use ga:percentSessionsWithSearch instead.'), + ), + 'avgSearchDepth' => + array( + 'type' => 'metric', + 'group' => t('Internal search calculated metrics'), + 'name' => t('Average Search Depth'), + 'description' => t('The average number of pages people viewed after performing a search on your property.'), + 'calculation' => 'ga:searchDepth / ga:searchUniques', + ), + 'percentSearchRefinements' => + array( + 'type' => 'metric', + 'group' => t('Internal search calculated metrics'), + 'name' => t('% Search Refinements'), + 'description' => t('The percentage of number of times a refinement (i.e., transition) occurs between internal search keywords within a session.'), + 'calculation' => 'ga:searchRefinements / ga:searchResultViews', + ), + 'avgSearchDuration' => + array( + 'type' => 'metric', + 'group' => t('Internal search calculated metrics'), + 'name' => t('Time after Search'), + 'description' => t('The average amount of time people spent on your property after searching.'), + 'calculation' => 'ga:searchDuration / ga:searchUniques', + ), + 'searchExitRate' => + array( + 'type' => 'metric', + 'group' => t('Internal search calculated metrics'), + 'name' => t('% Search Exits'), + 'description' => t('The percentage of searches that resulted in an immediate exit from your property.'), + 'calculation' => 'ga:searchExits / ga:searchUniques', + ), + 'searchGoalXXConversionRate' => + array( + 'type' => 'metric', + 'group' => t('Internal search calculated metrics'), + 'name' => t('Site Search Goal XX Conversion Rate'), + 'description' => t('The percentage of search sessions (i.e., sessions that included at least one search) which resulted in a conversion to the requested goal number.'), + 'calculation' => 'ga:goalXXCompletions / ga:searchUniques', + ), + 'searchGoalConversionRateAll' => + array( + 'type' => 'metric', + 'group' => t('Internal search calculated metrics'), + 'name' => t('Site Search Goal Conversion Rate'), + 'description' => t('The percentage of search sessions (i.e., sessions that included at least one search) which resulted in a conversion to at least one of your goals.'), + 'calculation' => 'ga:goalCompletionsAll / ga:searchUniques', + ), + 'goalValueAllPerSearch' => + array( + 'type' => 'metric', + 'group' => t('Internal search calculated metrics'), + 'name' => t('Per Search Goal Value'), + 'description' => t('The average goal value of a search on your property.'), + 'calculation' => 'ga:goalValueAll / ga:searchUniques', + ), + // Site speed metrics. + 'pageLoadTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed metrics'), + 'name' => t('Page Load Time (ms)'), + 'description' => t('Total Page Load Time is the amount of time (in milliseconds) it takes for pages from the sample set to load, from initiation of the pageview (e.g. click on a page link) to load completion in the browser.'), + ), + 'pageLoadSample' => + array( + 'type' => 'metric', + 'group' => t('Site speed metrics'), + 'name' => t('Page Load Sample'), + 'description' => t('The sample set (or count) of pageviews used to calculate the average page load time.'), + ), + 'domainLookupTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed metrics'), + 'name' => t('Domain Lookup Time (ms)'), + 'description' => t('The total amount of time (in milliseconds) spent in DNS lookup for this page among all samples.'), + ), + 'pageDownloadTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed metrics'), + 'name' => t('Page Download Time (ms)'), + 'description' => t('The total amount of time (in milliseconds) to download this page among all samples.'), + ), + 'redirectionTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed metrics'), + 'name' => t('Redirection Time (ms)'), + 'description' => t('The total amount of time (in milliseconds) spent in redirects before fetching this page among all samples. If there are no redirects, the value for this metric is expected to be 0.'), + ), + 'serverConnectionTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed metrics'), + 'name' => t('Server Connection Time (ms)'), + 'description' => t('The total amount of time (in milliseconds) spent in establishing TCP connection for this page among all samples.'), + ), + 'serverResponseTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed metrics'), + 'name' => t('Server Response Time (ms)'), + 'description' => t('The total amount of time (in milliseconds) your server takes to respond to a user request among all samples, including the network time from user\'s location to your server.'), + ), + 'speedMetricsSample' => + array( + 'type' => 'metric', + 'group' => t('Site speed metrics'), + 'name' => t('Speed Metrics Sample'), + 'description' => t('The sample set (or count) of pageviews used to calculate the averages for site speed metrics. This metric is used in all site speed average calculations including avgDomainLookupTime, avgPageDownloadTime, avgRedirectionTime, avgServerConnectionTime, and avgServerResponseTime.'), + ), + 'domInteractiveTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed metrics'), + 'name' => t('Document Interactive Time (ms)'), + 'description' => t('The time the browser takes (in milliseconds) to parse the document (DOMInteractive), including the network time from the user\'s location to your server. At this time, the user can interact with the Document Object Model even though it is not fully loaded.'), + ), + 'domContentLoadedTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed metrics'), + 'name' => t('Document Content Loaded Time (ms)'), + 'description' => t('The time the browser takes (in milliseconds) to parse the document and execute deferred and parser-inserted scripts (DOMContentLoaded), including the network time from the user\'s location to your server. Parsing of the document is finished, the Document Object Model is ready, but referenced style sheets, images, and subframes may not be finished loading. This event is often the starting point for javascript framework execution, e.g., jQuery\'s onready() callback, etc.'), + ), + 'domLatencyMetricsSample' => + array( + 'type' => 'metric', + 'group' => t('Site speed metrics'), + 'name' => t('DOM Latency Metrics Sample'), + 'description' => t('The sample set (or count) of pageviews used to calculate the averages for site speed DOM metrics. This metric is used in the avgDomContentLoadedTime and avgDomInteractiveTime calculations.'), + ), + // Site speed calculated metrics. + 'avgPageLoadTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed calculated metrics'), + 'name' => t('Avg. Page Load Time (sec)'), + 'description' => t('The average amount of time (in seconds) it takes for pages from the sample set to load, from initiation of the pageview (e.g. click on a page link) to load completion in the browser.'), + 'calculation' => '(ga:pageLoadTime / ga:pageLoadSample / 1000)', + ), + 'avgDomainLookupTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed calculated metrics'), + 'name' => t('Avg. Domain Lookup Time (sec)'), + 'description' => t('The average amount of time (in seconds) spent in DNS lookup for this page.'), + 'calculation' => '(ga:domainLookupTime / ga:speedMetricsSample / 1000)', + ), + 'avgPageDownloadTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed calculated metrics'), + 'name' => t('Avg. Page Download Time (sec)'), + 'description' => t('The average amount of time (in seconds) to download this page.'), + 'calculation' => '(ga:pageDownloadTime / ga:speedMetricsSample / 1000)', + ), + 'avgRedirectionTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed calculated metrics'), + 'name' => t('Avg. Redirection Time (sec)'), + 'description' => t('The average amount of time (in seconds) spent in redirects before fetching this page. If there are no redirects, the value for this metric is expected to be 0.'), + 'calculation' => '(ga:redirectionTime / ga:speedMetricsSample / 1000)', + ), + 'avgServerConnectionTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed calculated metrics'), + 'name' => t('Avg. Server Connection Time (sec)'), + 'description' => t('The average amount of time (in seconds) spent in establishing TCP connection for this page.'), + 'calculation' => '(ga:serverConnectionTime / ga:speedMetricsSample / 1000)', + ), + 'avgServerResponseTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed calculated metrics'), + 'name' => t('Avg. Server Response Time (sec)'), + 'description' => t('The average amount of time (in seconds) your server takes to respond to a user request, including the network time from user\'s location to your server.'), + 'calculation' => '(ga:serverResponseTime / ga:speedMetricsSample / 1000)', + ), + 'avgDomInteractiveTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed calculated metrics'), + 'name' => t('Avg. Document Interactive Time (sec)'), + 'description' => t('The average time (in seconds) it takes the browser to parse the document and execute deferred and parser-inserted scripts including the network time from the user\'s location to your server.'), + 'calculation' => '(ga:domInteractiveTime / ga:domLatencyMetricsSample / 1000)', + ), + 'avgDomContentLoadedTime' => + array( + 'type' => 'metric', + 'group' => t('Site speed calculated metrics'), + 'name' => t('Avg. Document Content Loaded Time (sec)'), + 'description' => t('The average time (in seconds) it takes the browser to parse the document.'), + 'calculation' => '(ga:domContentLoadedTime / ga:domLatencyMetricsSample / 1000)', + ), + // Event tracking dimensions. + 'eventCategory' => + array( + 'type' => 'dimension', + 'group' => t('Event tracking dimensions'), + 'name' => t('Event Category'), + 'description' => t('The category of the event.'), + ), + 'eventAction' => + array( + 'type' => 'dimension', + 'group' => t('Event tracking dimensions'), + 'name' => t('Event Action'), + 'description' => t('The action of the event.'), + ), + 'eventLabel' => + array( + 'type' => 'dimension', + 'group' => t('Event tracking dimensions'), + 'name' => t('Event Label'), + 'description' => t('The label of the event.'), + ), + // Event tracking metrics. + 'totalEvents' => + array( + 'type' => 'metric', + 'group' => t('Event tracking metrics'), + 'name' => t('Total Events'), + 'description' => t('The total number of events for the profile, across all categories.'), + ), + 'uniqueEvents' => + array( + 'type' => 'metric', + 'group' => t('Event tracking metrics'), + 'name' => t('Unique Events'), + 'description' => t('The total number of unique events for the profile, across all categories.'), + ), + 'eventValue' => + array( + 'type' => 'metric', + 'group' => t('Event tracking metrics'), + 'name' => t('Event Value'), + 'description' => t('The total value of events for the profile.'), + ), + 'sessionsWithEvent' => + array( + 'type' => 'metric', + 'group' => t('Event tracking metrics'), + 'name' => t('Sessions with Event'), + 'description' => t('The total number of sessions with events.'), + ), + 'visitsWithEvent' => + array( + 'type' => 'metric', + 'group' => t('Event tracking metrics'), + 'name' => t('Visits with Event'), + 'description' => t('Status: Deprecated. Use ga:sessionsWithEvent instead.'), + ), + // Event tracking calculated metrics. + 'avgEventValue' => + array( + 'type' => 'metric', + 'group' => t('Event tracking calculated metrics'), + 'name' => t('Avg. Value'), + 'description' => t('The average value of an event.'), + 'calculation' => 'ga:eventValue / ga:totalEvents', + ), + 'eventsPerSessionWithEvent' => + array( + 'type' => 'metric', + 'group' => t('Event tracking calculated metrics'), + 'name' => t('Events / Session with Event'), + 'description' => t('The average number of events per session with event.'), + 'calculation' => 'ga:totalEvents / ga:sessionsWithEvent', + ), + 'eventsPerVisitWithEvent' => + array( + 'type' => 'metric', + 'group' => t('Event tracking calculated metrics'), + 'name' => t('Events / Visit with Event'), + 'description' => t('Status: Deprecated. Use ga:eventsPerSessionWithEvent instead.'), + ), + // Ecommerce dimensions. + 'transactionId' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Transaction ID'), + 'description' => t('The transaction ID for the shopping cart purchase as supplied by your ecommerce tracking method.'), + ), + 'affiliation' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Affiliation'), + 'description' => t('Typically used to designate a supplying company or brick and mortar location; product affiliation.'), + ), + 'sessionsToTransaction' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Sessions to Transaction'), + 'description' => t('The number of sessions between users\' purchases and the related campaigns that lead to the purchases.'), + ), + 'visitsToTransaction' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Visits To Transaction'), + 'description' => t('Status: Deprecated. Use ga:sessionsToTransaction instead.'), + ), + 'daysToTransaction' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Days to Transaction'), + 'description' => t('The number of days between users\' purchases and the related campaigns that lead to the purchases.'), + ), + 'productSku' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Product SKU'), + 'description' => t('The product sku for purchased items as you have defined them in your ecommerce tracking application.'), + ), + 'productName' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Product'), + 'description' => t('The product name for purchased items as supplied by your ecommerce tracking application.'), + ), + 'productCategory' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Product Category'), + 'description' => t('Any product variations (size, color) for purchased items as supplied by your ecommerce application. Not compatible with Enhanced Ecommerce.'), + ), + 'currencyCode' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Currency Code'), + 'description' => t('The local currency code of the transaction based on ISO 4217 standard.'), + ), + 'checkoutOptions' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Checkout Options'), + 'description' => t('User options specified during the checkout process, e.g., FedEx, DHL, UPS for delivery options or Visa, MasterCard, AmEx for payment options. This dimension should be used along with ga:shoppingStage (Enhanced Ecommerce).'), + ), + 'internalPromotionCreative' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Internal Promotion Creative'), + 'description' => t('The creative content designed for a promotion (Enhanced Ecommerce).'), + ), + 'internalPromotionId' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Internal Promotion ID'), + 'description' => t('The ID of the promotion (Enhanced Ecommerce).'), + ), + 'internalPromotionName' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Internal Promotion Name'), + 'description' => t('The name of the promotion (Enhanced Ecommerce).'), + ), + 'internalPromotionPosition' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Internal Promotion Position'), + 'description' => t('The position of the promotion on the web page or application screen (Enhanced Ecommerce).'), + ), + 'orderCouponCode' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Order Coupon Code'), + 'description' => t('Code for the order-level coupon (Enhanced Ecommerce).'), + ), + 'productBrand' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Product Brand'), + 'description' => t('The brand name under which the product is sold (Enhanced Ecommerce).'), + ), + 'productCategoryHierarchy' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Product Category (Enhanced Ecommerce)'), + 'description' => t('The hierarchical category in which the product is classified (Enhanced Ecommerce).'), + ), + 'productCategoryLevelXX' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Product Category Level XX'), + 'description' => t('Level (1-5) in the product category hierarchy, starting from the top (Enhanced Ecommerce).'), + ), + 'productCouponCode' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Product Coupon Code'), + 'description' => t('Code for the product-level coupon (Enhanced Ecommerce).'), + ), + 'productListName' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Product List Name'), + 'description' => t('The name of the product list in which the product appears (Enhanced Ecommerce).'), + ), + 'productListPosition' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Product List Position'), + 'description' => t('The position of the product in the product list (Enhanced Ecommerce).'), + ), + 'productVariant' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Product Variant'), + 'description' => t('The specific variation of a product, e.g., XS, S, M, L for size or Red, Blue, Green, Black for color (Enhanced Ecommerce).'), + ), + 'shoppingStage' => + array( + 'type' => 'dimension', + 'group' => t('Ecommerce dimensions'), + 'name' => t('Shopping Stage'), + 'description' => t('Various stages of the shopping experience that users completed in a session, e.g., PRODUCT_VIEW, ADD_TO_CART, CHECKOUT, etc. (Enhanced Ecommerce).'), + ), + // Ecommerce metrics. + 'transactions' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Transactions'), + 'description' => t('The total number of transactions.'), + ), + 'transactionRevenue' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Revenue'), + 'description' => t('The total sale revenue provided in the transaction excluding shipping and tax.'), + ), + 'transactionShipping' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Shipping'), + 'description' => t('The total cost of shipping.'), + ), + 'transactionTax' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Tax'), + 'description' => t('The total amount of tax.'), + ), + 'itemQuantity' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Quantity'), + 'description' => t('The total number of items purchased. For example, if users purchase 2 frisbees and 5 tennis balls, 7 items have been purchased.'), + ), + 'uniquePurchases' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Unique Purchases'), + 'description' => t('The number of product sets purchased. For example, if users purchase 2 frisbees and 5 tennis balls from your site, 2 unique products have been purchased.'), + ), + 'itemRevenue' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Product Revenue'), + 'description' => t('The total revenue from purchased product items on your property.'), + ), + 'localTransactionRevenue' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Local Revenue'), + 'description' => t('Transaction revenue in local currency.'), + ), + 'localTransactionShipping' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Local Shipping'), + 'description' => t('Transaction shipping cost in local currency.'), + ), + 'localTransactionTax' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Local Tax'), + 'description' => t('Transaction tax in local currency.'), + ), + 'localItemRevenue' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Local Product Revenue'), + 'description' => t('Product revenue in local currency.'), + ), + 'buyToDetailRate' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Buy-to-Detail Rate'), + 'description' => t('Unique purchases divided by views of product detail pages (Enhanced Ecommerce).'), + ), + 'cartToDetailRate' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Cart-to-Detail Rate'), + 'description' => t('Product adds divided by views of product details (Enhanced Ecommerce).'), + ), + 'internalPromotionClicks' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Internal Promotion Clicks'), + 'description' => t('The number of clicks on an internal promotion (Enhanced Ecommerce).'), + ), + 'internalPromotionViews' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Internal Promotion Views'), + 'description' => t('The number of views of an internal promotion (Enhanced Ecommerce).'), + ), + 'localProductRefundAmount' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Local Product Refund Amount'), + 'description' => t('Refund amount for a given product in the local currency (Enhanced Ecommerce).'), + ), + 'localRefundAmount' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Local Refund Amount'), + 'description' => t('Total refund amount for the transaction in the local currency (Enhanced Ecommerce).'), + ), + 'productAddsToCart' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Product Adds To Cart'), + 'description' => t('Number of times the product was added to the shopping cart (Enhanced Ecommerce).'), + ), + 'productCheckouts' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Product Checkouts'), + 'description' => t('Number of times the product was included in the check-out process (Enhanced Ecommerce).'), + ), + 'productDetailViews' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Product Detail Views'), + 'description' => t('Number of times users viewed the product-detail page (Enhanced Ecommerce).'), + ), + 'productListClicks' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Product List Clicks'), + 'description' => t('Number of times users clicked the product when it appeared in the product list (Enhanced Ecommerce).'), + ), + 'productListViews' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Product List Views'), + 'description' => t('Number of times the product appeared in a product list (Enhanced Ecommerce).'), + ), + 'productRefundAmount' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Product Refund Amount'), + 'description' => t('Total refund amount associated with the product (Enhanced Ecommerce).'), + ), + 'productRefunds' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Product Refunds'), + 'description' => t('Number of times a refund was issued for the product (Enhanced Ecommerce).'), + ), + 'productRemovesFromCart' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Product Removes From Cart'), + 'description' => t('Number of times the product was removed from shopping cart (Enhanced Ecommerce).'), + ), + 'quantityAddedToCart' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Quantity Added To Cart'), + 'description' => t('Number of product units added to the shopping cart (Enhanced Ecommerce).'), + ), + 'quantityCheckedOut' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Quantity Checked Out'), + 'description' => t('Number of product units included in check out (Enhanced Ecommerce).'), + ), + 'quantityRefunded' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Quantity Refunded'), + 'description' => t('Number of product units refunded (Enhanced Ecommerce).'), + ), + 'quantityRemovedFromCart' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Quantity Removed From Cart'), + 'description' => t('Number of product units removed from cart (Enhanced Ecommerce).'), + ), + 'refundAmount' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Refund Amount'), + 'description' => t('Currency amount refunded for a transaction (Enhanced Ecommerce).'), + ), + 'totalRefunds' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce metrics'), + 'name' => t('Refunds'), + 'description' => t('Number of refunds that have been issued (Enhanced Ecommerce).'), + ), + // Ecommerce calculated metrics. + 'transactionsPerSession' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce calculated metrics'), + 'name' => t('Ecommerce Conversion Rate'), + 'description' => t('The average number of transactions for a session on your property.'), + 'calculation' => 'ga:transactions / ga:sessions', + ), + 'transactionsPerVisit' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce calculated metrics'), + 'name' => t('Transactions Per Visit'), + 'description' => t('Status: Deprecated. Use ga:transactionsPerSession instead.'), + ), + 'revenuePerTransaction' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce calculated metrics'), + 'name' => t('Average Order Value'), + 'description' => t('The average revenue for an e-commerce transaction.'), + 'calculation' => 'ga:transactionRevenue / ga:transactions', + ), + 'transactionRevenuePerSession' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce calculated metrics'), + 'name' => t('Per Session Value'), + 'description' => t('Average transaction revenue for a session on your property.'), + 'calculation' => 'ga:transactionRevenue / ga:session', + ), + 'transactionRevenuePerVisit' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce calculated metrics'), + 'name' => t('Transaction Revenue Per Visit'), + 'description' => t('Status: Deprecated. Use ga:transactionRevenuePerSession instead.'), + ), + 'totalValue' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce calculated metrics'), + 'name' => t('Total Value'), + 'description' => t('Total value for your property (including total revenue and total goal value).'), + 'calculation' => '(ga:transactionRevenue + ga:goalValueAll)', + ), + 'revenuePerItem' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce calculated metrics'), + 'name' => t('Average Price'), + 'description' => t('The average revenue per item.'), + 'calculation' => 'ga:itemRevenue / ga:itemQuantity', + ), + 'itemsPerPurchase' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce calculated metrics'), + 'name' => t('Average QTY'), + 'description' => t('The average quantity of this item (or group of items) sold per purchase.'), + 'calculation' => 'ga:itemQuantity / ga:uniquePurchases', + ), + 'internalPromotionCTR' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce calculated metrics'), + 'name' => t('Internal Promotion CTR'), + 'description' => t('The rate at which users clicked through to view the internal promotion (Enhanced Ecommerce).'), + 'calculation' => 'ga:internalPromotionClicks / ga:internalPromotionViews', + ), + 'productListCTR' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce calculated metrics'), + 'name' => t('Product List CTR'), + 'description' => t('The rate at which users clicked through on the product in a product list (Enhanced Ecommerce).'), + 'calculation' => 'ga:productListClicks / ga:productListViews', + ), + 'productRevenuePerPurchase' => + array( + 'type' => 'metric', + 'group' => t('Ecommerce calculated metrics'), + 'name' => t('Product Revenue per Purchase'), + 'description' => t('Average product revenue per purchase (commonly used with Product Coupon Code) (Enhanced Ecommerce).'), + 'calculation' => 'ga:itemRevenue / ga:uniquePurchases', + ), + // Social interactions dimensions. + 'socialInteractionNetwork' => + array( + 'type' => 'dimension', + 'group' => t('Social interactions dimensions'), + 'name' => t('Social Source'), + 'description' => t('For social interactions, a value representing the social network being tracked.'), + ), + 'socialInteractionAction' => + array( + 'type' => 'dimension', + 'group' => t('Social interactions dimensions'), + 'name' => t('Social Action'), + 'description' => t('For social interactions, a value representing the social action being tracked (e.g. +1, bookmark).'), + ), + 'socialInteractionNetworkAction' => + array( + 'type' => 'dimension', + 'group' => t('Social interactions dimensions'), + 'name' => t('Social Source and Action'), + 'description' => t('For social interactions, a value representing the concatenation of the socialInteractionNetwork and socialInteractionAction action being tracked at this hit level (e.g. Google: +1).'), + ), + 'socialInteractionTarget' => + array( + 'type' => 'dimension', + 'group' => t('Social interactions dimensions'), + 'name' => t('Social Entity'), + 'description' => t('For social interactions, a value representing the URL (or resource) which receives the social network action.'), + ), + 'socialEngagementType' => + array( + 'type' => 'dimension', + 'group' => t('Social interactions dimensions'), + 'name' => t('Social Type'), + 'description' => t('Engagement type. Possible values are Socially Engaged or Not Socially Engaged.'), + ), + // Social interactions metrics. + 'socialInteractions' => + array( + 'type' => 'metric', + 'group' => t('Social interactions metrics'), + 'name' => t('Social Actions'), + 'description' => t('The total number of social interactions on your property.'), + ), + 'uniqueSocialInteractions' => + array( + 'type' => 'metric', + 'group' => t('Social interactions metrics'), + 'name' => t('Unique Social Actions'), + 'description' => t('The number of sessions during which the specified social action(s) occurred at least once. This is based on the the unique combination of socialInteractionNetwork, socialInteractionAction, and socialInteractionTarget.'), + ), + // Social interactions calculated metrics. + 'socialInteractionsPerSession' => + array( + 'type' => 'metric', + 'group' => t('Social interactions calculated metrics'), + 'name' => t('Actions Per Social Session'), + 'description' => t('The number of social interactions per session on your property.'), + 'calculation' => 'ga:socialInteractions / ga:uniqueSocialInteractions', + ), + 'socialInteractionsPerVisit' => + array( + 'type' => 'metric', + 'group' => t('Social interactions calculated metrics'), + 'name' => t('Interactions Per Social Session'), + 'description' => t('Status: Deprecated. Use ga:socialInteractionsPerSession instead.'), + ), + // User timings dimensions. + 'userTimingCategory' => + array( + 'type' => 'dimension', + 'group' => t('User timings dimensions'), + 'name' => t('Timing Category'), + 'description' => t('A string for categorizing all user timing variables into logical groups for easier reporting purposes.'), + ), + 'userTimingLabel' => + array( + 'type' => 'dimension', + 'group' => t('User timings dimensions'), + 'name' => t('Timing Label'), + 'description' => t('The name of the resource\'s action being tracked.'), + ), + 'userTimingVariable' => + array( + 'type' => 'dimension', + 'group' => t('User timings dimensions'), + 'name' => t('Timing Variable'), + 'description' => t('A value that can be used to add flexibility in visualizing user timings in the reports.'), + ), + // User timings metrics. + 'userTimingValue' => + array( + 'type' => 'metric', + 'group' => t('User timings metrics'), + 'name' => t('User Timing (ms)'), + 'description' => t('.The total number of milliseconds for a user timing.'), + ), + 'userTimingSample' => + array( + 'type' => 'metric', + 'group' => t('User timings metrics'), + 'name' => t('User Timing Sample'), + 'description' => t('The number of hits that were sent for a particular userTimingCategory, userTimingLabel, and userTimingVariable.'), + ), + // User timings calculated metrics. + 'avgUserTimingValue' => + array( + 'type' => 'metric', + 'group' => t('User timings calculated metrics'), + 'name' => t('Avg. User Timing (sec)'), + 'description' => t('The average amount of elapsed time.'), + 'calculation' => '(ga:userTimingValue / ga:userTimingSample / 1000)', + ), + // Exceptions dimensions. + 'exceptionDescription' => + array( + 'type' => 'dimension', + 'group' => t('Exceptions dimensions'), + 'name' => t('Exception Description'), + 'description' => t('The description for the exception.'), + ), + // Exceptions metrics. + 'exceptions' => + array( + 'type' => 'metric', + 'group' => t('Exceptions metrics'), + 'name' => t('Exceptions'), + 'description' => t('The number of exceptions that were sent to Google Analytics.'), + ), + 'fatalExceptions' => + array( + 'type' => 'metric', + 'group' => t('Exceptions metrics'), + 'name' => t('Crashes'), + 'description' => t('The number of exceptions where isFatal is set to true.'), + ), + // Exceptions calculated metrics. + 'exceptionsPerScreenview' => + array( + 'type' => 'metric', + 'group' => t('Exceptions calculated metrics'), + 'name' => t('Exceptions / Screen'), + 'description' => t('The number of exceptions thrown divided by the number of screenviews.'), + 'calculation' => 'ga:exceptions / ga:screenviews', + ), + 'fatalExceptionsPerScreenview' => + array( + 'type' => 'metric', + 'group' => t('Exceptions calculated metrics'), + 'name' => t('Crashe / Screen'), + 'description' => t('The number of fatal exceptions thrown divided by the number of screenviews.'), + 'calculation' => 'ga:fatalExceptions / ga:screenviews', + ), + // Content experiments dimensions. + 'experimentId' => + array( + 'type' => 'dimension', + 'group' => t('Content experiments dimensions'), + 'name' => t('Experiment ID'), + 'description' => t('The user-scoped id of the content experiment that the user was exposed to when the metrics were reported.'), + ), + 'experimentVariant' => + array( + 'type' => 'dimension', + 'group' => t('Content experiments dimensions'), + 'name' => t('Variation'), + 'description' => t('The user-scoped id of the particular variation that the user was exposed to during a content experiment.'), + ), + // Custom variables or columns dimensions. + 'dimensionXX' => + array( + 'type' => 'dimension', + 'group' => t('Custom variables or columns dimensions'), + 'name' => t('Custom Dimension XX.'), + 'description' => t('The name of the requested custom dimension, where XX refers the number/index of the custom dimension.'), + ), + 'customVarNameXX' => + array( + 'type' => 'dimension', + 'group' => t('Custom variables or columns dimensions'), + 'name' => t('Custom Variable (Key XX)'), + 'description' => t('The name for the requested custom variable.'), + ), + 'customVarValueXX' => + array( + 'type' => 'dimension', + 'group' => t('Custom variables or columns dimensions'), + 'name' => t('Custom Variable (Value XX)'), + 'description' => t('The value for the requested custom variable.'), + ), + // Custom variables or columns metrics. + 'metricXX' => + array( + 'type' => 'metric', + 'group' => t('Custom variables or columns metrics'), + 'name' => t('Custom Metric XX Value'), + 'description' => t('The name of the requested custom metric, where XX refers the number/index of the custom metric.'), + ), + // Time dimensions. + 'date' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Date'), + 'description' => t('The date of the session formatted as YYYYMMDD.'), + ), + 'year' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Year'), + 'description' => t('The year of the session. A four-digit year from 2005 to the current year.'), + ), + 'month' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Month of the year'), + 'description' => t('The month of the session. A two digit integer from 01 to 12.'), + ), + 'week' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Week of the Year'), + 'description' => t('The week of the session. A two-digit number from 01 to 53. Each week starts on Sunday.'), + ), + 'day' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Day of the month'), + 'description' => t('The day of the month. A two-digit number from 01 to 31.'), + ), + 'hour' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Hour'), + 'description' => t('A two-digit hour of the day ranging from 00-23 in the timezone configured for the account. This value is also corrected for daylight savings time, adhering to all local rules for daylight savings time. If your timezone follows daylight savings time, there will be an apparent bump in the number of sessions during the change-over hour (e.g. between 1:00 and 2:00) for the day per year when that hour repeats. A corresponding hour with zero sessions will occur at the opposite changeover. (Google Analytics does not track user time more precisely than hours.)'), + ), + 'minute' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Minute'), + 'description' => t('Returns the minute in the hour. The possible values are between 00 and 59.'), + ), + 'nthMonth' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Month Index'), + 'description' => t('Index for each month in the specified date range. Index for the first month in the date range is 0, 1 for the second month, and so on. The index corresponds to month entries.'), + ), + 'nthWeek' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Week Index'), + 'description' => t('Index for each week in the specified date range. Index for the first week in the date range is 0, 1 for the second week, and so on. The index corresponds to week entries.'), + ), + 'nthDay' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Day Index'), + 'description' => t('Index for each day in the specified date range. Index for the first day (i.e., start-date) in the date range is 0, 1 for the second day, and so on.'), + ), + 'nthMinute' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Minute Index'), + 'description' => t('Index for each minute in the specified date range. Index for the first minute of first day (i.e., start-date) in the date range is 0, 1 for the next minute, and so on.'), + ), + 'dayOfWeek' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Day of Week'), + 'description' => t('The day of the week. A one-digit number from 0 (Sunday) to 6 (Saturday).'), + ), + 'dayOfWeekName' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Day of Week Name'), + 'description' => t('The name of the day of the week (in English).'), + ), + 'dateHour' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Hour of Day'), + 'description' => t('Combined values of ga:date and ga:hour.'), + ), + 'yearMonth' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Month of Year'), + 'description' => t('Combined values of ga:year and ga:month.'), + ), + 'yearWeek' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Week of Year'), + 'description' => t('Combined values of ga:year and ga:week.'), + ), + 'isoWeek' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('ISO Week of the Year'), + 'description' => t('The ISO week number, where each week starts with a Monday. Details: @url. ga:isoWeek should only be used with ga:isoYear since ga:year represents gregorian calendar.', array('@url' => 'http://en.wikipedia.org/wiki/ISO_week_date')), + ), + 'isoYear' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('ISO Year'), + 'description' => t('Year. The ISO year of the session. Details: @url. ga:isoYear should only be used with ga:isoWeek since ga:week represents gregorian calendar.', array('@url' => 'http://en.wikipedia.org/wiki/ISO_week_date')), + ), + 'isoYearIsoWeek' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('ISO Week of ISO Year'), + 'description' => t('Combined values of ga:isoYear and ga:isoWeek.'), + ), + 'nthHour' => + array( + 'type' => 'dimension', + 'group' => t('Time dimensions'), + 'name' => t('Hour Index'), + 'description' => t('Index for each hour in the specified date range. Index for the first hour of first day (i.e., start-date) in the date range is 0, 1 for the next hour, and so on.'), + ), + // DoubleClick Campaign Manager dimensions. + 'dcmClickAd' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Ad (GA Model)'), + 'description' => t('DCM ad name of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickAdId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Ad ID (GA Model)'), + 'description' => t('DCM ad ID of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickAdType' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Ad Type (GA Model)'), + 'description' => t('DCM ad type name of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickAdTypeId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Ad Type ID'), + 'description' => t('DCM ad type ID of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickAdvertiser' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Advertiser (GA Model)'), + 'description' => t('DCM advertiser name of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickAdvertiserId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Advertiser ID (GA Model)'), + 'description' => t('DCM advertiser ID of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickCampaign' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Campaign (GA Model)'), + 'description' => t('DCM campaign name of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickCampaignId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Campaign ID (GA Model)'), + 'description' => t('DCM campaign ID of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickCreativeId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Creative ID (GA Model)'), + 'description' => t('DCM creative ID of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickCreative' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Creative (GA Model)'), + 'description' => t('DCM creative name of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickRenderingId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Rendering ID (GA Model)'), + 'description' => t('DCM rendering ID of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickCreativeType' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Creative Type (GA Model)'), + 'description' => t('DCM creative type name of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickCreativeTypeId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Creative Type ID (GA Model)'), + 'description' => t('DCM creative type ID of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickCreativeVersion' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Creative Version (GA Model)'), + 'description' => t('DCM creative version of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickSite' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Site (GA Model)'), + 'description' => t('Site name where the DCM creative was shown and clicked on for the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickSiteId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Site ID (GA Model)'), + 'description' => t('DCM site ID where the DCM creative was shown and clicked on for the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickSitePlacement' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Placement (GA Model)'), + 'description' => t('DCM site placement name of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickSitePlacementId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Placement ID (GA Model)'), + 'description' => t('DCM site placement ID of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmClickSpotId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Floodlight Configuration ID (GA Model)'), + 'description' => t('DCM Floodlight configuration ID of the DCM click matching the Google Analytics session (premium only).'), + ), + 'dcmFloodlightActivity' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Activity'), + 'description' => t('DCM Floodlight activity name associated with the floodlight conversion (premium only).'), + ), + 'dcmFloodlightActivityAndGroup' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Activity and Group'), + 'description' => t('DCM Floodlight activity name and group name associated with the floodlight conversion (premium only).'), + ), + 'dcmFloodlightActivityGroup' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Activity Group'), + 'description' => t('DCM Floodlight activity group name associated with the floodlight conversion (premium only).'), + ), + 'dcmFloodlightActivityGroupId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Activity Group ID'), + 'description' => t('DCM Floodlight activity group ID associated with the floodlight conversion (premium only).'), + ), + 'dcmFloodlightActivityId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Activity ID'), + 'description' => t('DCM Floodlight activity ID associated with the floodlight conversion (premium only).'), + ), + 'dcmFloodlightAdvertiserId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Advertiser ID'), + 'description' => t('DCM Floodlight advertiser ID associated with the floodlight conversion (premium only).'), + ), + 'dcmFloodlightSpotId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Floodlight Configuration ID'), + 'description' => t('DCM Floodlight configuration ID associated with the floodlight conversion (premium only).'), + ), + 'dcmLastEventAd' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Ad'), + 'description' => t('DCM ad name of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventAdId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Ad ID (DFA Model)'), + 'description' => t('DCM ad ID of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventAdType' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Ad Type (DFA Model)'), + 'description' => t('DCM ad type name of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventAdTypeId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Ad Type ID (DFA Model)'), + 'description' => t('DCM ad type ID of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventAdvertiser' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Advertiser (DFA Model)'), + 'description' => t('DCM advertiser name of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventAdvertiserId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Advertiser ID (DFA Model)'), + 'description' => t('DCM advertiser ID of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventAttributionType' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Attribution Type (DFA Model)'), + 'description' => t('There are two possible values: ClickThrough and ViewThrough. If the last DCM event associated with the Google Analytics session was a click, then the value will be ClickThrough. If the last DCM event associated with the Google Analytics session was an ad impression, then the value will be ViewThrough (premium only).'), + ), + 'dcmLastEventCampaign' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Campaign (DFA Model)'), + 'description' => t('DCM campaign name of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventCampaignId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Campaign ID (DFA Model)'), + 'description' => t('DCM campaign ID of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventCreativeId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Creative ID (DFA Model)'), + 'description' => t('DCM creative ID of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventCreative' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Creative (DFA Model)'), + 'description' => t('DCM creative name of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventRenderingId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Rendering ID (DFA Model)'), + 'description' => t('DCM rendering ID of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventCreativeType' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Creative Type (DFA Model)'), + 'description' => t('DCM creative type name of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventCreativeTypeId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Creative Type ID (DFA Model)'), + 'description' => t('DCM creative type ID of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventCreativeVersion' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Creative Version (DFA Model)'), + 'description' => t('DCM creative version of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventSite' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Site (DFA Model)'), + 'description' => t('Site name where the DCM creative was shown and clicked on for the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventSiteId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Site ID (DFA Model)'), + 'description' => t('DCM site ID where the DCM creative was shown and clicked on for the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventSitePlacement' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Placement (DFA Model)'), + 'description' => t('DCM site placement name of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventSitePlacementId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Placement ID (DFA Model)'), + 'description' => t('DCM site placement ID of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + 'dcmLastEventSpotId' => + array( + 'type' => 'dimension', + 'group' => t('DoubleClick campaign manager dimensions'), + 'name' => t('DFA Floodlight Configuration ID (DFA Model)'), + 'description' => t('DCM Floodlight configuration ID of the last DCM event (impression or click within the DCM lookback window) associated with the Google Analytics session (premium only).'), + ), + // DoubleClick Campaign Manager metrics. + 'dcmFloodlightQuantity' => + array( + 'type' => 'metric', + 'group' => t('DoubleClick campaign manager metrics'), + 'name' => t('DFA Conversions'), + 'description' => t('The number of DCM Floodlight conversions (premium only).'), + ), + 'dcmFloodlightRevenue' => + array( + 'type' => 'metric', + 'group' => t('DoubleClick campaign manager metrics'), + 'name' => t('DFA Revenue'), + 'description' => t('DCM Floodlight revenue (premium only).'), + ), + 'dcmCPC' => + array( + 'type' => 'metric', + 'group' => t('DoubleClick campaign manager metrics'), + 'name' => t('DFA CPC'), + 'description' => t('DCM Cost Per Click (premium only).'), + ), + 'dcmCTR' => + array( + 'type' => 'metric', + 'group' => t('DoubleClick campaign manager metrics'), + 'name' => t('DFA CTR'), + 'description' => t('DCM Click Through Rate (premium only).'), + ), + 'dcmClicks' => + array( + 'type' => 'metric', + 'group' => t('DoubleClick campaign manager metrics'), + 'name' => t('DFA Clicks'), + 'description' => t('DCM Total Clicks (premium only).'), + ), + 'dcmCost' => + array( + 'type' => 'metric', + 'group' => t('DoubleClick campaign manager metrics'), + 'name' => t('DFA Cost'), + 'description' => t('DCM Total Cost (premium only).'), + ), + 'dcmImpressions' => + array( + 'type' => 'metric', + 'group' => t('DoubleClick campaign manager metrics'), + 'name' => t('DFA Impressions'), + 'description' => t('DCM Total Impressions (premium only).'), + ), + 'dcmMargin' => + array( + 'type' => 'metric', + 'group' => t('DoubleClick campaign manager metrics'), + 'name' => t('DFA Impressions'), + 'description' => t('DCM Total Impressions (premium only).'), + ), + 'dcmROI' => + array( + 'type' => 'metric', + 'group' => t('DoubleClick campaign manager metrics'), + 'name' => t('DFA ROI'), + 'description' => t('DCM Return On Investment (premium only).'), + ), + 'dcmRPC' => + array( + 'type' => 'metric', + 'group' => t('DoubleClick campaign manager metrics'), + 'name' => t('DFA RPC'), + 'description' => t('DCM Revenue Per Click (premium only).'), + ), + // Audience dimensions. + 'userAgeBracket' => + array( + 'type' => 'dimension', + 'group' => t('Audience dimensions'), + 'name' => t('Age'), + 'description' => t('Age bracket of user.'), + ), + 'visitorAgeBracket' => + array( + 'type' => 'dimension', + 'group' => t('Audience dimensions'), + 'name' => t('Visitor Age Bracket'), + 'description' => t('Status: Deprecated. Use ga:userAgeBracket instead.'), + ), + 'userGender' => + array( + 'type' => 'dimension', + 'group' => t('Audience dimensions'), + 'name' => t('Gender'), + 'description' => t('Gender of user.'), + ), + 'visitorGender' => + array( + 'type' => 'dimension', + 'group' => t('Audience dimensions'), + 'name' => t('Visitor Gender'), + 'description' => t('Status: Deprecated. Use ga:userGender instead.'), + ), + 'interestOtherCategory' => + array( + 'type' => 'dimension', + 'group' => t('Audience dimensions'), + 'name' => t('Other Category'), + 'description' => t('Indicates that users are more likely to be interested in learning about the specified category, and more likely to be ready to purchase.'), + ), + 'interestAffinityCategory' => + array( + 'type' => 'dimension', + 'group' => t('Audience dimensions'), + 'name' => t('Affinity Category (reach)'), + 'description' => t('Indicates that users are more likely to be interested in learning about the specified category.'), + ), + 'interestInMarketCategory' => + array( + 'type' => 'dimension', + 'group' => t('Audience dimensions'), + 'name' => t('In-Market Segment'), + 'description' => t('Indicates that users are more likely to be ready to purchase products or services in the specified category.'), + ), + // Adsense metrics. + 'adsenseRevenue' => + array( + 'type' => 'metric', + 'group' => t('Adsense metrics'), + 'name' => t('AdSense Revenue'), + 'description' => t('The total revenue from AdSense ads.'), + ), + 'adsenseAdUnitsViewed' => + array( + 'type' => 'metric', + 'group' => t('Adsense metrics'), + 'name' => t('AdSense Ad Units Viewed'), + 'description' => t('The number of AdSense ad units viewed. An Ad unit is a set of ads displayed as a result of one piece of the AdSense ad code. Details: @url.', array('@url' => 'https://support.google.com/adsense/answer/32715')), + ), + 'adsenseAdsViewed' => + array( + 'type' => 'metric', + 'group' => t('Adsense metrics'), + 'name' => t('AdSense Impressions'), + 'description' => t('The number of AdSense ads viewed. Multiple ads can be displayed within an Ad Unit.'), + ), + 'adsenseAdsClicks' => + array( + 'type' => 'metric', + 'group' => t('Adsense metrics'), + 'name' => t('AdSense Ads Clicked'), + 'description' => t('The number of times AdSense ads on your site were clicked.'), + ), + 'adsensePageImpressions' => + array( + 'type' => 'metric', + 'group' => t('Adsense metrics'), + 'name' => t('AdSense Page Impressions'), + 'description' => t('The number of pageviews during which an AdSense ad was displayed. A page impression can have multiple Ad Units.'), + ), + 'adsenseExits' => + array( + 'type' => 'metric', + 'group' => t('Adsense metrics'), + 'name' => t('AdSense Exits'), + 'description' => t('The number of sessions that ended due to a user clicking on an AdSense ad.'), + ), + 'adsenseViewableImpressionPercent' => + array( + 'type' => 'metric', + 'group' => t('Adsense metrics'), + 'name' => t('AdSense Viewable Impression %'), + 'description' => t('The percentage of impressions that were viewable.'), + ), + 'adsenseCoverage' => + array( + 'type' => 'metric', + 'group' => t('Adsense metrics'), + 'name' => t('AdSense Coverage'), + 'description' => t('The percentage of ad requests that returned at least one ad.'), + ), + // Adsense calculated metrics. + 'adsenseCTR' => + array( + 'type' => 'metric', + 'group' => t('Adsense calculated metrics'), + 'name' => t('AdSense CTR'), + 'description' => t('The percentage of page impressions that resulted in a click on an AdSense ad.'), + 'calculation' => 'ga:adsenseAdsClicks/ga:adsensePageImpressions', + ), + 'adsenseECPM' => + array( + 'type' => 'metric', + 'group' => t('Adsense calculated metrics'), + 'name' => t('AdSense eCPM'), + 'description' => t('The estimated cost per thousand page impressions. It is your AdSense Revenue per 1000 page impressions.'), + 'calculation' => 'ga:adsenseRevenue/(ga:adsensePageImpressions/1000)', + ), + // Channel grouping dimensions. + 'channelGrouping' => + array( + 'type' => 'dimension', + 'group' => t('Channel grouping dimensions'), + 'name' => t('Default Channel Grouping'), + 'description' => t('The default channel grouping that is shared within the View (Profile).'), + ), + // Related products dimensions. + 'correlationModelId' => + array( + 'type' => 'dimension', + 'group' => t('Related products dimensions'), + 'name' => t('Correlation Model ID'), + 'description' => t('Correlation Model ID for related products.'), + ), + 'queryProductId' => + array( + 'type' => 'dimension', + 'group' => t('Related products dimensions'), + 'name' => t('Queried Product ID'), + 'description' => t('ID of the product being queried.'), + ), + 'queryProductName' => + array( + 'type' => 'dimension', + 'group' => t('Related products dimensions'), + 'name' => t('Queried Product Name'), + 'description' => t('Name of the product being queried.'), + ), + 'queryProductVariation' => + array( + 'type' => 'dimension', + 'group' => t('Related products dimensions'), + 'name' => t('Queried Product Variation'), + 'description' => t('Variation of the product being queried.'), + ), + 'relatedProductId' => + array( + 'type' => 'dimension', + 'group' => t('Related products dimensions'), + 'name' => t('Related Product ID'), + 'description' => t('ID of the related product.'), + ), + 'relatedProductName' => + array( + 'type' => 'dimension', + 'group' => t('Related products dimensions'), + 'name' => t('Related Product Name'), + 'description' => t('Name of the related product.'), + ), + 'relatedProductVariation' => + array( + 'type' => 'dimension', + 'group' => t('Related products dimensions'), + 'name' => t('Related Product Variation'), + 'description' => t('Variation of the related product.'), + ), + // Related products metrics. + 'correlationScore' => + array( + 'type' => 'metric', + 'group' => t('Related products metrics'), + 'name' => t('Correlation Score'), + 'description' => t('Correlation Score for related products.'), + ), + 'queryProductQuantity' => + array( + 'type' => 'metric', + 'group' => t('Related products metrics'), + 'name' => t('Queried Product Quantity'), + 'description' => t('Quantity of the product being queried.'), + ), + 'relatedProductQuantity' => + array( + 'type' => 'metric', + 'group' => t('Related products metrics'), + 'name' => t('Related Product Quantity'), + 'description' => t('Quantity of the related product.'), + ), + + ); } diff --git a/google_analytics_views/google_analytics_views.views.inc b/google_analytics_views/google_analytics_views.views.inc index 44ad0d4..51f314b 100644 --- a/google_analytics_views/google_analytics_views.views.inc +++ b/google_analytics_views/google_analytics_views.views.inc @@ -36,12 +36,15 @@ function google_analytics_views_views_data() { ); $fields = google_analytics_views_get_fields(); - - foreach($fields as $field_name => $field) { + + foreach ($fields as $field_name => $field) { + if (isset($field['calculation'])) { + $field['description'] = $field['description'] . '
' . t('Calculation') . ': ' . $field['calculation'] . ''; + } $data['google_analytics'][$field_name] = array( - 'title' => $field['name'], + 'title' => $field['name'] . ' (ga:' . $field_name . ')', 'help' => $field['description'], - 'group' => sprintf('%s %ss', $field['group'], ucfirst($field['type'])), + 'group' => $field['group'], 'field' => array( 'handler' => 'google_analytics_handler_field', 'click sortable' => TRUE,