0

“Foot Surgery Consultation” Leads the Right Way: GTM + GA4 Setup for Service Websites

If you run lead generation for a service business, you already know the biggest headache isn’t getting traffic.

It’s knowing whether the traffic is actually converting.

This becomes even more important in high-intent industries where every lead matters. A perfect example is foot surgery in Perth, where users don’t browse casually. Most people searching are either in pain, have tried home remedies, or have been advised by a doctor and want a specialist consultation.

That means your website should do two things well:

Make it easy to book or enquire

Track enquiries accurately so you know what’s working

But tracking form submissions in 2026 is not as straightforward as it used to be. Most websites use modern AJAX forms, popup forms, embedded booking widgets, or “thank you messages” that appear without reloading the page.

So how do you track real leads properly?

This guide breaks down a clean, practical setup using Google Tag Manager (GTM) and Google Analytics 4 (GA4) so you can track consultation enquiries without inflating conversions or counting failed submissions.

Why “click tracking” is not real conversion tracking

A lot of people still track conversions like this:

Trigger conversion when user clicks “Submit”

Trigger conversion when user clicks “Book Now”

Trigger conversion when user clicks a phone number

These are not bad signals, but they’re not reliable conversion tracking.

Example: What can go wrong?

A user clicks “Submit,” but:

the form fails validation (missing phone number)

the server returns an error

the user closes the tab

the form is blocked by browser privacy settings

In all these cases, the click happened, but the lead didn’t.

If you’re running ads for foot surgery in Perth, inaccurate tracking can burn money quickly because:

you’ll think a campaign is working when it isn’t

you’ll optimize toward fake conversions

your reporting will look great but sales will stay flat

So we need a method that fires only when the form actually succeeds.

The most reliable method: track the success confirmation message

Many contact forms show a success message like:

“Thank you for your message. We will be in touch shortly.”

or:

“Your request has been submitted successfully.”

This is a much better conversion signal because it usually appears only after:

form data is validated

request is sent successfully

server responds with success

This is where Element Visibility trigger in GTM becomes a powerful tool.

Instead of tracking a click, we track the moment the success message becomes visible.

Step 1: Identify the “success message” element

Open the enquiry page on your website.

Submit a test enquiry (use a test email and phone number).

When the success message appears:

Right click on it

Click Inspect

Find the HTML element that contains the message

It might look like:

Thank you for your message. We will be in touch shortly.

Or:

Thanks! Our team will contact you soon.

Best practice

If you have access to a developer, ask them to add a stable ID:

...

IDs are the most stable and easiest selectors to track.

Step 2: Create an Element Visibility trigger in GTM

Go to Google Tag Manager → Triggers → New

Choose Element Visibility.

Set it like this:

Selection Method: CSS Selector

Element Selector: #lead-success-message (or your actual selector like .form-success)

When to fire: Once per page

Minimum Percent Visible: 1%

Observe DOM changes: ✅ Enabled

Why “Observe DOM changes” matters

Most modern forms are AJAX-based, meaning the page doesn’t reload.

The success message often gets injected into the DOM after submission. If GTM isn’t observing DOM changes, the trigger may never fire.

Step 3: Send a GA4 event when the success message appears

Now create the event tag:

GTM → Tags → New → Google Analytics: GA4 Event

Set:

Configuration Tag: your GA4 config

Event Name: generate_lead

This is a recommended GA4 event name and works well for service-based lead tracking.

Add parameters (recommended)

Add these event parameters:

lead_type → foot_surgery_consultation

page_location → {{Page URL}}

page_path → {{Page Path}}

Then attach your trigger: Element Visibility trigger.

Step 4: Test with GTM Preview mode

Before publishing, always test.

Click Preview in GTM.

Submit the form again.

You should see:

Element Visibility trigger fired

GA4 event tag fired

If it doesn’t fire, check:

selector is correct

message appears in the same page (not inside an iframe)

message is not loaded as an image

message is not inside a hidden container

Step 5: Confirm in GA4 DebugView

Open:

GA4 → Admin → DebugView

You should see your event appear in real-time.

If you don’t:

confirm GA4 tag is installed properly

disable ad blockers for testing

confirm GTM container is loading

Step 6: Mark it as a Conversion in GA4

Once the event is working, make it a conversion.

Go to:

GA4 → Admin → Conversions → New conversion event

Add:

generate_lead

Now GA4 will treat this as a conversion.

Common problems (and fixes) Problem 1: The form success message is inside an iframe

If your form is embedded from a third-party booking tool, the success message might be inside an iframe.

GTM can’t easily detect element visibility inside an iframe unless you control the iframe content.

Fix options:

Use a thank you page redirect instead

Use the form tool’s built-in tracking (if available)

Fire a custom JavaScript event from the embedded tool (advanced)

Problem 2: Duplicate conversions (event fires twice)

This happens when:

the message element appears multiple times

the page is a single-page app and re-renders the component

Fix:

“Once per page” enabled

Use a more specific selector

Add a blocking trigger or a cookie-based lock (advanced)

Problem 3: The success message isn’t visible on screen

If the success message appears below the fold, element visibility won’t fire.

Fix:

move the success message near the submit button

auto-scroll to the message after submission

track DOM insertion instead (custom event)

Tracking phone calls and WhatsApp clicks (bonus)

For services like foot surgery in Perth, many conversions happen through:

phone calls

WhatsApp chats

“Book appointment” buttons

You should track these too.

Track click-to-call

Trigger type: Just Links

Condition:

Click URL starts with tel:

Event name:

click_to_call

Track WhatsApp

Condition:

Click URL contains wa.me or whatsapp

Event name:

whatsapp_click

This helps you understand lead behavior beyond forms.

Why this matters for SEO + paid ads

Once your tracking is correct, you can make better decisions like:

Which landing pages convert best?

Which keywords bring real enquiries?

Which campaigns bring low-quality leads?

For example, “foot pain treatment” may bring mixed intent, while “foot surgery consultation” is high intent.

If you’re doing SEO for foot surgery in Perth, accurate conversion tracking helps you measure the real value of your content.

Advanced tip: add UTM tracking to your leads

If you run Google Ads, Meta Ads, or email campaigns, add hidden fields to your form:

utm_source

utm_medium

utm_campaign

utm_term

utm_content

Then store those in your CRM or email notification.

This gives you a clear view of:

which campaign produced the lead

which ad creative worked

which keyword drove the conversion

Final checklist (simple and practical)

Before you publish your setup:

✅ Success message has a stable selector ✅ Element Visibility trigger set to “Once per page” ✅ Observe DOM changes enabled ✅ GA4 event fires only on success ✅ Event visible in GA4 DebugView ✅ Conversion created in GA4

Conclusion

Tracking conversions correctly is one of the most underrated skills in marketing and analytics.

For high-intent services like foot surgery in Perth, you don’t want “almost conversions.” You want real confirmed enquiries.

Element Visibility tracking is one of the cleanest methods when you don’t have a thank you page, and it helps you avoid fake conversions caused by click tracking.

Once you set it up, you’ll be able to trust your numbers and scale your SEO or paid campaigns with confidence.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí