2 ways to track clicks with Google Analytics 4

This article shows you how to track the clicks that are most important to your business in Google Analytics 4 (GA4), using either built-in features or Google Tag Manager (GTM).

Table of contents
  1. But first… why even track clicks?
  2. Which tracking method fits your needs?
  3. Option 1: Track clicks with Enhanced Measurement
  4. Option 2: Track custom clicks with Google Tag Manager
  5. What if something is not working?
  6. Common tracking scenarios
  7. What to avoid in click tracking
  8. Final thoughts

Do you really know which buttons and links people are clicking on your website? GA4 has two ways to help you figure this out, so the best option really depends on what you’re trying to track.

Enhanced Measurement (GA4’s built-in feature) is good for simple things like file downloads or external link clicks. But if you want to track specific elements, like a “Book call” button or a promotional banner, you’ll have to use Google Tag Manager. Let’s go through both methods, so you can be sure which to use and when.

But first… why even track clicks?

Finding out what visitors click on shows you what they’re interested in, and what’s working or failing in your strategy. Wouldn’t you like to be certain your main call-to-action button is actually driving conversions, or if it’s being ignored? Or if the special offer banner you made to be eye-catching is truly seen?

Each click represents a decision by the visitor, and understanding those choices helps you:

  • Optimize what’s working

    Imagine you have “Book call” buttons in three locations: hero section, sidebar and footer. The hero placement gets 10 times more engagement than the footer, so now you know: either move the footer button to a better location, or test different copy there.

  • Fix what’s not working

    If your “Book call” button gets 12 clicks per 1000 page views, that’s a 1.2% click rate. Knowing that industry benchmarks suggest 3-5% for similar CTAs, something would definitely be wrong. Low click rates on important elements might mean poor placement, unclear copy, or design issues.

  • Measure campaign effectiveness

    Let’s say you’re running two promotional banners: one for a whitepaper download, one for a webinar signup. After two weeks, the whitepaper banner has 350 clicks while the webinar banner has 90. Both got equal placement and traffic. This data tells you which content format resonates with your audience, so in the future, you can prioritize downloadable resources over live events because you have evidence that it works best.

Which tracking method fits your needs?

GA4’s Enhanced Measurement handles common click scenarios automatically. It tracks when someone downloads a PDF from your website or clicks a link that takes them to another domain. All you have to do is turn it on once, and it works across your entire website.

But here’s what Enhanced Measurement can’t do: track clicks on specific buttons, internal navigation elements, or promotional banners. For those, you need Google Tag Manager’s custom triggers, which let you track any element by targeting its unique attributes.

In other words, use Enhanced Measurement if you need:

  • File download tracking (common file types like PDFs, spreadsheets, documents, and media files).
  • Useful context captured automatically, including parameters like link_url, link_domain, link_classes, or link_id.
  • Outbound link clicks.
  • A quick setup with no custom configuration.

Or use Google Tag Manager if you need:

  • Specific button tracking (like “Add to cart” or “Book call”).
  • Internal link clicks (navigation, sidebar links, footer elements).
  • Custom event parameters beyond what GA4 provides.
  • Tracking elements that aren’t traditional HTML links.

Quick insight: most websites end up using both. Enhanced Measurement handles the basics, and GTM tracks business-critical interactions.

Option 1: Track clicks with Enhanced Measurement

To enable Enhanced Measurement in GA4, follow these steps:

  1. Go to Admin > Data collection and modification > Data streams > select your web data stream.

GA4 Admin panel showing Data collection and modification > Data streams menu

  1. Right at the top, you’ll see the Enhanced Measurement section with a toggle switch. If it’s already on, great. If not, turn it on. You can also click the gear icon to customize which events are tracked.

GA4 web data stream showing the Enhanced Measurement section with toggle switch and gear icon

  1. You can toggle individual events on or off. Make sure you Save in the end.

Enhanced Measurement settings panel showing individual event toggles and Save button

For outbound link tracking, there’s another important configuration: if your business operates across multiple domains, you need to tell GA4 which domains are yours. To do that:

  1. Back in the web stream details, scroll down to the Google tag section and click Configure tag settings.

GA4 web stream details showing the Google tag section with Configure tag settings option

  1. Under Settings, click Configure your domains.

Google tag settings panel showing Configure your domains option under Settings

  1. Add all your domains and save. This prevents GA4 from treating navigation between your own websites as outbound clicks.

Configure your domains panel with domain entries and save button

That’s it. Once enabled, GA4 starts collecting these clicks immediately.

Option 2: Track custom clicks with Google Tag Manager

GTM gives you precise control over which clicks you track and what data you capture. As an example, we’ll walk through tracking “Book call” button clicks, but the same process works for any element on your website.

The six-step workflow:

Every GTM click tracking setup follows the same pattern:

  1. Enable a click trigger.
  2. Enable click variables.
  3. Find your element’s unique identifier.
  4. Create a precise trigger.
  5. Build a GA4 event tag.
  6. Test before publishing.

