Directory / plugin

Lightweight Google Analytics

v1.7.0 · by Andy Feliciotti

Easily add Google Analytics 4 to WordPress using just your Measurement ID.

About this plugin

This simple plugin adds Google Analytics 4 (GA4) to your WordPress site using your Measurement ID. It prints Google’s standard gtag.js snippet, nothing more, with a few options for where it loads, who gets tracked, privacy and testing.

Features

  • Performance focused with no bloat and never any upsells
  • Only needs your GA4 Measurement ID (G-XXXXXXXX), or paste Google’s whole tag snippet and the ID is picked out of it
  • Load the tracking code in the header or footer
  • Exclude logged-in users by role (admins, editors and authors are excluded by default)
  • Post previews and the Customizer are never tracked
  • Option to disable Google’s advertising features (Google signals)
  • Google Consent Mode v2 support for GDPR/CCPA compliance, working automatically with consent plugins that support the WP Consent API (such as Complianz and CookieYes)
  • Option to honor Global Privacy Control, the opt-out signal sent by Brave, DuckDuckGo and Firefox
  • Optional content groups: the post’s category (or page type) as GA4’s Content group, plus the author’s name, so you can compare sections and authors in reports
  • Warns you on the settings page when another plugin, your theme or a pasted snippet also adds Google Analytics, so page views aren’t counted twice
  • Debug Mode for testing in GA4 DebugView
  • Optional Minimal Analytics 4 mode: a 3.5 KB inline script that reports page views, scrolls, downloads, outbound clicks and site searches without loading gtag.js at all
  • The settings page tells you whether tracking is live and why your own visits may not show up
  • Filters for developers to change the gtag config, the consent defaults or when tracking is skipped

The plugin does not include any reporting. To see your statistics, open Google Analytics.

Note: Universal Analytics (UA-) was shut down by Google in 2023 and is no longer supported. If you still have a UA- ID saved, the plugin outputs nothing until you enter a GA4 Measurement ID.

For developers

Change the options passed to gtag("config", ...), for example to disable the automatic page view or set cookie flags:

add_filter( 'lightweight_ga_gtag_config', function ( $config, $measurement_id ) {
    $config['send_page_view'] = false;
    $config['cookie_flags']   = 'SameSite=None;Secure';
    return $config;
}, 10, 2 );

Change the Consent Mode defaults, for example to only deny storage for EU visitors:

add_filter( 'lightweight_ga_consent_defaults', function ( $defaults ) {
    $defaults['region'] = array( 'AT', 'BE', 'DE', 'FR', 'IE', 'NL' );
    return $defaults;
} );

Change the content group or author sent with each page (when Content Groups is on), or add more page-level parameters:

add_filter( 'lightweight_ga_page_dimensions', function ( $dimensions ) {
    if ( is_page( 'pricing' ) ) {
        $dimensions['content_group'] = 'Sales';
    }
    return $dimensions;
} );

Skip the tracking code for any request:

add_filter( 'lightweight_ga_disable_tracking', function ( $disabled ) {
    return $disabled || is_page( 'internal-dashboard' );
} );

Plugin tags