Enhanced Measurement is the single toggle in Google Analytics that makes the platform feel functional out of the box — turn it on, and suddenly you’re collecting scroll data, outbound click tracking, and more, without writing any code. It’s genuinely useful. It’s also frequently misunderstood as covering more than it actually does, which leads store owners to assume their tracking is complete when significant categories of activity — especially anything WooCommerce-related — are going entirely unrecorded.
What Enhanced Measurement Actually Turns On
Enhanced Measurement lives under Admin → Data Streams → [your stream] → Enhanced Measurement, and covers six automatic event categories:
Page views — fires on every page load, including on single-page-application-style navigation where the URL changes without a full page reload (WordPress sites using certain page builders or headless setups benefit from this specifically).
Scrolls — fires a single scroll event when a visitor reaches 90% of the page’s vertical depth. Note this is a single fixed threshold, not granular tracking at 25%/50%/75%/90% — if you want that level of detail, you need custom event configuration beyond what Google Analytics Enhanced Measurement provides.
Outbound clicks — fires when someone clicks a link that leads to a different domain than your own. This is genuinely useful for understanding what external resources or affiliate links visitors follow, without any manual link-tracking setup.
Site search — fires when someone uses your on-site search functionality, provided GA4 correctly detects your search query URL parameter (commonly s, q, or search, though WordPress’s default is s — worth confirming this is being detected correctly in your specific setup, since a mismatched parameter means this silently never fires).
Video engagement — fires for embedded YouTube videos specifically (video start, progress at 10%/25%/50%/75%, and completion). This does not cover self-hosted video files or non-YouTube embeds like Vimeo — those need separate configuration.
File downloads — fires when a visitor clicks a link to a file with a recognized extension (PDF, DOCX, XLSX, ZIP, and similar common types).
What Enhanced Measurement Does Not Cover (The Important Part)
This is where the gap between “GA4 is technically installed” and “GA4 is actually tracking what matters to my business” shows up most clearly.
Ecommerce events. This is the single biggest gap for WooCommerce store owners, and it deserves emphasis because it’s the most commonly misunderstood point in GA4 setup: Enhanced Measurement does not send view_item, add_to_cart, begin_checkout, or purchase events. None of them. Turning on Google Analytics Enhanced Measurement and assuming your store’s revenue data is now flowing into GA4 is one of the most common — and most consequential — misconceptions in WordPress analytics setup. These events require either custom development or a plugin specifically built to map WooCommerce’s checkout flow into GA4’s ecommerce event schema.
Form submissions. GA4 does not automatically detect and track form submissions of any kind — contact forms, newsletter signups, quote requests. This needs to be manually configured, whether through GTM, a forms plugin with GA4 integration, or a plugin with built-in form tracking.
Non-YouTube video. As mentioned, self-hosted video and non-YouTube embeds are entirely outside Enhanced Measurement’s scope.
Custom business events. Anything specific to your site’s logic — a WooCommerce Subscriptions renewal, a membership tier upgrade, a specific button click you care about for conversion purposes — needs to be built deliberately. Enhanced Measurement only covers generic, universal website behaviors, not anything specific to what your business actually does.
Granular scroll depth. As noted above, only a single 90% threshold, not the multi-point scroll tracking many content sites want for engagement analysis.
Content and visitor context. Enhanced Measurement’s page_view events carry no information about who wrote a post, what category or tags it belongs to, what type of content it is, or what role the visitor holds on your site. That context has to be added deliberately as custom dimensions — it isn’t part of the automatic collection at all.
Why This Gap Matters More Than It Might Seem
The danger isn’t that these gaps exist — every analytics tool has some setup boundary. The danger is that Enhanced Measurement’s presence creates a false sense of completeness. A store owner sees GA4 collecting scroll data, outbound clicks, and file downloads, concludes “tracking is working,” and never circles back to specifically verify ecommerce events are firing — because nothing in the interface flags that gap explicitly. Weeks or months later, when someone finally checks the Monetization reports and finds them empty, it’s often framed as “GA4 broke” rather than “ecommerce tracking was never configured in the first place,” which is usually the more accurate description.
How to Check What’s Actually Being Collected on Your Site
Rather than assuming based on this list, verify directly:
- Go to Admin → Events in GA4 — this shows every event type currently being collected, with counts.
- Look specifically for
purchase,add_to_cart, andview_itemif you run WooCommerce. If they’re absent entirely, ecommerce tracking isn’t configured — Enhanced Measurement alone won’t produce them. - Use DebugView while browsing your own site to see events fire in real time, including their parameters — useful for confirming not just that an event fires, but that it carries correct data.
Closing the Gap for a WooCommerce Store
For the ecommerce gap specifically — the one that matters most for revenue reporting — there are three realistic paths:
Manual custom development, pushing WooCommerce order and product data into dataLayer and building corresponding GTM tags. Accurate if done carefully, but a meaningful ongoing maintenance commitment as your checkout evolves.
A generic Google Analytics plugin that only handles the base tracking snippet and Enhanced Measurement — these leave the ecommerce gap entirely unaddressed, despite often being marketed as “complete” GA4 solutions.
A WooCommerce-specific plugin, like TrueAna, built to map the full ecommerce event schema — view_item through purchase — directly from WooCommerce’s native hooks, without custom development. This is also typically where server-side delivery for the purchase event gets added, addressing the separate (and equally common) problem of ad blockers preventing client-side purchase events from ever reaching GA4 at all.
How TrueAna helps
How TrueAna Closes the Gap — and What Its Custom Dimensions Actually Add
TrueAna’s free tier is what closes the core ecommerce gap described above: it listens to WooCommerce’s native hooks and fires view_item, add_to_cart, begin_checkout, and purchase events with GA4’s expected parameters, so the Monetization reports that Enhanced Measurement alone leaves empty actually populate.