Let’s work through each step.

Step 1) Enable a click trigger

GTM doesn’t track clicks by default, so you need to tell it to start listening. To do that:

  1. Go to Triggers > New.

GTM Triggers panel with New button highlighted

  1. Click Trigger Configuration > Select either Just Links (if you’re tracking standard links) or All Elements (if you’re tracking buttons or other elements) > select All Clicks.

GTM Trigger Configuration panel showing Just Links and All Elements options

  1. Name it something like “All Link Clicks” or “All Element Clicks” and save it.

GTM trigger naming field with All Link Clicks entered and save button

Step 2) Enable click variables

To turn on all click-related variables:

  1. Go to Variables > Configure in the Built-in Variables section.

GTM Variables panel showing the Configure button in the Built-in Variables section

  1. Enable all the variables under the Clicks category. Now GTM will populate these variables with information about each click.

GTM Built-in Variables panel with all Clicks category variables enabled

Step 3) Find your element’s unique identifier

You’ll now use Preview mode to identify your target element (e.g., a “Book call” button):

  1. In GTM’s interface, click Preview at the top left.

GTM interface with Preview button highlighted at the top left

  1. When Tag Assistant opens up, enter your website URL and click Connect.

Tag Assistant showing website URL input field and Connect button

  1. Once Preview mode loads, go to the website page with your target element and click it. Back in the Preview panel, you’ll see a Link Click or Click event appear. Click on it, then go to the Variables tab.

GTM Preview panel showing a Link Click event selected and Variables tab

  1. Look through the click variables to find something unique that identifies your element. Common identifiers include:
    • Click ID (the id attribute in HTML).
    • Click Classes (CSS classes).
    • Click Text (the button’s visible text).
    • Click URL (for links).

In this example, the “Book call” button has Click URL. Take note of the value, since you’ll need it for the next step.

GTM Variables tab showing Click URL value for the Book call button

Step 4) Create a precise trigger

Now you’ll create a trigger for that specific element:

  1. In GTM’s interface, go back to Triggers and click New.

GTM Triggers panel showing the New button

  1. Choose the same type you enabled in Step 1 (Just Links or All Elements).

GTM Trigger Configuration panel showing Just Links and All Elements options

  1. This time, before saving it, select Some Clicks instead of All Clicks. Add a condition using the identifier you found in Step 3 (e.g., Click URL contains /book-call).

GTM trigger configuration showing Some Clicks selected and a condition added for Click URL

  1. Name your trigger something descriptive, like “Book Call Button Click”, and save it.

GTM trigger naming field with Book Call Button Click entered

Step 5) Build a GA4 event tag

Before actually creating the tag, you need to set up a constant variable for your Measurement ID (instead of hardcoding it in every tag):

  1. Go to Variables > User-Defined Variables > Click New.

GTM Variables panel showing User-Defined Variables section with New button

  1. Under Variable Configuration, choose Constant.

GTM Variable Configuration panel with Constant option selected

  1. In Value, paste your GA4 Measurement ID (find it in GA4 under Admin > Data collection and modification > Data streams > your web stream).

GTM Constant variable configuration showing the Value field with GA4 Measurement ID

  1. Name the variable “GA4 Measurement ID” and save.

GTM variable naming field with GA4 Measurement ID entered and save button

  1. Now create your tag. Go to Tags > New > Tag Configuration > Google Analytics > Google Analytics: GA4 Event.

GTM Tags panel showing New button and Tag Configuration options

GTM Tag Configuration panel showing Google Analytics GA4 Event option selected

  1. Pick your Measurement ID variable from the list and enter your event name. We recommend using lowercase with underscores, like book_call_click.

GTM GA4 Event tag showing Measurement ID variable selected and event name field

  1. Now add some event parameters to give you more context about the click. Expand the Event Parameters section and click Add Parameter.

GTM GA4 Event tag showing Event Parameters section with Add Parameter button

  1. Add whatever makes sense for your tracking plan and helps you understand the interaction, but useful ones to include are:

    • link_url with value {{Click URL}}
    • link_text with value {{Click Text}}
    • page_location with value {{Page Path}}

    You can send up to 25 custom parameters per event.

GTM Event Parameters section showing link_url, link_text, and page_location parameters added

  1. Under Triggering, assign your “Book Call Button Click” trigger to this tag.

  2. Name your tag something clear like “GA4 Event – Book Call Click” so you can easily find it later in GTM, and save.

Step 6) Test before publishing

Your tag is now configured, but don’t publish it yet. Testing catches problems before they reach your live data, so first make sure everything is running smoothly:

  1. Refresh Preview mode and click your target element.
  2. Check the Preview panel to confirm your tag fires.
  3. Then open GA4’s DebugView (Admin > Data display > DebugView) and verify the event appears with all its parameters.
  4. Once everything looks right, click Submit in GTM’s interface (at the top right) to publish your changes.
  5. Optionally, after you publish your GTM changes, go to GA4 > Reports > Realtime overview. Click around on your website and you should see your custom event appear there too.

