Google Analytics 4 is free, works on WordPress, and tells you a lot about your site visitors. It also has a specific limitation that service businesses and lead-generation sites run into constantly: it tracks sessions and events, not individual leads. Understanding what GA4 shows you — and where it stops — determines whether you’re making decisions based on real data or on aggregate numbers that mask what’s actually working.
How to Install Google Analytics 4 on WordPress
There are two paths for GA4 installation on WordPress:
Via Google Tag Manager (Recommended)
Installing GA4 through Google Tag Manager is the better long-term setup. GTM is a container that sits between your WordPress site and every analytics or tracking tag you want to fire. Instead of adding separate code snippets to your WordPress site for GA4, Google Ads conversion tracking, Facebook Pixel, LinkedIn Insight Tag, and every other platform, you install GTM once and manage everything from the GTM interface.
- Create a GTM account and container at tagmanager.google.com if you don’t have one.
- Install the GTM WordPress plugin (by Google) or manually add the GTM code to your theme’s header.php and body (the two-snippet install GTM provides). The plugin approach is simpler and doesn’t break on theme updates.
- In GTM, create a new Tag of type “Google Analytics: GA4 Configuration” and enter your Measurement ID (format: G-XXXXXXXX, found in GA4 under Admin > Data Streams > your stream).
- Set the trigger to “All Pages.”
- Publish the GTM container. GA4 is now receiving data.
Direct Plugin Installation
If you prefer a simpler setup without GTM, plugins like Site Kit by Google or MonsterInsights connect GA4 to WordPress directly. Site Kit is Google’s own plugin and handles the GA4 connection plus optional integration with Google Search Console and AdSense. MonsterInsights is a third-party plugin with a more user-friendly dashboard that surfaces GA4 data directly inside your WordPress admin. Both work; the GTM approach is more flexible as you add other tracking tools.
What Google Analytics 4 Shows You on WordPress
Once installed, GA4 collects several categories of data that are immediately useful:
Traffic by Source and Medium
GA4’s Acquisition reports show how visitors are arriving at your WordPress site: organic search, paid search, social, direct, email, or referral. This is session-level data — each visit is categorized by where it came from. If you’re running Google Ads, you’ll see cpc / google as a session source; email campaigns with UTM tags show up as their source/medium combination.
Page Performance
Which pages get the most views, which pages have the highest engagement rate, which pages have the highest scroll depth. For a WordPress blog or service site, this tells you which content is resonating and which pages are dead ends.
Conversion Events
GA4 can track form submissions as conversion events. When a visitor submits your contact form, GA4 fires an event, and you can mark that event as a conversion in GA4’s interface. The Conversion report then shows how many conversions happened in a period, and the Traffic Acquisition report shows which session sources drove those conversions.
This is where GA4 is genuinely useful for WordPress lead-gen sites: you can see that organic search drove 40 form submission events last month and paid search drove 15. That’s real signal for marketing allocation.
Where GA4 Has Limits for WordPress Lead Generation
GA4 works at the session level. Every data point it reports is aggregated across sessions — it doesn’t tell you about individual contacts, which specific lead came from which specific campaign, or what happened to a lead after they submitted a form.
No Lead-Level Attribution
GA4 can tell you: “35 conversions happened last month from organic search.” It cannot tell you: “Contact Jane Smith who submitted your form on Tuesday came from the Google Ad for your spring campaign and clicked keyword ‘kitchen remodeling quote’.” Each submission is a data point in an aggregate; the individual contact has no source attached in your CRM or email platform unless you separately capture that data and send it with the form.
For businesses where individual lead quality matters — high-ticket services, B2B, professional services — the aggregate is insufficient. A channel that produces 30 leads with a 5% close rate is outperforming one that produces 50 leads with a 2% close rate, and you can’t see that from GA4’s conversion count alone. You need lead-level source data attached to each contact in your CRM to make that comparison.
Cross-Session Attribution Limitations
GA4’s default session source attribution assigns each session to its entry channel. If a visitor comes to your site from a Google Ad, leaves, returns later from a direct visit, and converts on the second session, GA4 by default attributes the conversion to “direct” — the last session source. The Google Ad that originally brought them gets no credit.
GA4 has data-driven attribution modeling that distributes credit across touchpoints, but it requires sufficient conversion volume to activate (approximately 50-150 conversions per month depending on the model) and only works within GA4’s own reporting — it doesn’t push that attribution back to your CRM contact records.
Phone Calls and Offline Conversions
GA4 tracks form submissions when properly set up. It doesn’t track phone calls unless you implement call tracking software that fires a GA4 event when a tracked number is called. For service businesses where a significant portion of leads call rather than submit a form, GA4 alone undercounts conversions and understates certain channels (phone calls from Google Ads are a common undercounting case).
Setting Up GA4 Conversion Tracking on WordPress Forms
To get conversion data from your WordPress contact or lead forms in GA4:
Thank You Page Method
If your form redirects to a specific thank-you page after submission (e.g., yoursite.com/thank-you/), create a GA4 event trigger in GTM that fires on that page URL. Mark the event as a conversion in GA4. Every visit to the thank-you page is a form submission. Simple to implement and reliable, as long as form spambots aren’t hitting the thank-you URL directly (rare but worth filtering).
GTM Form Submission Trigger
GTM has a built-in Form Submission trigger type. Configure it to fire on your specific form (matched by form ID or class), then attach a GA4 Event tag that fires on that trigger. This works without a redirect and captures submissions that stay on the same page. Slightly more technical to configure than the thank-you page method but more flexible when multiple forms point to the same confirmation message.
Form Plugin Native Integration
Gravity Forms, WPForms, and Fluent Forms have native Google Analytics integration add-ons or settings that push a GA4 event on form submission. These are simpler to configure than manual GTM triggers and work reliably with those specific plugins. The limitation is that they fire at the form level, not the individual-field level — you don’t get granularity on which form field values were submitted alongside the event.
Combining GA4 with Lead-Level Attribution
The most complete WordPress analytics setup uses both: GA4 for aggregate session-level reporting and a first-party attribution layer for lead-level source data.
GA4 answers: “Which channels are driving traffic and aggregate conversions?”
Lead-level attribution answers: “Which specific leads came from which channel, and which of those leads turned into customers?”
Together, you can see not just that paid search drove 15 form submissions last month, but that 8 of those 15 became actual customers while organic search’s 40 submissions produced only 4 customers — an insight that changes where you invest your marketing budget entirely.