On top of that, TrueAna Pro sends 11 additional custom dimensions to Google Analytics, adding context that neither Enhanced Measurement nor the base ecommerce events carry on their own — who wrote a piece of content, what category or tag it belongs to, what role a visitor holds, and specific WooCommerce conversion and subscription detail. Each one has an on/off toggle under TrueAna → Settings → Custom Dimensions, and all 11 are enabled by default once Pro is active.
| Dimension | Parameter key | Scope | Value |
|---|---|---|---|
| Author ID | ga4wp_author_id |
Event | WordPress numeric user ID of the post author, e.g. “4” |
| Category | ga4wp_category |
Event | Comma-separated category names, e.g. “Tutorials,WooCommerce” |
| Tag | ga4wp_tag |
Event | Comma-separated tag names, e.g. “analytics,tracking” |
| Post Type | ga4wp_post_type |
Event | WordPress post type slug, e.g. “post”, “page”, “product” |
| Dimension | Parameter key | Scope | Value |
|---|---|---|---|
| User Role | ga4wp_user_role |
User | Comma-separated WP role slugs if logged in, or “guest” if not |
| User ID | ga4wp_user_id |
User | WP numeric user ID; only sent if logged in and “Do Not Track User ID” is disabled |
| Dimension | Parameter key | Scope | Value |
|---|---|---|---|
| Form ID | ga4wp_form_id |
Event | The form plugin’s ID (CF7, WPForms, Gravity Forms, Fluent Forms, Formidable) |
| Form Name | ga4wp_form_name |
Event | Human-readable form title, e.g. “Contact Us” |
| Dimension | Parameter key | Scope | Value |
|---|---|---|---|
| Conversion Type | ga4wp_conversion_type |
Event | “purchase”, “refund”, “subscription_created”, or other order status events |
| Dimension | Parameter key | Scope | Value |
|---|---|---|---|
| Subscription ID | ga4wp_subscription_id |
Event | The WooCommerce Subscriptions post ID, sent with lifecycle events (created, cancelled, expired, renewal, failed payment) |
| Subscription Renewal Count | ga4wp_subscription_renewal_count |
Event | Total completed renewals for that subscription, useful for spotting which renewal number has the highest churn risk |
Two things worth being precise about. First, ga4wp_user_role and ga4wp_user_id are User-scoped, not Event-scoped — they need to be registered in GA4 as User properties, not Event parameters, or they won’t populate correctly. The other nine are Event-scoped. Second, of the 11, only ga4wp_conversion_type, ga4wp_subscription_id, and ga4wp_subscription_renewal_count are WooCommerce-order-specific — the rest describe WordPress content and visitor identity, not the transaction itself, which is genuinely useful for questions like “does content from a specific author or category correlate with more purchases” but isn’t a per-order attribute like a coupon code or payment method.
Registration is a one-time step per dimension, done in GA4 Admin → Custom definitions → Custom dimensions → Create, using the exact parameter names above. TrueAna starts sending values immediately once a dimension is toggled on, but GA4 won’t display it in reports until it’s registered there — and Google Analytics doesn’t backfill historical data, so it’s worth registering early rather than after the fact. Once registered, all 11 are usable as dimensions in GA4 Explore, and the four content dimensions specifically power TrueAna’s own Content Performance reports (Author, Category, Tag, and Post Type views) inside wp-admin, without needing to build the query in GA4 yourself.
Frequently Asked Questions
Should I turn off any Enhanced Measurement events?
Generally no, unless a specific event genuinely doesn’t apply to your site (turning off video engagement tracking if you have zero embedded video, for instance) or is generating noisy, low-value data you’ve confirmed you don’t use.
Does Enhanced Measurement cost anything extra?
No — it’s a free, built-in feature of every GA4 property, simply a toggle for automatic event collection versus requiring manual configuration.
Why does my site search tracking show no data even though I have a search bar?
Almost always a URL parameter mismatch — Google Analytics needs to recognize your search query parameter specifically. Check your search results URL structure against GA4’s detected parameters in the Enhanced Measurement settings.
If I add a WooCommerce plugin later, will it conflict with Enhanced Measurement?
No — Enhanced Measurement and ecommerce plugin tracking cover entirely different, non-overlapping event categories, so they work together rather than conflicting, as long as you’re not also manually duplicating the same events through a separate method simultaneously.
Do I need to register all 11 of TrueAna’s custom dimensions in Google Analytics?
Only register the ones you’ve actually enabled in the plugin. Standard GA4 properties allow 50 event-scoped and 25 user-scoped custom dimensions as separate quotas — TrueAna’s 11 dimensions use 9 event-scoped slots and 2 user-scoped slots, so enabling all of them barely touches either limit.
Which of TrueAna’s custom dimensions are specific to WooCommerce orders?
Just three: Conversion Type (ga4wp_conversion_type), Subscription ID (ga4wp_subscription_id), and Subscription Renewal Count (ga4wp_subscription_renewal_count). The subscription dimensions only fire if WooCommerce Subscriptions is active. The remaining eight describe content and visitor identity rather than the transaction itself.