Keep in mind: standard parameters like link_url appear in GA4 reports automatically, but if you created custom parameters (like page_location), you’ll need to register them as custom dimensions in GA4. We go through the steps of this process in articles like “Google Analytics 4 setup checklist for new adopters” or “Key event rate in GA4: what it measures and what it misses”.

What if something is not working?

Don’t freak out if data is not showing up properly. Below are common issues that may come up at this point, and ways to diagnose them.

1) The tag doesn’t fire

Your trigger conditions might be too strict or the click variables aren’t matching. Go back to Preview mode and click the element again. Then look at the Variables tab. Do the actual values match your trigger conditions exactly? Are all letters capitalized the same way? Did you add “https://” at the beginning of the link? Either adjust your trigger condition to match the actual variable value, or switch to a different identifier. If Click Classes isn’t reliable, try Click ID or Click URL instead.

2) The event appears in DebugView but the parameters are missing

Check two things: (1) in your GA4 tag, are you wrapping variable names in double curly braces? It should be {{Click URL}}, not Click URL; (2) in Preview mode, click on your fired tag and look at the Variables section. Do the variables you’re referencing actually have values? If Click Text is blank in Preview mode, it’ll be blank in GA4 too. So, switch to a different variable that actually captures data. Go back to your tag configuration and verify every parameter is using the correct variable syntax.

3) Multiple tags fire

In this scenario, you probably have overlapping trigger conditions. For example, one trigger fires on “All Link Clicks”, while another trigger fires on “Click URL contains X”. Both conditions are true for your link, so both tags fire. To solve this, first ask yourself: are these conditions mutually exclusive, or could multiple be true at once? Then make your triggers more specific, or use trigger exceptions (e.g., “Click URL does NOT contain X”).

4) The event shows in DebugView but not in Realtime reports

DebugView and Realtime reports use different data sources. This usually means that DebugView is working because you have Preview mode enabled, but your GTM container hasn’t been published yet, so real-time traffic doesn’t see the tags. To fix this, click Submit in GTM to publish your container. Wait a couple of minutes, then test again without Preview mode.

5) Parameters show in DebugView but not in custom reports

If you see your custom parameter in DebugView but it’s not available when building reports, you haven’t registered it in GA4 as a custom dimension yet. Go to Admin > Data display > Custom Definitions and register it. Allow up to 24 hours for data to populate.

Common tracking scenarios

Now that we’ve covered both options to track clicks in GA4, let’s look at how to apply these methods to specific situations:

  • Tracking multiple similar buttons

    If you have several “Add to cart” buttons, for example, across product pages, you don’t need separate events for each one. Create a single add_to_cart_click event and use parameters to differentiate them. You can add parameters like: product_name (using a variable that captures product info) or button_location (to show which page the click happened on).

  • Tracking promotional banners

    Banners often use background images with click handlers rather than standard links. Use the “All Elements” trigger and look for a unique class or ID on the banner container. Send parameters like banner_position (header, sidebar, footer) and banner_campaign to understand which promotions drive engagement.

  • Email and phone clicks

    Track “mailto:” and “tel:” links by creating a trigger where Click URL contains “mailto:” or “tel:”. These are technically outbound clicks, but GA4’s Enhanced Measurement might not catch them depending on how they’re coded.

  • Internal navigation

    If you want to understand how people use your main menu or footer links, create a trigger based on a shared class that those links have. Use the link_text and link_url parameters to see which menu items get the most clicks.

What to avoid in click tracking

Tracking clicks seems straightforward, but there are a few unnecessary actions that may lead to chaotic data:

  • Don’t track everything

    The goal is simply to get valuable insights, not to capture exhaustive information. If you can’t explain why you need certain data, you probably don’t need to track it.

  • Don’t use unstable identifiers

    CSS classes often change during website redesigns. If possible, coordinate with your developers to add permanent IDs to important elements.

  • Don’t send the same parameter in different events with different meanings

    If button_type means one thing in your book_call_click event and something else in your newsletter_signup event, your reports will be confusing.

  • Don’t forget to document your tracking

    Six months from now, you won’t remember why you’re tracking a specific element or what the parameter names mean. Keep detailed notes on your tracking plan.

Final thoughts

Click tracking in GA4 is about understanding the interactions that drive business decisions, so it comes down to choosing the right tool for the job: either Enhanced Measurement to handle common scenarios automatically, or Google Tag Manager to achieve precision.

Invest in a good setup now, and in a few months or years, when you’re deciding whether to redesign your homepage or trying to figure out why conversions dropped last quarter, you’ll have real data to guide you. Click tracking is only valuable if you can actually interpret the data when it’s time to make decisions.

Ready when you are

Send us the account. We'll tell you what it's costing you.

A POAS Readiness Check ends with a written report + prioritized fix list. €500. Zero obligation.

Book an audit →