The fastest way for an agency to handle tracking agency link performance is to build every client link inside a workspace with real-time analytics attached, so clicks, countries, devices, and referrers appear the moment traffic arrives. This removes the wait where nobody knows how a campaign is doing until someone logs into GA4 and builds a report. This page shows the exact setup in linkutm.
Free plan available. No credit card required.
A client campaign goes live at 9am and the first question arrives at 9:40: how is it doing? The honest answer at most agencies is that nobody knows yet. Checking means logging into that client's GA4, waiting out processing delays, and building a comparison by hand.
GA4 access itself is a problem for tracking agency link performance day to day. Some clients never grant it, some grant it to one person who is on leave, and processing lag means this morning's launch will not show clearly for hours.
So account managers fall back on screenshots. Numbers get pasted into Slack, age within the hour, and disagree with each other by the afternoon. The client sees polish once a month and silence in between, which is exactly when they wonder what they are paying for.
Answering how is the campaign doing, two ways
| Step | GA4 workflow | linkutm workspace |
|---|---|---|
| Get access | Request or borrow a client login | Open the client workspace |
| Freshness | Hours of processing lag | Clicks appear as they happen |
| Scope to one client | Filter and cross-check by hand | Workspace only holds that client |
Create one workspace per client and build all of that client's links inside it. The workspace is the boundary the analytics inherit, so click data arrives already sorted by account.
This matters more than it looks. When links for eight clients share one list, every performance question starts with filtering, and every filter is a chance to include the wrong link in a client's numbers.
With workspaces in place, the question how is Client A doing has a one-click answer: open Client A's workspace and the numbers on screen belong to them alone.
Build each campaign link with the UTM builder so every click carries its source, medium, and campaign. A short link without parameters tells you it was clicked. A tagged one tells you which channel and creative earned the click.
Want to try a parameter set before wiring it into a client campaign? The free UTM builder tool works without an account.
The payoff shows up in the dashboard: instead of one blended click count, you see the email push and the paid social push as separate lines you can compare mid-flight.
Send traffic through branded short links on the client's own domain, SSL included. Every click passes through linkutm first, which is what makes live counting possible on any channel, including print, podcasts, and dark social where pixels see nothing.
A client-branded domain also lifts trust where it counts. A link that reads go.acme.co gets clicked more readily than a random-string shortener in a paid post.
Each destination now reports clicks from everywhere it is shared, not just the channels your analytics scripts can reach.
Open the client's workspace during a launch and watch clicks, countries, devices, and referrers update as traffic lands. There is no processing window between a click happening and you seeing it.
This changes launch mornings. If the paid social link is quiet at 10am, you know before lunch, not at the end-of-week report. If mobile is 80 percent of clicks and the landing page is slow on phones, you can flag it the same hour.
You get an answer to how is it doing that is current to the minute, on any client, without leaving one tool.
For clients who ask for numbers between reports, add them as a viewer in their own workspace. They see live analytics for their links and only their links, and they cannot edit anything.
This replaces the screenshot loop, and it means you are not sharing GA4 access or your agency's internal views. The client watches their own campaign in their own workspace whenever they like.
The Tuesday any-update-yet email mostly stops arriving, because the client can answer it themselves.
A campaign link you can watch live per channel
| Parameter | Value |
|---|---|
| utm_source | |
| utm_medium | paid_social |
| utm_campaign | acme_webinar_june_2026 |
| utm_content | single_image_v2 |
Clicks are counted at the link, not at the destination, so numbers appear the moment traffic moves instead of after a processing window.
Workspace scoping removes the filtering step. Data arrives pre-sorted by client, which is where most report errors used to enter.
Branded short links measure channels GA4 struggles with, like podcasts, print QR placements, and links shared in private chats.
Viewer roles turn reporting from a weekly artifact into a live view, cutting the back-and-forth that eats account manager hours.
Sharing one raw destination URL across channels. When email, paid, and organic all point at the same untagged URL, the live view can only show a single blended number.
Treating link clicks and GA4 sessions as the same metric. Clicks count at the link, sessions count after the page loads, so the numbers will differ. Present them as two views, not a discrepancy.
Waiting until the monthly report to look at the dashboard. The value of live data is mid-campaign correction, and a stale check turns real-time analytics back into a report.
Giving clients editor access instead of viewer. Clients should watch numbers, not be able to edit a live link's destination by accident.
Build every client link inside its own workspace in a tool like linkutm, then read each workspace's real-time analytics. Clicks, countries, devices, and referrers show per client as they happen, with no GA4 login or processing delay in the way.
Yes. Add the client as a viewer in their workspace. They see live analytics for their own links and nothing else, and they cannot change any link. No GA4 access or shared agency login is involved.
A click is counted when someone follows the link. A session is counted after the page loads and the GA4 tag fires. Slow pages, blocked scripts, and bounced connections all create clicks that never become sessions, so clicks usually run higher.
They give every click a counting point that works on any channel, including ones with no pixel, like print or podcast mentions. They run on the client's own domain with SSL, so the link looks like the client, not like a shortener.
Free plan available. No credit card required.