webroad.online
  1. 1Web
  2. 2HTML
  3. 3CSS
  4. 4JavaScript
  5. 5TypeScript
  6. 6Git
  7. 7Tooling
  8. 8React
  9. 9State management
  10. 10Next.js
  11. 11Forms
  12. 12Data and backend
  13. 13SEO
  14. 14Tailwind CSS
  15. 15Animations
  16. 16Testing
  17. 17Architecture
SEO · Lesson 4 of 5

Google Analytics and Search Console

What each one measures, CTR and position, GA4 events, UTMs, consent.

Updated

Why you measure

SEO without measurement is guesswork. You need to know: where visitors come from, what they search for, which pages work, what they do on the site and whether they reach the goal (an account created, an order, a subscription). Two free Google tools cover almost everything:

Google Search Console Google Analytics 4
Answers how Google sees you what people do on the site
Data searches, impressions, clicks, position, indexing, errors visitors, sources, pages, events, conversions
The moment before the click after the click
Setup domain verification (DNS) a script on the site

Google Search Console — what to watch

Report What you learn
Performance the searches you appear for: impressions, clicks, CTR, average position — by page, country, device
Pages (Indexing) which pages are indexed and why others aren't
URL Inspection the state of a specific page + "Test live" + "Request indexing"
Sitemaps you submit the sitemap, see how many URLs it discovered
Core Web Vitals real-world performance, by groups of pages
Links who links to you

The quick win from Performance: pages with many impressions and a low CTR — you show up, but you don't get clicks. Rewrite the title and description.

CTR = clicks / impressions × 100

Google Analytics 4 — the model

GA4 is built on events: every action is an event (page_view, click, sign_up, purchase), with parameters. The events marked as key events (conversions) are your goals.

// app/layout.tsx
import { GoogleAnalytics } from '@next/third-parties/google'

<html>
  <body>{children}</body>
  <GoogleAnalytics gaId="G-XXXXXXX" />
</html>
'use client'
import { sendGAEvent } from '@next/third-parties/google'

<button onClick={() => sendGAEvent('event', 'sign_up', { method: 'email' })}>Create account</button>
Concept What it means
session a visit
engaged session a visit longer than 10 s, or with a conversion, or with 2+ pages
source / medium where from: google / organic, facebook / cpc, newsletter / email
key event the action that matters for the business

UTMs — know where every click comes from

The links you share (a newsletter, social, ads) get parameters:

https://site.com/course?utm_source=newsletter&utm_medium=email&utm_campaign=october-launch
Parameter Example
utm_source newsletter, facebook, linkedin
utm_medium email, social, cpc
utm_campaign the campaign's name
utm_content the variant (button A vs B)

Don't put UTMs on internal links — it breaks the session's attribution. And set the canonical without parameters.

In the EU, analytics cookies need consent before they're set. You need a consent banner (a CMP) and Google Consent Mode v2, which tells the Google scripts what the user accepted.

Cookie-free alternatives, simpler from a legal point of view: Vercel Web Analytics, Plausible, Umami — fewer details, but no banner needed for analytics.

Summary

  • Search Console = how Google sees you (searches, CTR, indexing); GA4 = what people do (events, conversions).
  • A quick win: pages with many impressions and a low CTR → rewrite the title.
  • UTMs on external links; consent in the EU, or cookie-free analytics.

Official sources

Exercises

Was this page helpful?

One tap — no account needed.