This guide covers outbound link tracking — how to measure when visitors click a link that sends them off your site. It is a small setup with a big payoff, and GA4 handles most of it automatically. We will focus on getting a working, verified configuration, not theory.
If you are new to web analytics, outbound clicks are an easy first custom signal to understand. If you already use a tag manager, you can add precise control over which links count and what data you collect.
- An outbound link click is when a visitor clicks a link that leads to a different domain than yours
- GA4 Enhanced Measurement tracks these automatically as a
clickevent withoutbound: true - For control over which links count — or to track specific internal links — use a Google Tag Manager click trigger
- The destination URL is captured in the
link_urlparameter, so you can see exactly where people go - Validate in GTM Preview and GA4 DebugView before trusting the data
What Is an Outbound Link Click?
An outbound link click happens when a visitor clicks a link that takes them to a different domain. If a reader on your site clicks through to an external resource, a partner, or a social profile, that is an outbound click.
This is worth measuring because outbound clicks are often a sign of intent or trust. They tell you which references readers follow, which partners get traffic from you, and where attention leaks off the page before a conversion.

Option 1: GA4 Enhanced Measurement (automatic)
GA4 tracks outbound clicks out of the box. As long as Enhanced Measurement is enabled, every click to an external domain fires a click event.
- In GA4, open Admin → Data Streams and select your web stream.
- Click Enhanced Measurement.
- Confirm Outbound clicks is enabled.
The event GA4 collects looks like this:
// Automatic GA4 outbound click event
Event name: click
Parameters:
link_url = https://example.com/resource
link_domain = example.com
outbound = true
Enhanced Measurement only counts links to different domains. Internal links and same-domain navigation are not included. If you need to track an internal link click, use the GTM approach in Option 2.
Option 2: Google Tag Manager (full control)
Use GTM when the automatic event is not enough — for example, when you want a clean event name, want to track specific internal links, or want to exclude certain link types.
Step 1 — Enable the Click variables
- Go to Variables → Configure.
- Enable the Click variables, especially Click URL, Click Text, and Click Element.
Step 2 — Create a Click trigger
- Go to Triggers → New and choose Click – Just Links.
- Set it to fire on Some Link Clicks.
- Add a condition such as
Click URLdoes not containyourdomain.com. This isolates outbound links. - Optionally enable Wait for Tags so the event sends before the browser navigates away.
- Name it Click – Outbound and save.
Step 3 — Send a GA4 event
// GA4 Event tag configuration (conceptual)
Event name: outbound_click
Parameters:
link_url = {{Click URL}}
link_text = {{Click Text}}
Trigger: Click - Outbound
If you run both Enhanced Measurement outbound clicks and a custom GTM outbound_click event, you are collecting two separate events. That is fine as long as you use different event names — just decide which one you report on so you do not double-count.
The Navigation Race (an edge case worth knowing)
When a user clicks an outbound link, the browser starts loading the new page immediately. Sometimes it navigates away before the analytics request finishes. This causes missing outbound events.
- If links open in the same tab — enable Wait for Tags on the trigger, or rely on GA4’s automatic outbound tracking, which is built to handle this.
- If links open in a new tab (
target="_blank") — the current page stays open, so the event has time to send. No special handling needed.
If outbound clicks seem under-reported in a custom setup, the navigation race is the usual cause. GA4’s built-in outbound tracking already accounts for this, which is one reason Enhanced Measurement is the safer default.
Debugging: Verify Before You Trust It
- GTM Preview mode. Click an outbound link and confirm your trigger fires.
- GA4 DebugView. Confirm the click event arrives with the correct
link_url. - Check internal links. Make sure same-domain links are not firing the outbound event by mistake.
- Test in Realtime. As a final live check, click a link and watch the event appear under event count.
Common Mistakes
- Counting internal links as outbound. Always exclude your own domain in the trigger condition.
- Forgetting subdomains. A link to
blog.yourdomain.commay count as outbound unless you handle subdomains in the condition. - Double-counting. Running automatic and custom outbound tracking with the same event name inflates totals.
- Ignoring the navigation race. Same-tab links can lose events if tags do not fire in time.
Wrap-Up
Outbound link tracking is one of the highest-value, lowest-effort signals you can add. For most sites, GA4’s automatic Enhanced Measurement is enough — it captures the destination and handles the navigation race for you. Move to a Google Tag Manager click trigger only when you need a custom event name, specific internal-link tracking, or tighter filtering. Either way, validate in Preview, DebugView, and Realtime before you rely on the numbers.
Frequently Asked Questions
Does GA4 track outbound links automatically?
Yes, if Enhanced Measurement’s “Outbound clicks” option is enabled. GA4 fires a click event with the destination in link_url and outbound: true whenever a visitor clicks a link to another domain.
Can I track clicks on internal links too?
Not with Enhanced Measurement, which only covers external domains. To track internal link clicks, set up a click trigger in Google Tag Manager that matches the internal links you care about and send a custom GA4 event.
Why are some outbound clicks missing?
Usually the navigation race: the browser leaves the page before the event finishes sending. GA4’s built-in outbound tracking handles this. In a custom GTM setup, enable “Wait for Tags” or use links that open in a new tab.
Do links to my own subdomain count as outbound?
It depends on your configuration. By default a different subdomain can be treated as a separate domain. Decide whether you want subdomain links counted, and set your trigger conditions (or domain configuration) accordingly.
Need Help With Your Analytics Setup?
Whether you are implementing GA4, setting up consent management, or building custom tracking solutions, I can help you get it right the first time.