Ready to get started?Download WordPress

Plugin Directory

Google Analytics by Yoast

Track your WordPress site easily and with lots of metadata: views per author & category, automatic tracking of outbound clicks and pageviews.


  • Enhancement:
    • Update banners in admin.


  • Bugfix:

    • Fixed error in a database query as reported by mikeotgaar and applied some best practices for the database queries - props Jrf.
    • Fixed error in a database query.
    • Made check for customcode option more robust - props Rarst.
  • i18n

    • Updated gawp.pot file
    • Added de_DE, el_GR, es_ES, fi, fr_FR, hu_HU & nl_NL


  • Fix a possible fatal error in tracking.


  • Bugfix: Google Analytics crappy API output is different when you have a single GA account versus multiple. Annoying, but fixed now.


  • Removes a left over JS alert.


  • Major refactor of plugin code, to only load necessary code on front and backend.
  • Made entire plugin i18n ready.
  • Fixed Google Authentication process (thanks to Jan Willem Eshuis).


  • Fix a small bug in tracking that could potentially slow down admin.


  • Fix to prevent far too agressive oAuth implementation from breaking other plugins.


  • Fix to prevent far too agressive oAuth implementation from breaking other plugins.


  • Fixed a couple notices.
  • Added tracking to better understand configurations to test the plugin with.


  • Fixed bug introduced with 4.2.3 that wouldn't allow saving settings.
  • Now only flushing enabled W3TC caches.


  • Removed Dashboard widget.
  • Improvements to comment form tracking.


  • Fix for OAuth issues, caused by other plugins that don't check for the existence of a class. Namespaced the whole thing to prevent it.


  • Minor bugfix.


  • Google Authentication now happens using OAuth. The requests have become signed as an extra security measure and tokens have become more stable, as opposed to the prior tokens used with AuthSub.
  • Added support for cross-domain tracking.
  • Fixed various small bugs.


  • Security fix: badly crafted comments could lead to insertion of "weird" links into comments. They'd have to pass your moderation, but still... Immediate update advised. Props to David Whitehouse and James Slater for finding it.


  • Fixed bug with custom SE tracking introduced in 4.1.1.


  • Made plugin admin work with jQuery 1.6 and jQuery 1.4.
  • Added contextual help.
  • Improved cache flushing when using W3TC.
  • Fixed various minor other notices.
  • First stab at getting ready for full i18n compatibility.


  • Added:

    • Google Site Speed tracking, turned it on by default.
  • Fixed:

    • Custom code now properly removes slashes.


  • Fixed:
    • Tons of notices in backend and front end when no settings were saved yet.
    • Set proper defaults for all variables.
    • Notice for unset categories array on custom post types.
    • Notice for unset variable.
    • Error when user is not logged in in certain corner cases.
    • Bug where $options was used but never loaded for blogroll links.


  • Bugs fixed:
    • You can now disable comment form tracking properly.
    • Removed charset property from script tags to allow validation with HTML5 doctype.


  • Known issues:

    • Authentication with Google gives errors in quite a few cases. Please use the manual option to add your UA code until we find a way to reliably fix it.
  • Added functionality:

    • Option to set _setAllowHash to false, for proper subdomain tracking and some other uses.
    • Option to add a custom string of code to the tracking, before the push string is sent out.
  • Documentation fixes:

    • Fixed link for _setDomainName().
    • Fixed some grammatical errors (keep emailing me about those, please!)
    • Removed second comment in source output.
    • Fixed version number output in source.


  • Code enhancements:
    • Updated Shopp integration to also work with the upcoming Shopp 1.1 and higher.
    • Switched from split to explode, as split has been deprecated in PHP 5.3+.
  • New features:
    • A new debug mode has been added, using the new ga_debug.js. Along with this you can now enable Firebug Lite, so you can easily see the output from the debug script in each browser. Admins only, of course.
    • A list of modules has been added to the right sidebar, to allow easy navigation within the settings page.


  • Reverted double quote change from 4.0.7 because it was causing bigger issues.


  • Bugs fixed in this release:
    • Changed access level from "edit_users" to "manage_options" so super-admins in an multi site environment would be able to access.
    • Not a real bug but a fix nonetheless: UA ID is now trimmed on output, so spaces accidently entered in the settings screen won't prevent tracking.
    • Changed double quotes in link tracking output to single quotes to resolve incompatibilities with several plugins.


  • Bugs fixed in this release:
    • Sanitizing relative URL's could go wrong on some blogs installed in subdirectories.
    • Comment form tracking only worked for posts, not for pages, and would sometimes cause other issues. Patch by Milan Dinić.
    • Settings page: now correctly hiding internal links to track as outbound block when outbound link tracking is disabled.
  • Code sanitization:
    • Hardcoded the scope for custom variables to prevent that from possibly going wrong.
    • Improved method of determining whether current user should be tracked or not.
    • Added plugin version number in script branding comment, and moved branding comment to within CDATA section to assist in debugging, even when people use W3TC or another form of code minification.
  • Documentation fixes:
    • Updated custom variable order in settings panel to reflect order of tracking. You can now determine their index key by counting down, first checked box is index 1, second 2, etc.
    • Ignored users dropdown now correctly reflects that ignoring subcribers and up means ignoring ALL logged in users.


  • New features in this release:
    • Added a simple check to see if the UA code, when entered manually, matches a basic pattern of UA-1234567-12.
    • Added integration with W3 Total Cache and WP Super Cache. The page cache is now automatically cleared after updating settings. Caching is recommended for all WordPress users, as faster page loads improve tracking reliability and W3 Total Cache is our recommended caching plugin.
    • Added the option to enter a manual location for ga.js, allowing you to host it locally should you wish to.
  • Bugs fixed:
    • Fixed implementation of _anonymizeIp, it now correctly anonymizes IP's by setting _gat._anonymizeIp.
    • Increased request timeout time for Google Analytics authentication from 10 to 20 seconds, for slow hosts (if this fixes it for you, your hosting is probably not really good, consider another WordPress host).
  • Documentation fixes:
    • Added a note about profiles with the same UA code to the Analytics Profile selection.
    • The profile selection dropdown now shows the UA code after the profile name too.
    • Updated the screenshots and the FAQ for this plugin.


  • Fix for stupid boolean mistake in 4.0.3.


  • New features in this release:
    • Added versioning to the options array, to allow for easy addition of options.
    • Added an option to enable comment form tracking (as this loads jQuery), defaults to on.
  • Bugs fixed:
    • If you upgraded from before 4.0 to 4.0.2 you might have an empty value for ignore_userlevel in some edge cases, this is now fixed.
    • Custom search engines were loaded after trackPageview, this was wrong as shown by these docs, now fixed.


  • Old settings from versions below 4.0 are now properly sanitized and inherited (slaps forehead about simplicity of fix).
  • New features in this release:
    • Link sanitization added: relative links will be rewritten to absolute, so /out/ becomes http://example.com/out/ and is tracked properly.
    • Added a feature to track and label internal links as outbound clicks, for instance /out/ links.
    • Added tracking for mailto: links.
    • Added a filter for text-widgets, all links in those widgets are now tagged too.
    • Added support for _anonymizeIp.
  • Bugs fixed in this release:
    • Made sure all content filters don't run when the current user is ignored because of his user level.


  • Fix for when you have only 1 site in a specific Analytics profile.


  • NOTE WHEN UPGRADING: you'll have to reconfigure the plugin so it can fully support all the new features!
  • Complete rewrite of the codebase
  • Switched to the new asynchronous event tracking model
  • Switched link tracking to an event tracking model, because of this change removed 5 settings from the settings panel that were no longer needed
  • Implemented custom variable tracking to track:
    • On the session level: whether the user is logged in or not.
    • On the page level: the current posts's author, category, tags, year of publication and post type.
  • Added Google Analytics API integration, so you can easily select a site to track.
  • E-Commerce integration, tracking transactions, support for WP E-Commerce and Shopp.
  • Much much more: check out the release post.



  • Fix to the hashtag redirect so it actually works in all cases.


  • Slight change to RSS URL tagging, now setting campaign to post name, and behaving better when not using rewritten URL's.
  • Two patches by Lee Willis:
    • Made some changes so the entire plugin works fine with .co.uk, .co.za etc domains.
    • Made sure internal blogroll links aren't tagged as external clicks.


  • Added option to add tracking to add tracking to login / register pages, so you can track new signups (under Advanced settings).
  • Added beta option to track Google image search as a search engine, needs more testing to make sure it works.
  • Fixed a bug in the extra search engine tracking implementation.
  • Removed redundant "More Info" section from readme.txt.


  • Stupid typo that caused warnings.


  • Added 404 tracking as described here.
  • Optimized the tracking script, if extra search engine tracking is disabled it'll be a lot smaller now.
  • Various code optimizations to prevent PHP notices and removal of redundant code.


  • Removed no longer needed code to add config page that caused PHP warnings.


  • Major backend overhaul, using new Yoast backend class.
  • Added ability to automatically redirect non hashtagged campaign URLs to hashtagged campaign URL's when setAllowAnchor is set to true (if you don't get it, forget about it, you might need it but don't need to worry)


  • Fixed a bug with the included RSS, which came up when multiple Yoast plugins were installed.


  • Changed to the new Changelog design.
  • Removed pre 2.6 compatibility code, plugin now requires WP 2.6 or higher.
  • Small changes to the admin screen.


  • Added a new option for RSS link tagging, which allows you to tag your RSS feed links with RSS campaign variables. When you've set campaign variables to use # instead of ?, this will adhere to that setting too. Thanks to Timan Rebel for the idea and code.


  • Added a check to see whether the wp_footer() call is in footer.php.
  • Added a message to the source when tracking code is left out because user is logged in as admin.
  • Added option to segment logged in users.
  • Added try - catch to script lines like in new Google Analytics scripts.
  • Fixed bug in warning when no UA code is entered.
  • Prevent link tracking when admin is logged in and admin tracking is disabled.
  • Now prevents parsing of non http and https link.


  • Re arranged admin panel to have "standard" and "advanced" settings.
  • Added domain tracking.
  • Added fix for double onclick parameter, as suggested here.


  • Added the option to add setAllowAnchor to the tracking code, allowing you to track campaigns with # instead of ?.


  • Added option to select either header of footer position.
  • Added new AdSense integration options.
  • Removed now unneeded adsense tracking script.

= 2.6.6= * Fixed settings link.


  • added Ozh admin menu icon and settings link.


  • Fixes for 2.7.


  • Fixed bug that didn't allow saving of outbound clicks from comments string.


  • Fixed incompatibility with WP 2.6.


  • Fixed an issue with pluginpath being used globally.
  • Changed links to new domain.


  • Switched to the new tracking code.


  • Made sure tracking was disabled on preview pages.


  • Added AdSense tracking.


  • Added option to enable admin tracking, off by default.

Requires: 3.3 or higher
Compatible up to: 4.0
Last Updated: 2014-8-28
Downloads: 5,963,921


4 stars
4.3 out of 5 stars


1 of 30 support threads in the last two months have been resolved.

Got something to say? Need help?


Not enough data

3 people say it works.
1 person says it's broken.

100,1,1 100,1,1
100,1,1 0,1,0 100,8,8 100,1,1
100,1,1 100,9,9 100,3,3 100,1,1 50,2,1 0,1,0
100,2,2 93,14,13 50,2,1 0,1,0 0,1,0
81,26,21 0,1,0 0,1,0 0,1,0
86,51,44 50,2,1 100,2,2 83,6,5 100,1,1 50,2,1 50,2,1
79,19,15 100,4,4 100,4,4 60,15,9 0,1,0 91,22,20 100,7,7 83,24,20 100,2,2 100,3,3 50,2,1 100,1,1 100,1,1
0,1,0 93,28,26 100,7,7 77,13,10 88,76,67 0,1,0
100,1,1 100,3,3
85,27,23 33,3,1 100,4,4 76,42,32 100,1,1 100,2,2
67,3,2 100,4,4 86,14,12
100,15,15 94,18,17
82,33,27 100,2,2 50,2,1
100,4,4 100,1,1 0,1,0 50,2,1 100,1,1
36,14,5 100,1,1 86,14,12 75,4,3
100,5,5 90,59,53 29,7,2 100,2,2 64,47,30 0,1,0
90,20,18 100,1,1
89,18,16 100,1,1 81,58,47
81,36,29 80,15,12 100,2,2
50,12,6 0,5,0 80,15,12 86,43,37 100,1,1 100,1,1
67,18,12 100,1,1 100,1,1
78,18,14 100,1,1 25,8,2 22,18,4 68,40,27
0,1,0 93,15,14
100,14,14 100,2,2
100,1,1 86,7,6 69,26,18