Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dana DiTomaso- Using GA4 to Surface Technical S...
Search
Tech SEO Connect
PRO
December 12, 2025
Marketing & SEO
59
1
Share
Dana DiTomaso- Using GA4 to Surface Technical SEO Issues In Real-Time
Tech SEO Connect
PRO
December 12, 2025
More Decks by Tech SEO Connect
See All by Tech SEO Connect
Krishna Madhavan - Beyond Blue Links: Freshness, Control, and Visibility
techseoconnect
PRO
0
100
Jori Ford - Beyond Googlebot: Evidence-Based Retrieval Experiments with AI Crawlers
techseoconnect
PRO
0
85
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
150
Alex Halliday - Should We Do This Yet? Clear Advice On 5 High-Impact Technical SEO Decisions
techseoconnect
PRO
0
72
Martha van Berkel - From Schema Markup to Knowledge Graphs: Powering AI with Connected Data
techseoconnect
PRO
0
83
Serge Bezborodov - AI Internal Linking for E-Commerce Websites
techseoconnect
PRO
0
88
Tyler Gargula - Decision Intelligence for Enterprise SEO
techseoconnect
PRO
0
83
Brie Anderson - From Guesswork to Growth: Building an SEO Strategy That Compounds
techseoconnect
PRO
0
64
Baruch Toledano - Behind the Scenes of Building Scalable Data Products for SEOs
techseoconnect
PRO
0
66
Other Decks in Marketing & SEO
See All in Marketing & SEO
Breaking the template: Subverting AI copywriting frameworks for SERP differentiation
emilyhilltraining
0
140
中央光学出版株式会社 会社概要資料
cks2025
0
690
JAWS-UG福井 AWS Community Update
awsjcpm
1
170
株式会社アマノート / Company Deck
amanaut
1
590
Teach The Shit Out Of Everything
portentint
PRO
0
300
We Sent AI Agents to Win AI Search. Here's The Playbook.
samanyougarg
0
550
Encontrabilidad: cómo la IA redefine la búsqueda online
fernandomacia
2
810
Become a content scientist: A qualitative framework for creating and optimising user-first content
annikahaataja
0
420
Rethinking Audience Strategies in a Signal-Loss Era | BrightonSEO April 2026
giuliapanozzo
0
290
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
820
Redefining Success Metrics for the AI Search Era - #BrightonSEO
aleyda
0
780
弊社のAWS事情、大公開!
taku271
1
480
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
360
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
540
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
420
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
74k
Deep Space Network (abreviated)
tonyrice
0
150
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
120
A designer walks into a library…
pauljervisheath
211
24k
Odyssey Design
rkendrick25
PRO
2
640
How to make the Groovebox
asonas
2
2.2k
Believing is Seeing
oripsolob
1
130
Transcript
Using GA4 to Surface Technical SEO Issues in Real-Time Dana
DiTomaso Founder, Analytics Playbook
I don’t want to look for issues.
I want issues to come to me.
Use your website visitor experience as intel.
I’m using Google Tag Manager & GA4 but you can
use anything.
We’ll be creating events for common technical issues.
Events show trends.
Obviously something was added to the site at the end
of October!
Events unlock count metrics.
These drop down selections can’t be saved and don’t exist
outside of GA4.
Now I can see how often something happened and create
calculated metrics using my events.
Add the _count event parameter to the GA4 tag in
GTM.
Then register your parameter in GA4 as a custom metric.
Let’s track some stuff!
There are many ways to track a 404 error.
To capture the body class, we’ll use a DOM Element
variable.
Then our trigger can use that body class to send
an event. page_view_404
Why page_view_404 and not 404_page_view?
How about 404 errors specifically from links?
Then we’ll use exactly the same trigger again.
Use the lookup as part of the event name.
internal_link_404 external_link_404
URLs with encoding Example: site.com/about%20us/ page_encoded
You might need to revise this if your site has
legitimate encoded characters. /notre-équipe/ /notre-%C3%A9quipe/
Try an exclusion trigger to create an “allowed” encoding list.
To capture URLs with UPPERCASE, use a regex trigger condition.
page_uppercase
Is your team adding UTMs to internal links? (Please don’t.)
internal_link_utm
Are your URLs always supposed to have a trailing slash
or not?
Use the trigger that matches your website configuration page_view_noslash
page_view_slash
Were there redirects? Use this JavaScript Variable.
I recommend adding this to your page_view tag as a
parameter.
Is the hostname the correct one?
Now create a trigger when the hostname is external.
page_view_external
We can do better than this for Core Web Vitals.
This tag template from Simo Ahava gives you real-world CWV
values from your visitors.
The tag template generates a dataLayer push that you use
as the trigger for your event.
None
If you’re capturing too many CWV values, try restricting the
trigger to only capture problem values.
There’s actually a built-in trigger for JavaScript error capture.
js_error
Use the built in variables for the parts of the
error that you want to capture for diagnostics.
What’s the user agent? Use this JavaScript Variable.
I attach this to the configuration tag.
You can use the configuration tag for parameters that don’t
change during the session.
You might hit the 100 character limit with the User
Agent.
You might want to use a separate GA4.
Questions? Get in touch: linktr.ee/danaditomaso