Title: Beardo Multisite Analytics for GA4
Author: Beardo.Tools
Published: <strong>ജൂലൈ 14, 2026</strong>
Last modified: ഓഗസ്റ്റ്‌ 25, 2026

---

Search plugins

![](https://ps.w.org/beardo-multisite-analytics-ga4/assets/banner-772x250.png?rev
=3611398)

![](https://ps.w.org/beardo-multisite-analytics-ga4/assets/icon-256x256.gif?rev=
3606955)

# Beardo Multisite Analytics for GA4

 By [Beardo.Tools](https://profiles.wordpress.org/beardotools/)

[Download](https://downloads.wordpress.org/plugin/beardo-multisite-analytics-ga4.1.7.4.zip)

 * [Details](https://ml.wordpress.org/plugins/beardo-multisite-analytics-ga4/#description)
 * [Reviews](https://ml.wordpress.org/plugins/beardo-multisite-analytics-ga4/#reviews)
 *  [Installation](https://ml.wordpress.org/plugins/beardo-multisite-analytics-ga4/#installation)
 * [Development](https://ml.wordpress.org/plugins/beardo-multisite-analytics-ga4/#developers)

 [Support](https://wordpress.org/support/plugin/beardo-multisite-analytics-ga4/)

## Description

Beardo Multisite Analytics for GA4 brings your Google Analytics 4 data directly 
into the WordPress admin — without touching your site’s tracking setup.

Unlike most GA4 plugins, this one does **not** add any tracking code or scripts 
to your site. It is a pure reporting dashboard. If you already have GA4 running 
via Site Kit, Google Tag Manager, a page builder integration, or manual gtag — this
plugin works alongside all of it, no conflict, no duplication.

**What You See at a Glance**

 * Users, Sessions, Pageviews, and Average Session Duration
 * Traffic Trend chart — visualize traffic patterns over time
 * Top 5 Pages by views
 * Traffic Sources breakdown — Direct, Organic Search, Referral, Organic Social,
   and more
 * Active Users by Device — desktop, mobile, and tablet
 * Active Users by Operating System — Windows, iOS, macOS, Android, Linux, Chrome
   OS
 * Date range selector — Last 7, 30, and 90 days
 * Switchable chart types — Ring, Pie, Bar, and Polar views for device and OS data
 * AJAX data refresh — charts and metrics update without a page reload
 * WCAG 2.1 AA accessible updates

**Network Admin Interface**

 * Tabbed interface — Properties, Subsites, Settings, Instructions
 * Properties tab — searchable, sortable, paginated list of all GA4 properties in
   your Google account, with Re-sync and Export CSV
 * Subsites tab — shows every subsite with its mapped GA4 property, domain, and 
   a direct Login link; exportable to CSV
 * Settings tab — configure cache duration (12 or 24 hours), error notification 
   email addresses, API request logging, and uninstall behavior (preserve or purge
   all plugin data on removal)

**Single Site**

Each site administrator connects their own Google account and selects the GA4 property
for their site. Analytics data is scoped to that property only.

**WordPress Multisite — Network Activated**

When network activated, a single Google account connection at the network level 
gives the super admin access to all GA4 properties associated with that account.
Each subsite can be mapped to its own property. Subsite administrators see only 
the data for their own site.

**Why Not Just Use Google Analytics Directly?**

You could — but staying in WordPress admin means your team doesn’t need Google Analytics
access or training. Site owners, editors, and clients get the numbers they actually
need without logging into a separate platform.

**No Bloat. No Tracking. No Upsell.**

This is a free, open-source plugin with no premium tier, no license keys, and no
persistent upgrade prompts. It does one thing — surfaces GA4 data inside WordPress—
and does it cleanly.

**Support & Documentation**

 * For support, visit [help.beardo.tools](https://help.beardo.tools)
 * Publisher site: [beardo.tools](https://beardo.tools)

**Third-Party Libraries**

This plugin bundles the following open-source library. The minified copy shipped
with the plugin is built from the developer source linked below:

 * Chart.js v4.5.1 (MIT License) — used for dashboard charts. Source: [https://github.com/chartjs/Chart.js/tree/v4.5.1](https://github.com/chartjs/Chart.js/tree/v4.5.1)

### Credits

Thank you to [Paul Goodchild](https://wordpress.org/plugins/wp-simple-firewall/)
and the team at [Shield Security](https://getshieldsecurity.com/) for contributing
an initial security review of this plugin.

### External Services

This plugin connects to Google APIs to fetch analytics reports and list available
GA4 properties.

It sends data only when an administrator explicitly connects Google OAuth, tests
connection, refreshes properties, or when a user views dashboard analytics data.

Service used:

 * Google Analytics Data API (reporting)
 * Google Analytics Admin API (property discovery)
 * Google OAuth 2.0 endpoints (authentication/token refresh)

Data sent to Google may include:

 * Your site’s OAuth redirect URI
 * OAuth client credentials configured by the administrator
 * Selected GA4 property ID
 * Requested date range and report dimensions/metrics

Google service documentation and policies:

 * [Google Analytics Data API](https://developers.google.com/analytics/devguides/reporting/data/v1)
 * [Google Analytics Admin API](https://developers.google.com/analytics/devguides/config/admin/v1)
 * [Google API Services User Data Policy](https://developers.google.com/terms/api-services-user-data-policy)
 * [Google Privacy Policy](https://policies.google.com/privacy)

## Screenshots

[⌊Main dashboard — summary metrics (Users, Sessions, Pageviews, Avg. Duration) and
Traffic Trend chart⌉⌊Main dashboard — summary metrics (Users, Sessions, Pageviews,
Avg. Duration) and Traffic Trend chart⌉[

Main dashboard — summary metrics (Users, Sessions, Pageviews, Avg. Duration) and
Traffic Trend chart

[⌊Top 5 Pages table, Traffic Sources pie chart, Active Users by Device, and Active
Users by OS panels⌉⌊Top 5 Pages table, Traffic Sources pie chart, Active Users by
Device, and Active Users by OS panels⌉[

Top 5 Pages table, Traffic Sources pie chart, Active Users by Device, and Active
Users by OS panels

[⌊Settings page — Google account connection and GA4 property selection⌉⌊Settings
page — Google account connection and GA4 property selection⌉[

Settings page — Google account connection and GA4 property selection

[⌊Assigning a GA4 property to a subsite in a multisite network⌉⌊Assigning a GA4 
property to a subsite in a multisite network⌉[

Assigning a GA4 property to a subsite in a multisite network

## Installation

**Single Site**

 1. Upload the plugin to `/wp-content/plugins/multisite-analytics-ga4` or install via
    the WordPress Plugins screen
 2. Activate the plugin through the Plugins menu
 3. Go to **Settings  GA4 Analytics** and connect your Google account
 4. Select the GA4 property for your site
 5. Navigate to **Dashboard  GA4 Analytics** to view your data

**WordPress Multisite**

 1. Upload the plugin to `/wp-content/plugins/multisite-analytics-ga4`
 2. Network activate the plugin from **Network Admin  Plugins**
 3. Go to **Network Admin  Settings  GA4 Analytics** and connect a Google account with
    access to all relevant GA4 properties
 4. Map each subsite to its corresponding GA4 property
 5. Subsite admins can access their own dashboard under **Dashboard  GA4 Analytics**
    within their site

## FAQ

### Will this work on a single site WordPress install?

Yes — the plugin works on both single site and multisite installations. On a single
site you connect your Google account, select your GA4 property, and the dashboard
is ready. The multisite network features activate automatically when the plugin 
is network activated.

### Does this plugin add GA4 tracking code to my site?

No. This is a reporting dashboard only. It reads data from the GA4 API and displays
it in your WordPress admin. It does not add any JavaScript, tracking snippets, or
gtag code to your frontend. Your existing GA4 tracking setup — whatever it is — 
remains unchanged.

### I already use Site Kit / MonsterInsights / Google Tag Manager. Will there be a conflict?

No conflict. Because this plugin does not touch your tracking setup, it works alongside
any existing GA4 implementation. You can use it to add a clean admin dashboard view
without replacing or interfering with your current setup.

### Do I need a GA4 property already set up?

Yes. This plugin connects to an existing GA4 property via the Google Analytics Data
API. You will need a Google Analytics 4 property with data already flowing into 
it. Universal Analytics (UA) properties are not supported.

### What Google permissions does the plugin request?

The plugin requests read-only access to your Google Analytics data. It cannot modify
your GA4 property, create events, or change any settings in your Google account.

### Does my analytics data pass through your servers?

No. Data is fetched directly from the Google Analytics Data API to your WordPress
installation using your own Google account credentials. No data passes through Beardo.
Tools servers.

### Does this work on WordPress.com?

No. This plugin requires a self-hosted WordPress installation (wordpress.org) with
the ability to install custom plugins.

### What versions of WordPress and PHP are required?

WordPress 6.0 or later and PHP 8.0 or later.

### Can subsite admins on a multisite network see other sites’ data?

No. When network activated, each subsite is mapped to a specific GA4 property. Subsite
administrators see only the analytics for their own site. Only the super admin has
access to the network-level overview.

### Does it work on both subdomain and subdirectory multisite installs?

Yes. The plugin works on both subdomain (site1.example.com) and subdirectory (example.
com/site1) multisite configurations.

### What date ranges are available?

The dashboard includes a date range selector with three options: Last 7 Days, Last
30 Days, and Last 90 Days.

### Can I change the chart style?

Yes. The Traffic Sources, Active Users by Device, and Active Users by OS panels 
each include a chart type selector. You can switch between Ring, Pie, Bar, and Polar
chart styles.

### What happens to my data if I uninstall the plugin?

You control this. The Settings tab includes an Uninstall Behavior option. When checked,
uninstalling the plugin preserves all OAuth credentials, property mappings, and 
cached data — useful if you plan to reinstall or troubleshoot. When unchecked, uninstalling
removes all plugin data and logs completely. In multisite, only network administrators
can change this setting.

### Where are logs stored?

When debug logging is enabled, logs are stored in `/wp-content/uploads/ga4-logs/`.

### Where can I get support?

Support is available at [help.beardo.tools](https://help.beardo.tools). You can 
also visit beardo.tools for additional documentation.

## Reviews

ഈ പ്ലഗിന് റിവ്യൂകൾ ഒന്നുമില്ല.

## Contributors & Developers

“Beardo Multisite Analytics for GA4” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Beardo.Tools ](https://profiles.wordpress.org/beardotools/)

[Translate “Beardo Multisite Analytics for GA4” into your language.](https://translate.wordpress.org/projects/wp-plugins/beardo-multisite-analytics-ga4)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/beardo-multisite-analytics-ga4/),
check out the [SVN repository](https://plugins.svn.wordpress.org/beardo-multisite-analytics-ga4/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/beardo-multisite-analytics-ga4/)
by [RSS](https://plugins.trac.wordpress.org/log/beardo-multisite-analytics-ga4/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.7.4

 * New: Dark mode support. The settings, instructions, and analytics screens now
   draw their colors from a plugin-owned CSS custom property layer (`--ga4-*`) with
   light defaults, so a dark admin theme can re-color the entire plugin by overriding
   tokens. In stock WordPress admin nothing changes visually.
 * New: Charts are theme-aware. Chart.js now reads its colors from the same token
   layer at every render, so graph text, gridlines, and series colors follow the
   active theme instead of being locked to hardcoded values.
 * Improvement: The chart series palette was replaced with a 7-color colorblind-
   validated palette anchored to the WordPress admin blue, readable in both light
   and dark modes. The previous palette used a legacy blue that matched no current
   WordPress color scheme.
 * Improvement: Status badges on the settings screens now use colors derived from
   the WordPress admin palette rather than unrelated Bootstrap alert colors.
 * Maintenance: Consolidated three duplicate category-chart renderers into one, 
   and moved the remaining inline styles on the settings page into stylesheet classes.

#### 1.7.3

 * New: Property sync failures are no longer silent. If listing your GA4 properties
   fails (e.g. the Google Analytics Admin API is disabled, missing permissions, 
   expired connection, or rate limiting), the settings screens now show an actionable
   error notice explaining exactly what to fix — including a direct link to enable
   the Admin API when that is the cause. The stored error is cleared automatically
   on the next successful sync.
 * New: The Re-sync button is now also available on single-site installs (in the
   Dashboard Property box), so single-site users can refresh their property list
   without reconnecting.
 * Improvement: The empty property list now distinguishes “not synced yet” from “
   synced, but this Google account has no GA4 properties”, with guidance for each
   case.
 * Docs: Updated the Instructions tab for Google’s current Cloud Console — the “
   OAuth consent screen” is now “Google Auth Platform”, with new setup steps (test
   users for apps in Testing mode, client secret shown only at creation) and two
   new troubleshooting entries (“Access blocked” and refresh tokens expiring after
   7 days in Testing mode).
 * Compatibility: Tested up to WordPress 7.1. Internal admin screen detection now
   uses the page hooks WordPress itself returns at menu registration (instead of
   hardcoded screen IDs), and deprecated patterns were removed for forward compatibility.
 * Fix: The security headers (Content-Security-Policy and friends) on the plugin’s
   admin screens were silently never sent — they were attached to a hook that fires
   before WordPress identifies the current screen. They are now sent reliably on
   exactly the plugin’s own screens.
 * Fix: The admin Content-Security-Policy now allows data: fonts, which admin icon-
   font CSS relies on (previously it would have blocked them once the headers actually
   applied).
 * Maintenance: Regenerated the translation template (.pot); it was stale and covered
   only about a third of the plugin’s translatable strings.

#### 1.7.2

 * Fix: The “Clear Cache” button on single-site installs did nothing — its click
   handler was only bound to the multisite button’s element id. Both buttons are
   now handled.
 * New: Dashboard reports now exclude GA4 ghost/referral spam (fake hits sent with
   a foreign or blank hostname, e.g. “trafficheap.cc”) by restricting every report
   to each GA4 property’s real hostnames. Those hostnames are fetched automatically
   from the property’s GA4 data streams (so it works on single-site and domain-mapped
   installs); if they can’t be determined, reports are left unfiltered rather than
   blanked. Overridable via the `beardo_ga4_report_hostnames` and `beardo_ga4_enable_report_hostname_filter`
   filters.

#### 1.7.1

 * Fix: The 1.7.0 upgrade could skip the data migration (it ran on activation before
   recording completion), leaving the new install without the network OAuth connection.
   The migration now runs correctly on activation and re-runs automatically when
   upgrading from 1.7.0 to recover the connection (if the prior data is still present).
 * Change: The migration is now non-destructive — it copies the old “ga4_” settings
   to the new keys and leaves the originals in place. Because the plugin slug changed,
   moving from a pre-1.7.0 build is a side-by-side install; this keeps the older
   build working and the move reversible. The old keys are removed only when the
   plugin is uninstalled.

#### 1.7.0

 * Compliance: Renamed all internal functions, classes, constants, options, hooks,
   AJAX actions, nonces, and script handles to use the unique “beardo_ga4_” / “Beardo_GA4_”
   prefix (was the too-short “ga4” prefix), per WordPress.org plugin guidelines
 * Data migration: Existing settings, selected properties, and the network OAuth
   connection are migrated automatically on upgrade; encrypted tokens and credentials
   are transparently re-keyed, so no reconnection is required
 * Compatibility: Removed the remaining inline block from the error-notification
   email; all email styling is now inline per-element (standard for HTML email)
 * Note: The OAuth callback action name changed; if you reconnect Google after upgrading,
   copy the updated Redirect URI shown on the settings page into your Google Cloud
   Console (existing connections continue to work)

#### 1.6.0

 * Renamed plugin to “Beardo Multisite Analytics for GA4”
 * Removed the optional compact dashboard widget; analytics now live solely on the
   dedicated GA4 Analytics page
 * Compatibility: Moved all admin scripts and styles to the standard enqueue APIs(
   wp_enqueue_script / wp_localize_script / wp_add_inline_style)
 * Updated bundled Chart.js to v4.5.1
 * Security: Hardening audit performed by Get Shield Security
 * Security: Hardened nonce verification, capability checks, and output escaping
   across AJAX handlers and settings pages
 * Security: Improved sanitization of all user-supplied inputs at system boundaries
 * Security: Restricted uninstall cleanup to network administrators only
 * Security: Reviewed OAuth callback and token handling for injection and SSRF risks

#### 1.5.4

 * Maintenance: Version bump and packaging update

#### 1.5.3

 * Maintenance: Compliance and packaging maintenance update

#### 1.5.2

 * Maintenance: Release packaging workflow and QA improvements

#### 1.5.1

 * Bug fix: Dashboard widget device and OS charts missing when only core cache is
   present

#### 1.5.0

 * UI: Converted Subsites tab to WP_List_Table with search, sort, and pagination
 * UI: Added Login column linking directly to each subsite’s wp-admin
 * UI: Trimmed trailing slash from domain display
 * Bug fix: Ensured Tabler icon sprite loads correctly on Network Settings screen

#### 1.4.0

 * UI: Network settings refactored into tabbed interface — Properties, Subsites,
   Settings, Instructions
 * Feature: Properties tab — searchable, sortable, paginated list of all available
   GA4 properties
 * Feature: Subsites tab — active subsites view showing site name, domain, GA4 property,
   and Login shortcut
 * Feature: CSV export on both Properties and Subsites tabs
 * Feature: Re-sync button to pull newly added GA4 properties from Google
 * UI: Added plugin Settings link in the Plugins list

#### 1.3.0

 * Security: Encryption of stored OAuth credentials completed (AES-256-CBC)

#### 1.2.x

 * UI: Refined single-site admin flow introduced in 1.1.0
 * Feature: Groundwork for CSV export and tabbed analytics interface
 * Maintenance: Stability improvements and code cleanup

#### 1.1.0

 * Feature: Added single-site support — settings available in main admin on non-
   multisite installs
 * UI: Improved OAuth error notices with actionable guidance
 * Security: Minor security hardening and legacy callback removal

#### 1.0.0

 * Initial release
 * Network-level OAuth authentication
 * Per-subsite GA4 property selection
 * Smart caching system (12 or 24 hour configurable TTL)
 * API request logging with 30-day auto-rotation (stored in /wp-content/uploads/
   ga4-logs/)
 * Error notification emails — configurable recipient list
 * Uninstall behavior control — choose to preserve or purge all plugin data on removal
 * WCAG 2.1 AA accessibility compliance
 * Mobile responsive design

## Meta

 *  Version **1.7.4**
 *  Last updated **7 ദിവസങ്ങൾ ago**
 *  Active installations **10+**
 *  വേർഡ്പ്രസ്സ് പതിപ്പ് ** 6.0 അല്ലെങ്കില്‍ അതിലും ഉയര്‍ന്നത് **
 *  Tested up to **7.1**
 *  PHP പതിപ്പ് ** 8.0 അല്ലെങ്കില്‍ അതിലും ഉയര്‍ന്നത് **
 *  Language
 * [English (US)](https://wordpress.org/plugins/beardo-multisite-analytics-ga4/)
 * Tags
 * [analytics](https://ml.wordpress.org/plugins/tags/analytics/)[Analytics dashboard](https://ml.wordpress.org/plugins/tags/analytics-dashboard/)
   [ga4](https://ml.wordpress.org/plugins/tags/ga4/)[google analytics](https://ml.wordpress.org/plugins/tags/google-analytics/)
   [multisite](https://ml.wordpress.org/plugins/tags/multisite/)
 *  [Advanced View](https://ml.wordpress.org/plugins/beardo-multisite-analytics-ga4/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/beardo-multisite-analytics-ga4/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/beardo-multisite-analytics-ga4/reviews/)

## Contributors

 *   [ Beardo.Tools ](https://profiles.wordpress.org/beardotools/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/beardo-multisite-analytics-ga4/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://beardo.tools/donate/)