Article

How to track key conversion events

Set up conversion tracking for real business actions. Track meetings booked, sign-ups completed, key pages visited, and payments made.

Updated 1 September 2026

Article

Set up conversion tracking for real business actions. Track meetings booked, sign-ups completed, key pages visited, and payments made.

Newsletter

One email on Fridays, and nothing else.

  • Practical B2B tips

  • 4-min read on Fridays

  • For anyone in B2B growth

Summary

This lesson explains how to set up tracking for your key conversion events in GA4 using Google Tag Manager. You will learn how to track form submissions, button clicks, and other important actions so you can measure what matters on your website.

When every growth report starts with the same reliable events, debates over attribution disappear. I have watched B2B campaigns double their speed once the team could see which clicks turned into booked meetings and paid invoices without rummaging through five tools.

This chapter shows how to track four high-value conversions: key page visits, form submissions, external bookings, and payments. Each event flows through Google Tag Manager into GA4, carries useful parameters, and appears as a conversion you can trust. Follow the steps in order and you will finish with real-time proof that revenue signals reach your dashboard.

Start with the confirmation page that proves a prospect reached a critical milestone, for example /thank-you or /checkout/success. In Tag Manager create a Trigger of type Page View and set the condition Page Path equals the URL slug.

Add a GA4 Event tag named confirmation_page_view. Leave the configuration tag in place, then add one parameter called page_type with the value confirmation. This flag lets you filter genuine conversions from ordinary views.

Publish the container to staging, visit the confirmation page, and open DebugView in GA4. You should see confirmation_page_view listed with the correct parameter. Toggle the event as a conversion so future reports highlight it automatically.

This simple pattern underpins the more advanced events you will set up next, which begin with forms that collect leads.

Select an important lead form such as newsletter_signup or contact_request. In Tag Manager create a Trigger of type Form Submission and restrict it to the form’s CSS selector. If the form uses JavaScript rather than a native submit, hook the success callback and push a dataLayer event instead.

Add a GA4 Event tag named form_submitted. Include parameters form_name and cta_location so you can test copy and placement later without adding new events.

Publish to staging, submit the form, and confirm in DebugView that form_submitted arrives with both parameters. Then mark it as a conversion in GA4.

With forms flowing inside your own domain, you can capture bookings that happen on external services, which we cover next.

Many marketers book meetings through Calendly or HubSpot. These happen on different domains, so you need cross-domain tracking. The easiest route is a small listener script embedded in the Calendly iframe. Tag Manager listens for the message and fires a booking event.

Create a Custom HTML tag with this script and trigger it on pages where the Calendly iframe appears. For HubSpot Meetings use the built-in webhook to post a JSON payload to your server-side Tag Manager container.

After the tag fires, add a GA4 Event tag named meeting_booked with parameters calendar_name and booking_source. Test in Preview mode, then visit GA4 Realtime to confirm the booking appears. Cross-domain attribution is now intact, making payments the final piece of the puzzle.

Stripe remains the quickest way to log real revenue. In the Stripe dashboard create a webhook that points to your server-side Tag Manager endpoint and listen for checkout.session.completed. Push the following payload to the dataLayer:

{ "event": "service_payment",
"amount": {{amount_total}},
"currency": "{{currency}}",
"plan_type": "{{price_metadata_plan}}"
}

If you do not have a server container yet, redirect successful payments to /checkout/success and reuse the confirmation_page_view pattern. Create a GA4 Event tag named service_payment with the same parameters. Toggle the event as a conversion so revenue appears alongside meetings and form leads.

Verify by running a test payment in Stripe’s test mode, then check GA4 DebugView for service_payment. With payments tracked, your core funnel now reports end-to-end.

You have wired four essential events: confirmation page views, form submissions, external bookings, and Stripe payments. Each one travels through Tag Manager, lands in GA4 with clean parameters, and is marked as a conversion.

These signals form a single source of truth that shows exactly how traffic turns into revenue. In the next chapter we will build GA4 reports that surface these events by channel and campaign, giving you the insight needed to scale with confidence.

More articles

  • Article

    Configure the core settings that affect everything else in HubSpot: timezone, currency, and default properties. Then connect your website and advertising platforms so data starts flowing into your CRM from day one.

  • Article

    Exclude your own IP address from Google Analytics 4. Keep your data accurate and free from internal traffic noise that skews metrics.

  • Article

    Track what matters for growth decisions. Map key conversions, name events with clear conventions, and document tracking specifications.

  • Article

    Install Google Tag Manager and Google Analytics 4 correctly. Get the right foundations in place before tracking any events or conversions.

  • Article

    Build useful GA4 reports once your events are tracked. Understand what's working with funnels, segmentation, and automated reporting.

  • Article

All 22 articles under Event tracking
FAQ

Questions about this topic

Academy

Growth Academy

Start free

A free account opens the first course and keeps your progress.

  • A free course

  • Track your own skills

  • Every playbook you unlock