To set up GA4 and Google Tag Manager for a landing page, install the Tag Manager container on the site, add your GA4 tag inside it, then create events for the actions that matter, such as form submissions, button clicks and scroll depth. Mark the main action as a key event in GA4 and test every event in preview mode before launch. Running everything through Tag Manager keeps tracking out of the theme code, so it can change without a developer.
Why does a landing page need more than the GA4 snippet?
Because page views do not tell you whether the page worked. A landing page exists for one action: a form, a booking, a call or a purchase. You need to know how many visitors took it, where they came from, and what they did on the way.
On Aura Clips the launch work included Google Search Console, GA4 and Tag Manager, so the agency could track conversions in GA4 without outside help. On Raasa I installed Tag Manager later in 2025 for the same reason: the agency could then add analytics and tracking without asking for code changes.
How do GA4 and Tag Manager fit together?
Tag Manager sits on the page and listens. When a trigger matches, such as a click on the Book Now button, it fires the tags you attached: a GA4 event, an ad pixel, a CRM call. GA4 receives the events and reports on them. On Ravens Ait, enquiry forms even sync to HubSpot through Tag Manager.
What should you track on a landing page?
Write this down before opening Tag Manager. A short plan beats a container full of tags nobody reads.
| Event | Trigger | Key event? |
|---|---|---|
| Lead form submitted | Thank-you message shown, or redirect to a thank-you page | Yes |
| Paid booking completed | Payment confirmation page | Yes |
| Primary button clicked | Click on the main call to action | No |
| Phone or WhatsApp tapped | Click on a tel or WhatsApp link | Often yes for local businesses |
| Scrolled to the form | Scroll depth or the form section coming into view | No |
| Popup opened | Popup becomes visible | No |
The service I sell covers GA4 events for forms, buttons and scroll as standard, because those three answer most questions a marketing team asks after a campaign.
How do you set it up step by step?
- 1
Create the containers
A GA4 property with a web data stream, and a Tag Manager container for the site.
- 2
Install Tag Manager once
Add the container snippet to the head and body, through the theme, a builder's custom code setting or a plugin. Remove any old GA snippets so pages are not counted twice.
- 3
Add the Google tag
In Tag Manager, add the Google tag with your GA4 measurement ID, firing on all pages.
- 4
Build the events
One trigger and one GA4 event tag per row of your event plan. Name events consistently, such as generate_lead or book_now_click.
- 5
Set up consent
If you have UK or EU visitors, add a consent tool and Google's consent mode before going live.
- 6
Test in preview
Use Tag Manager's preview mode and GA4's DebugView. Submit every form and click every tracked button.
- 7
Mark key events
In GA4, mark the lead or booking event as a key event.
- 8
Publish and record
Publish the container with a version note and save a test record of what fired.
Why do form submissions not show up in GA4?
This is the most common problem I fix. Tag Manager's built-in form trigger listens for a normal browser form submit. Many WordPress forms, including those in Bricks, Elementor and most form plugins, submit in the background and show a thank-you message without reloading. The built-in trigger never sees it.
Three reliable fixes:
- Track the thank-you message with an element visibility trigger.
- Redirect to a thank-you page and track that page view.
- Listen for the form plugin's own event, if it pushes one to the data layer.
Keep a test record
Before launch I note every event, what triggered it and when it appeared in DebugView. When someone later asks whether tracking was working on launch day, the answer is on paper, not a guess.
What about UTM tags and Search Console?
Tag every campaign link with UTM parameters, so GA4 can separate paid social from email and search. Connect Google Search Console as well. On Aura Clips I set it up at launch alongside GA4 and fixed indexing issues, so the new site replaced the old one in search cleanly. Search Console shows the queries that bring people to the page, which GA4 does not.
For the page itself, the meta title and description decide whether searchers click. My free Meta Tag Generator drafts them, and the Landing Page Roaster reviews your copy before you spend on ads.
How do you get it done?
If you are running HubSpot alongside GA4, read how to add HubSpot forms to WordPress next. I set up tracking on every page I build through my landing pages with GA4, GTM and HubSpot service. Send me the page and the action it exists for, and I will reply with an event plan.



