taggdbyToolproof™
The fruits of your labour

See your tagged links working in Google Analytics

Tagging links is the effort. This is the payoff: a report that shows every campaign, where its visitors came from, and what they did next.

No setup needed

The 60-second check

Any Google Analytics 4 property can show campaign results straight away. Data appears within about 24 hours of the first tagged visit.

  1. In Google Analytics, go to Reports Acquisition Traffic acquisition.
  2. Above the table, click the dimension dropdown (it says Session primary channel group) and choose Session campaign.
  3. Click the + next to it and add Session source / medium as a second column.
  4. Read across to Key events. Those are the bookings, enquiries or sales each campaign produced.

Testing a new link? Open it on your phone, then check Reports Realtime. Your visit should appear with your source and campaign within a minute or two.

One-off setup · about 30 minutes

Build the Campaign Performance report

Toolproof does this with you once per Google Analytics property. You need Editor access or higher. After that, the report sits in your left-hand menu for everyone on your team.

1

Check what counts as a result

A campaign report is only as useful as the results it counts. Go to Admin Data display Events and make sure the actions that matter are marked as key events. Examples: generate_lead for form submissions, a booking confirmation, a ticket click-out or purchase.

If nothing important is marked, stop here and fix that first. Toolproof's measurement check covers this.

2

Add an Offline / Print channel

GA4 has no channel for flyers and QR codes, so those visits would land in Unassigned. Create a custom channel group that fixes this:

  1. Admin Data display Channel groups. Next to Default Channel Group, open the menu and choose Copy to create new.
  2. Name it Toolproof Channels.
  3. Click Add new channel and name it Offline / Print. Set the condition to Medium, matches regex, ^(print|qr)$. Save the channel.
  4. Click Reorder and drag Offline / Print above Unassigned. Save the group.
  5. Back on the Channel groups list, set Toolproof Channels as the primary channel group so standard reports use it.

Channel groups also apply to past data, so earlier QR visits will move out of Unassigned too.

3

Create the report

  1. Go to Reports Library (at the bottom of the reports menu). Click Create new report Create detail report Traffic acquisition to start from that template.
  2. Dimensions: remove the others (including any marked (archived dimension)) and keep or add, in this order: Session campaignSession source / mediumSession sourceSession primary channel group Set Session campaign as the default. The report editor doesn't offer the utm_content dimension, so compare posts and creatives in the exploration in step 5 instead.
  3. Metrics: SessionsEngaged sessionsEngagement rateKey eventsSession key event rateTotal revenue Leave out revenue if the client doesn't sell online.
  4. Filter: add a filter on Session campaign, set the match type to does not match regex, and enter ^\((not set|organic|direct|referral)\)$. That hides GA4's untagged buckets (not set), (organic), (direct) and (referral), so only tagged campaigns are listed.
  5. Above the table, click the + next to the Session campaign column heading and add Session source / medium as a second column, so each campaign is split by where it ran.
  6. Under Report data, rename the report Campaign Performance. Click Save Save as a new report.
4

Put it in the menu

  1. In Library, on the Life cycle collection card, click Edit collection.
  2. Drag Campaign Performance into the Acquisition topic, directly under Traffic acquisition. Click Save Save changes to current collection.
  3. If the collection isn't published yet, open its menu on the Library page and choose Publish.

Everyone with access to the property now sees Acquisition Campaign Performance.

5

Optional: compare creatives with an exploration

To compare versions within a campaign (reel vs carousel, flyer vs newspaper), go to Explore Free form.

  1. Import the dimensions Session campaign, Session manual ad content and Session source / medium, and the metrics Sessions, Engagement rate and Key events. Session manual ad content is where GA4 stores utm_content; type manual in the dimension search to find it.
  2. Rows: Session campaign, then Session source / medium, then Session manual ad content. Values: the three metrics.
  3. Filter: Session campaign does not exactly match (not set).
  4. Name it Campaign × Content and share it (top right) so the rest of the team can open it.
The monthly habit

Five minutes, four questions

Open Campaign Performance, set the date range to last month, and sort by Key events.

  • Which campaign produced the most results, not just the most visits?
  • Within that campaign, which source / medium did the work? Do more of that next time.
  • What got visits but no results? A low engagement rate usually means the post and the page don't match.
  • Is Unassigned or Direct still large? Some links are going out untagged. Find them and add them to your link builder.

Why short-link clicks and GA4 visits don't match

Your link builder counts every tap on a short link. Google Analytics only records visitors who accept cookies, don't block tracking, and stay long enough for the page to load. Bots and link previews also tap links. Expect GA4 to show fewer visits. Use short-link clicks for reach and GA4 for results.

Want this set up for you?

Toolproof sets up the report, the Offline / Print channel and your private link library, then walks your team through the habit.