Extension:Google Analytics Integration

MediaWiki extensions manual
Google Analytics Integration
Release status: stable
Implementation User activity , Hook
Description Automatically inserts Google Universal Analytics (and/or other web analytics) tracking code at the bottom of MediaWiki pages
Author(s) Tim Laqua, Dāvis Mošenkovs
Latest version 3.0.1 (2017-10-29)
MediaWiki 1.23+
PHP 5.4+
Database changes No
License GNU General Public License 2.0 or later
Download
Example Projects by Davis Mosenkovs (view page source at the bottom)

  • $wgGoogleAnalyticsAccount
  • $wgGoogleAnalyticsOtherCode
  • $wgGoogleAnalyticsAnonymizeIP
  • $wgGoogleAnalyticsIgnoreNsIDs
  • $wgGoogleAnalyticsIgnorePages
  • $wgGoogleAnalyticsIgnoreSpecials
  • noanalytics
Public wikis using 1,302 (Ranked 194th)
Translate the Google Analytics Integration extension

The Google Analytics Integration extension inserts Google Universal Analytics (and/or other web analytics) tracking code in every page viewed. Exclusion of specific pages, namespaces, special pages and all pages for specific groups of users is configurable.

This extension may be outdated for your needs. If you are using the new Global Site Tag for Google Analytics, try using Extension:HeadScript instead.

Alternatively you can put Google Analytics tag directly into MediaWiki:Common.js of your wiki.

Installation

  • Download and move the extracted googleAnalytics folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/googleAnalytics
  • Add the following code at the bottom of your LocalSettings.php file:
    require_once "$IP/extensions/googleAnalytics/googleAnalytics.php";
    // Replace xxxxxxx-x with YOUR GoogleAnalytics UA number
    $wgGoogleAnalyticsAccount = 'UA-xxxxxxx-x'; 
    
    // Optional configuration (for defaults see googleAnalytics.php)
    
    // Add HTML code for any additional web analytics (can be used alone or with $wgGoogleAnalyticsAccount)
    $wgGoogleAnalyticsOtherCode = '<script type="text/javascript" src="https://analytics.example.com/tracking.js"></script>';
    
    // Store full IP address in Google Universal Analytics (see https://support.google.com/analytics/answer/2763052?hl=en for details)
    $wgGoogleAnalyticsAnonymizeIP = true; 
    
    // Array with NUMERIC namespace IDs where web analytics code should NOT be included.
    $wgGoogleAnalyticsIgnoreNsIDs = [
        500
        ];
    
    // Array with page names (see magic word {{FULLPAGENAME}}) where web analytics code should NOT be included.
    $wgGoogleAnalyticsIgnorePages = [
        'PageName',
        'NamespaceName:PageName'
        ];
        
    // Array with special pages where web analytics code should NOT be included.
    $wgGoogleAnalyticsIgnoreSpecials = [
        'Userlogin',
        'Userlogout',
        'Preferences',
        'ChangePassword',
        'OATH'
        ];
        
    // Use 'noanalytics' permission to exclude specific user groups from web analytics, e.g.
    $wgGroupPermissions['sysop']['noanalytics'] = true;
    $wgGroupPermissions['bot']['noanalytics'] = true;
    
    // To exclude all logged in users, give 'noanalytics' permission to the 'user' group, i.e.
    $wgGroupPermissions['user']['noanalytics'] = true;
    
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
The following options were removed in version 3.0.0:
  • $wgGoogleAnalyticsAddASAC
  • $wgGoogleAnalyticsIgnoreSysops
  • $wgGoogleAnalyticsIgnoreBots

Usage

  1. Create a Google Analytics account.
  2. Locate your UA number.
    • For the legacy code block, it can be found on the following line:
      _uacct="UA-xxxxxxx-x";
      
    • For the new ga.js code block, it can be found on the following line:
      var pageTracker = _gat._getTracker("UA-xxxxxxx-x");
      
  3. Follow installation instructions.
  4. Google Analytics stats should start populating within 24-48 hours.

See also