계정 만드는 마법사는 한 번 끝내면 다시 못 봐. 뽀야가 전 단계를 찍어놨으니 보고 들어가.
비용 둘 다 무료
걸리는 시간 30분
캡처 29장 (접어뒀어)
🐱
뽀야: 1편에서 페이지가 세상에 보이게 만들었지. 그런데 보이게만 해놓고 끝내면, 잘 되고 있는지 영영 몰라. 링크를 뿌려도 "반응이 있나?"가 계속 감이야. 오늘은 그 감을 숫자로 바꾸는 일을 해. 캡처가 많아서 전부 토글로 접어뒀으니 막히는 데서만 펼쳐 봐.
🤔 안 재면 무슨 일이 생기냐면
"데이터 분석"이 아니라, 페이지를 고칠 때 실제로 막히는 지점들이야.
장면 1 — 신청이 적다. 근데 왜 적은지를 모른다.
사람이 안 온 건지, 왔는데 안 눌렀는지, 눌렀는데 지원서에서 포기했는지. 셋은 완전히 다른 문제고 해결책도 달라. 안 재면 셋 중 어느 건지 알 수가 없어서, 엉뚱한 데를 고치게 돼.→ 방문 → 클릭 → 제출을 각각 세면 어디서 새는지가 그냥 보여.
장면 2 — 신청 버튼을 9개나 깔았는데, 어느 게 일하는지 모른다.
맨 위 버튼이 제일 많이 눌릴 것 같지? 실제로는 가격표 바로 밑이 훨씬 많이 눌리는 경우가 흔해. 감으로는 절대 못 맞혀.→ 버튼마다 "어느 자리에 있었나"를 같이 기록하면 다음 페이지를 만들 때 배치가 달라져.
장면 3 — 홍보는 여기저기 했는데, 어디서 온 사람인지 모른다.
카톡방·인스타·검색 중에 뭐가 효과 있었는지 모르면 다음에도 똑같이 다 하게 돼.→ 유입 경로는 GA4가 자동으로 나눠줘. 코드 한 줄 안 써도 돼.
오늘 붙이는 건 두 개야. 사이트 안에서 벌어지는 일을 재는 GA4, 사이트에 오기 전 구글에서 벌어지는 일을 보는 서치콘솔. 둘 다 무료고, 코드는 다섯 줄 붙이면 끝나.
1편을 먼저:랜딩에 SEO 심기. 순서가 중요해 — GA4 태그를 먼저 심어두면 서치콘솔 소유권 확인이 클릭 한 번에 끝나거든.
1
셋이 뭐가 다른가
이름이 비슷해서 계속 헷갈려. 가게로 비유하면 단번에 갈려
GA4(구글 애널리틱스) = 가게 안 CCTV. 들어온 손님이 어디를 보고 뭘 만졌는지. → 내 사이트에 들어온 뒤의 일
서치콘솔 = 가게 앞 거리 조사. 지나가는 사람이 뭐라고 검색했고, 우리 간판을 몇 번 보고 몇 번 들어왔는지. → 사이트에 오기 전의 일
태그(gtag) = 그 CCTV 본체. 페이지에 이 코드를 붙여야 GA4가 데이터를 받아. 안 붙이면 계정만 만들어놓고 화면은 영영 비어 있어.
애널리틱스가 대체 뭘 하는 건데?
누가 내 페이지를 열면, 페이지에 심어둔 코드가 "방금 한 명 들어왔어"라는 신호를 구글 서버로 조용히 보내. 그 신호가 쌓인 걸 표와 그래프로 보여주는 게 GA4야.
개인이 누군지는 안 나와(이름·연락처 못 봐). 몇 명이, 어디서, 무엇을 눌렀나 같은 덩어리 숫자만 봐.
화면에서 계속 나올 단어 넷. 계정 — 회사 단위 묶음. (노닥컴퍼니) 속성 — 그 안의 사이트 하나. (곡성 워케이션 랜딩) 데이터가 실제로 쌓이는 통이야. 스트림 — 그 사이트로 들어오는 데이터 파이프 하나. 웹이면 웹 스트림 하나면 돼(앱까지 있으면 하나 더). 이벤트 — "페이지 봤다", "버튼 눌렀다" 같은 사건 한 건. GA4는 모든 걸 이벤트로 세. 전환 — 그 이벤트 중에 내가 중요하다고 지정한 것. 우리한텐 "지원서 제출"이 전환이야.
왜 GA4야? (믹스패널·뷰저블·Vercel 안 쓰고)
무료 한도가 압도적 — 월 이벤트 수백만까지 공짜.
서치콘솔·구글 광고랑 그냥 붙어 — 검색 유입 → 방문 → 클릭 → 전환이 한 화면에서 이어져.
Vercel Analytics는 무료 플랜이 비상업용 전용이고 커스텀 이벤트가 유료야. 돈 받고 파는 페이지면 결이 안 맞아.
믹스패널·앰플리튜드는 제품 안에서 유저 행동을 깊게 팔 때. 랜딩 하나엔 과해.
2
GA4 계정 만들기
마법사 5단계. 한 번 끝내면 다시 못 보니까 헷갈리는 건 미리 확인하고 들어가
지금 뭘 만드는 거냐면 — 데이터를 담을 통을 만드는 중이야. 아직 아무것도 안 재. 통을 다 만들면 마지막에 측정 ID라는 짧은 문자열이 나오는데, 이 단원의 목적은 그 ID 하나 받는 것이야. 그걸 4장에서 페이지에 붙이면 그때부터 세기 시작해.
들어가는 길
애널리틱스를 처음 쓰면 측정 시작 버튼이 뜨고, 이미 계정이 있으면 왼쪽 아래 관리 → 만들기 → 계정으로 들어가.
진입 화면 보기 · 캡처 3장
처음 쓰는 계정에 뜨는 환영 화면 — 측정 시작이미 계정이 있으면 관리 → 만들기드롭다운에서 "계정" 선택
1~2단계 — 계정 이름 · 시간대 · 통화
계정 = 회사, 속성 = 사이트 하나. 곡성은 계정을 노닥컴퍼니로 두고 그 아래 속성으로 곡성 워케이션 랜딩을 만들었어. 사이트마다 계정을 새로 파면 나중에 한눈에 못 봐.
여기가 제일 많이 틀리는 곳. 기본값이 미국 / 미국 달러야. 그대로 두면 하루 경계가 한국 시간과 안 맞아서 날짜별 숫자가 계속 어긋나. 나중에 바꿔도 과거 데이터는 안 고쳐져. 대한민국(GMT+09:00) 서울 / 대한민국 원(₩)으로.
1~2단계 화면 보기 · 캡처 5장
1단계 — 계정 이름회사 이름으로 (노닥컴퍼니)2단계 — 속성 이름 · 시간대 · 통화. 기본값이 미국이다국가 목록에서 대한민국 찾기서울 / 원(₩)으로 바꾼 상태
3~4단계 — 업종 · 목표 · 약관
업종·규모는 구글이 벤치마크를 보여주려고 묻는 거라 정확도가 크게 중요하지 않아. 곡성은 직업 교육 및 훈련 / 소규모(1~10명).
비즈니스 목표는 기본 보고서 구성을 바꿔. 랜딩이면 잠재고객 확보 + 사용자 행동 파악 정도면 충분해. 나중에 바꿀 수 있어.
약관 국가도 미국으로 떠 있어. 대한민국으로 바꾸고 동의해. 그리고 이건 계정 명의자와 구글 사이의 계약이야 — 봇이 대신 눌러선 안 돼. 뽀야도 곡성 때 여기서 멈추고 닿한테 물어본 다음 눌렀어.
3~4단계 + 약관 화면 보기 · 캡처 6장
3단계 — 업종·규모업종 목록직업 교육 및 훈련 / 소규모4단계 — 비즈니스 목표잠재고객 확보 + 사용자 행동 파악약관 — 국가가 미국으로 떠 있다. 대한민국으로 바꿀 것
5단계 — 데이터 수집(웹 스트림)
웹사이트 URL — gokseong.nodak.co.kr (앞의 https://는 왼쪽 드롭다운에서)
스트림 이름 — 사람이 알아볼 이름. 곡성 랜딩
향상된 측정은 켠 채로 둬. 스크롤·이탈 클릭·파일 다운로드를 코드 없이 자동으로 세줘.
5단계 + 측정 ID 화면 보기 · 캡처 5장
플랫폼 — 웹웹 스트림 설정 (빈칸)URL·스트림명 넣고 향상된 측정 ON스트림 생성 완료G-로 시작하는 측정 ID — 필요한 건 이것뿐
3
측정 ID 나중에 다시 찾기
까먹었을 때 어디로 가나
관리 → 데이터 스트림 → 스트림 클릭. 오른쪽 위에 G-로 시작하는 ID가 있어.
다시 찾아가는 경로 보기 · 캡처 3장
왼쪽 아래 관리(톱니)데이터 스트림 목록스트림을 열면 측정 ID가 보인다
4
태그 심기 + 버튼 클릭 세기
⭐ 여기가 진짜야. 방문자 수만 보면 할 수 있는 게 없어
왜 방문자 수만으론 부족하냐면 — "이번 주 300명 왔다"를 알아도 내일 뭘 고쳐야 할지가 안 나와. 페이지를 고치려면 "어디서 멈췄나"를 알아야 하고, 그건 버튼 클릭을 따로 세야 보여.
아래 코드는 신청 버튼이 눌릴 때마다 "몇 번째 버튼이었고 어느 소제목 밑이었나"를 같이 기록하게 만드는 거야. 이걸 해두면 나중에 GA4에서 자리별로 정렬해서 볼 수 있어.
측정하고 싶은 페이지 전부에 넣어. 곡성은 랜딩과 지원서 둘 다. 지원서에 안 넣으면 "여기까지 왔는데 안 낸 사람"이 안 보여.
어느 자리 버튼이 눌리는지 세기
곡성 랜딩은 신청 버튼이 9개야(히어로·중간·가격표·맨 아래…). 하나하나 코드를 붙이는 대신, 클릭을 한 곳에서 받아서 그 버튼이 어느 자리였는지를 자동으로 붙였어.
document.addEventListener('click', function(e){
var a = e.target.closest && e.target.closest('a[href*="apply.html"]');
if(!a || typeof gtag !== 'function') return;
var all = [].slice.call(document.querySelectorAll('a[href*="apply.html"]'));
gtag('event','cta_click',{
cta_location: locate(a), // 버튼 바로 위 소제목
cta_index: all.indexOf(a) + 1, // 위에서 몇 번째 버튼인지
cta_text: (a.innerText||'').trim() // 버튼에 적힌 글자
});
}, true);
locate()는 그 버튼보다 위에 있는 가장 가까운 제목을 찾아 붙이는 함수야. 그래서 나중에 "가격표 밑 버튼이 히어로 버튼보다 3배 눌린다" 같은 게 그냥 보여.
실시간 보고서를 열어두고 다른 기기로 들어가 버튼을 눌러봐. 개발자도구 네트워크 탭에서 google-analytics.com/g/collect 요청이 나가는지 봐도 돼.
실시간 보고서 화면 보기 · 캡처 1장
실시간 — 지금 들어와 있는 사람이 보인다
실시간엔 바로 뜨지만 일반 보고서엔 24~48시간 뒤에 떠. 다음 날 "데이터가 없다"고 놀라지 마.
5
서치콘솔 + sitemap 제출
GA4를 먼저 심어둔 보상을 여기서 받는다
서치콘솔은 왜 또 붙여? GA4는 들어온 사람만 봐. "구글에 100번 떴는데 3번밖에 안 눌렸다" 같은 건 GA4에 안 나와 — 안 눌린 사람은 우리 사이트에 온 적이 없으니까. 그 안 눌린 97번을 보는 게 서치콘솔이야.
그리고 여기서만 할 수 있는 게 하나 더 있어 — 1편에서 만든 sitemap을 구글에 직접 내는 것. 로봇이 우리 페이지를 찾아올 때까지 기다리지 않고 먼저 알려주는 거야. 속성은 여기서도 "관리 대상 사이트 하나"라는 뜻으로 써.
속성 유형 — 도메인 vs URL 접두어
도메인 — nodak.co.kr과 모든 하위 도메인 전부. 대신 DNS 인증 필수.
URL 접두어 — 입력한 그 주소 하나만. 대신 GA4 태그로 인증이 끝나.
랜딩 하나면 URL 접두어를 골라. DNS를 안 건드려도 되고 인증이 자동이야. 사이트가 여러 개로 늘어날 예정이면 도메인 쪽이 낫지만, 그건 DNS에 TXT 레코드를 넣어야 해.
소유권 확인 — 클릭 한 번
"소유권이 확인되었습니다"가 바로 떠. HTML 파일 업로드도, DNS도 필요 없어. 페이지에 이미 있는 gtag 코드를 구글이 읽고 "같은 구글 계정 사람이네" 하고 통과시켜.
그래서 gtag를 나중에 지우면 서치콘솔 인증도 같이 풀려. GA4를 걷어낼 일이 생기면 인증을 다른 방법으로 먼저 바꿔둬.
sitemap 제출
왼쪽 메뉴 Sitemaps에서 주소 뒷부분만 넣어. 앞의 도메인은 이미 붙어 있어. sitemap.xml이라고 치고 제출.
상태 "성공" + 발견된 페이지 수가 내 sitemap 개수와 같으면 끝. 곡성은 5개. 숫자가 안 맞으면 robots.txt에서 막은 경로를 sitemap에 넣었을 확률이 높아 (1편 5장 참고).
서치콘솔 전 과정 보기 · 캡처 6장
서치콘솔 첫 화면웹사이트 추가속성 유형 — 도메인 vs URL 접두어GA4 덕분에 소유권이 자동 확인됨Sitemaps — 뒷부분만 입력상태 "성공" + 발견된 페이지 5개
6
언제 뭐가 보이나
붙인 날 바로 안 보인다고 잘못한 게 아니야
왜 바로 안 보이냐면 — GA4는 들어온 신호를 모아서 하루 단위로 정리한 다음에 보고서를 만들어. 그래서 실시간 화면은 즉시 뜨지만 일반 보고서는 하루 이틀 걸려. 서치콘솔은 한술 더 떠서, 구글 로봇이 우리 페이지를 주워가고 서랍에 넣는(색인) 시간까지 필요해.
GA4 실시간 — 즉시
GA4 일반 보고서 — 24~48시간
서치콘솔 색인 — 며칠~몇 주. 새 사이트는 원래 느려
서치콘솔 실적(검색어) — 색인된 뒤부터. 2~3일 지연이 기본
며칠 뒤가 진짜야. 서치콘솔 실적에서 "어떤 단어로 검색해서 들어오는지"를 보고, 그 단어를 1편의 title·description에 반영해. 그게 SEO의 두 번째 바퀴야.