Check Google Tag Manager Setup in WordPress Site Health
WordPress has a Site Health screen under Tools → Site Health. GTM4WP adds its own status tests to the Status tab and its own section to the Info tab, so you can check the plugin’s setup in the same place as the rest of your site, and share it when you ask for help.
New in 2.1.0.
GTM4WP 2.0.x: the plugin adds nothing to Site Health.
Status tests
Each test shows a “Google Tag Manager” badge on the Status tab and uses the WordPress Site Health statuses: critical for a problem that stops something from working, recommended for an improvement. A test that passes is listed under Passed tests; one that fails explains the problem and, where possible, links to the setting that fixes it.
| Test | What it checks |
|---|---|
Google Tag Manager is configuredgtm4wp_configuration | The same problems the plugin reports as admin notices. It turns critical when something does not work, for example when no container ID is entered or a wp-config.php constant holds an invalid value, and recommended when there are only warnings. Switching the container code off on purpose is reported as a deliberate setup, not as a problem. |
Google service account keys are readablegtm4wp_google_auth_keys | Turns critical when a stored Google service account key can no longer be decrypted, which happens when the security keys in wp-config.php or the GTM4WP_ENCRYPTION_KEY constant change. The service account guide explains the fix. |
Google Data Manager is workinggtm4wp_google_data_manager_sending | Turns critical while sending to a Google Data Manager destination keeps failing, and recommended when attribution capture is on but none of the recent orders has attribution data stored. It passes when nothing is set up to be sent. |
The Google Tag Manager allowlist permits at least one entitygtm4wp_blacklist_allowlist | Runs only when the tag restrictions are in allowlist mode. It recommends a fix when nothing is allowed, because Google Tag Manager then blocks every tag, trigger and variable in your container. |
The Info section
The Info tab has a section called Google Tag Manager for WordPress. It describes the plugin on this site in one place:
- the plugin version and the codes of any configuration problems,
- the containers that load, where the container code is placed, the data layer variable name and the wp-config.php overrides,
- the state of every feature: page variables, browser and device data, the cache-safe data layer, user and media events, consent mode and the consent tool integrations,
- for each supported plugin (Contact Form 7, WooCommerce, Easy Digital Downloads, AMP) whether it is installed, its version where known, and its GTM4WP settings,
- the tag restrictions, the stored Google service accounts and their status, which secret encrypts their keys (never its value), and the Google Data Manager destinations with their last successful send.
On a multisite network, a row also names the capability needed to change the container settings. By default every site administrator has it, and the row explains how to limit it to network administrators.
An AI assistant connected to your site through MCP reads the same tests and rows with the gtm4wp/get-site-health ability.
Sharing it in a support request
The section is written to be pasted into a public support thread. It holds option states, statuses, counts, timestamps and short codes, and nothing secret: no service account key, no account email address, no error text from other services and no data about your visitors or customers. The only IDs in it are ones already in your site’s public HTML, such as container and measurement IDs.
To share it, open the Info tab, press Copy site info to clipboard, and paste the part that starts with ### gtm4wp ### into your post on the support forum. The copied text is always in English, whatever language your WordPress admin uses, and each line starts with a fixed key such as woocommerce_purchase_statuses, so it reads the same on every site.
For developers
A module added through the gtm4wp_register_modules action can report into both tabs by implementing two interfaces on its admin schema:
GTM4WP\Module\SiteHealthInfoInterfacereturns rows for the Info section. GTM4WP prefixes each row key with the module ID. Build the rows withGTM4WP\Admin\SiteHealthRows, so every row carries the English value the copied text uses.GTM4WP\Module\SiteHealthTestsInterfacereturns status tests. GTM4WP adds the badge and the test ID,gtm4wp_<module id>_<key>. A test runs when the Status tab is opened, so it may read stored data but must not make HTTP requests.
Code without a module of its own can add rows with the gtm4wp_site_health_info filter. The same rule applies to every row: the section ends up in public threads, so report states and counts, never keys, personal data or raw error messages from other services.

