Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
0
10
Dana DiTomaso- Using GA4 to Surface Technical SEO Issues In Real-Time
Tech SEO Connect
PRO
December 12, 2025
Tweet
Share
More Decks by Tech SEO Connect
See All by Tech SEO Connect
Krishna Madhavan - Beyond Blue Links: Freshness, Control, and Visibility
techseoconnect
PRO
0
12
Jori Ford - Beyond Googlebot: Evidence-Based Retrieval Experiments with AI Crawlers
techseoconnect
PRO
0
11
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
8
Alex Halliday - Should We Do This Yet? Clear Advice On 5 High-Impact Technical SEO Decisions
techseoconnect
PRO
0
11
Martha van Berkel - From Schema Markup to Knowledge Graphs: Powering AI with Connected Data
techseoconnect
PRO
0
8
Serge Bezborodov - AI Internal Linking for E-Commerce Websites
techseoconnect
PRO
0
8
Tyler Gargula - Decision Intelligence for Enterprise SEO
techseoconnect
PRO
0
7
Brie Anderson - From Guesswork to Growth: Building an SEO Strategy That Compounds
techseoconnect
PRO
0
6
Baruch Toledano - Behind the Scenes of Building Scalable Data Products for SEOs
techseoconnect
PRO
0
7
Other Decks in Marketing & SEO
See All in Marketing & SEO
AI OVERVIEWS: KONEC KLIKÁNÍ V SEO?
pavelungr
0
450
Breaking the code: how GenAI empowers non-techies in technical SEO
johncaiozzo
0
420
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Keynote: SEO is Dead Long Live SEO - Pubcon Austin 2025
ryanjones
1
140
コンテンツマーケティングの戦略設計(2025年版)
makitani
3
3.4k
Content Marketing Strategies for B2B SaaS Success
carib
1
250
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.7k
Josh Blyskal | Profound | I analyzed 40 million search results, here's what I found
joshbly
1
3.4k
Las 8 cosas que las marcas deberían estar haciendo
manuchat
0
170
RPO協業プラン「ななごーRPOパートナー」ご紹介資料 / nanago_rpo
nanago
0
130
The agentic SEO stack - context over prompts
schlessera
0
540
How to maximise AI Search visibility through query fan-out insight (and KGraph)
gfiorelli1
0
440
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Docker and Python
trallard
47
3.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Speed Design
sergeychernyshev
33
1.4k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
The Cult of Friendly URLs
andyhume
79
6.7k
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