GA4 Portfolio Callback Attribution Tracker

GOAL

RESULT

PROJECT DURATION

The goal of this project was to build a GA4, GTM, and Looker Studio tracking system for my portfolio website.

The main question was:

Which traffic sources generate meaningful callback requests?

A portfolio website can receive visitors from a CV, LinkedIn, Upwork proposal, email signature, Tableau Public, GitHub, or direct visits. Without tracking, it is difficult to know which source creates real interest.

This project turns portfolio traffic into measurable analytics by tracking both website engagement and callback request submissions.

The final result is a two-page Looker Studio dashboard connected to Google Analytics 4.

The dashboard tracks:

  • Active users
  • Sessions
  • Page views
  • Callback requests
  • Traffic source / medium
  • Campaign performance
  • Callback requests by landing page
  • Top portfolio pages
  • Website events
  • Device and country activity

The system successfully tracked UTM traffic such as:

  • cv / pdf
  • linkedin / profile

It also captured the custom GA4 event:

callback_form_submit

Looker Studio Dashboard:
https://datastudio.google.com/s/ra-EC85ilSs


 

This end-to-end portfolio project was completed in June 2026.

Interactive Dashboard – Callback Attribution Overview

Open Full Looker Studio Dashboard: https://datastudio.google.com/s/qBUucS72Hcs

Interactive Dashboard – Website Engagement Overview

Open Full Looker Studio Dashboard: https://datastudio.google.com/s/qBUucS72Hcs

Business Problem

Portfolio websites usually show projects and contact information, but they often do not answer an important question:

Where do interested visitors come from?

A visitor may arrive from LinkedIn, a CV PDF, an Upwork proposal, or a shared project link. If these visits are not tracked properly, it is hard to understand which channel creates the most valuable traffic.

This project solves that problem with UTM tracking, GA4 event tracking, GTM trigger logic, and a Looker Studio dashboard.


Tracking Architecture

The tracking flow works like this:

UTM link → Portfolio website → Callback form → Redirect URL → GTM trigger → GA4 event → Looker Studio dashboard

After a successful form submission, the user is redirected to a confirmation URL containing:

callback_submitted=1

Google Tag Manager detects this URL parameter and sends a custom GA4 event:

callback_form_submit

This makes the callback request measurable inside GA4 and Looker Studio.


GA4 and GTM Setup

Google Tag Manager was installed on the WordPress website using GTM4WP.

The setup included:

  • GA4 base tag firing on all pages
  • URL query variable for callback_submitted
  • Page view trigger for successful callback submissions
  • GA4 event tag for callback_form_submit

The event was tested in GTM Preview mode and verified in GA4 Realtime reports.


UTM Strategy

A UTM tracking workbook was created to organize portfolio links for different channels.

Example CV tracking link:

utm_source=cv
utm_medium=pdf
utm_campaign=data_analyst_cv

Example LinkedIn tracking link:

utm_source=linkedin
utm_medium=profile
utm_campaign=portfolio_view

This allows the dashboard to show sources such as:

  • cv / pdf
  • linkedin / profile
  • upwork / proposal
  • email / signature

Looker Studio Dashboard

The dashboard has two pages.

Page 1 – Callback Attribution Overview

This page focuses on lead attribution.

It shows:

  • Active users
  • Sessions
  • Page views
  • Callback requests
  • Traffic source performance
  • Callback requests by campaign
  • Callback requests by source / medium
  • Callback requests by landing page

This page answers:

Which source or campaign generated callback requests?

Page 2 – Website Engagement Overview

This page focuses on user behavior before conversion.

It shows:

  • Top portfolio pages
  • Website event activity
  • Scroll events
  • Users by country
  • Users by device

This page answers:

How do visitors explore the website before taking action?


Key Insights

The dashboard confirmed that the tracking system works end to end.

Key results:

  • The custom event callback_form_submit was captured successfully.
  • CV traffic appeared as cv / pdf.
  • LinkedIn traffic appeared as linkedin / profile.
  • Website events such as page views, scrolls, session starts, and form starts were visible in Looker Studio.
  • Callback requests could be analyzed by source, campaign, and landing page.

Some testing traffic appeared as tagassistant.google.com / referral, which is expected because GTM Preview was used during implementation.


Limitations

The current dashboard includes early test data, so the numbers should be interpreted as implementation proof rather than mature marketing performance.

The system also depends on consistent UTM link usage. If a user visits the website through a plain link, GA4 may classify the visit as direct, referral, or not set.

WPForms Lite does not support the same hidden field features as paid form tools, so UTM values are not stored inside individual form submissions. Instead, the project tracks successful callback requests as GA4 events.

No personal form data is sent to GA4.


Tools Used

  • Google Analytics 4
  • Google Tag Manager
  • Looker Studio
  • WordPress
  • Elementor
  • WPForms
  • Google Sheets / Excel
  • UTM parameters
  • GA4 Realtime
  • GTM Preview / Tag Assistant

Conclusion

This project shows how a personal portfolio website can become a measurable lead attribution system.

Instead of only tracking page views, the dashboard tracks where visitors come from, how they interact with the website, and whether they submit a callback request.

The project demonstrates practical skills in:

  • GA4 event tracking
  • GTM trigger setup
  • UTM campaign tracking
  • Looker Studio dashboarding
  • Website engagement analysis
  • Marketing attribution reporting

A portfolio should not only display work. It should also measure which channels create attention and action.

GitHub
hberksafak's Blue Github Chart
Tableau
Kaggle
Copyright © | 2023 by Hasan Berk Şafak
Scroll to Top