네이버 이전 검색어 수집하기
네이버는 우리가 일반적으로 사용하는 다른 검색엔진에는 없는 특별한 기능을 제공합니다. 그것은 바로 네이버 검색을 한 사용자의 이전 검색어를 다음 검색 페이지의 URL에서 확인할 수 있다는 것입니다. 이 점을 활용하면 구글 애널리틱스에 네이버를 통해 방문한 사용자의 이전 검색어를 수집할 수 있습니다.
이번 포스트에서는 구글 태그매니저를 활용해서 네이버의 이전 검색어를 수집하는 방법에 대해 자세히 알아보겠습니다.
네이버 검색 페이지 URL 구조
먼저, 네이버 검색 결과 페이지의 URL을 자세히 알아보겠습니다. 네이버에 [GA 강의]라고 검색하면 보여지는 페이지의 URL은 다음과 같습니다.
현재 페이지의 검색어가 query라는 파라미터에 입력된 것을 확인할 수 있는데요. 이 페이지에서 [GA 다차타]라는 검색어로 다시 검색해 보겠습니다.
이번에도 마찬가지로 query라는 파라미터에 현재 페이지의 검색어가 입력되어 있습니다. 그 외에 추가적으로 이전에는 없던 oquery라는 파라미터를 확인할 수 있는데요. 이 파라미터의 값에는 이번 포스트에서 수집할 정보인 이전 검색어가 입력되어 있습니다.
앞서 확인한 내용을 정리하자면 "네이버 검색 URL의 oquery 파라미터에는 이전 검색어가 입력되어 있다."라는 것을 알 수 있습니다.
수집 원리
결론부터 말씀드리자면 HTTP referrer에 있는 정보를 활용해서 이전 검색어를 수집할 수 있습니다. Referrer은 웹에서 기본적으로 제공하는 정보이며, 이를 간단하게 설명하면 이전 페이지의 URL이라고 할 수 있습니다.
웹에서는 아래와 같이 사이트뿐만 아니라 페이지 간의 이동 시에 referrer 정보가 전달되며, 이를 통해 이전 페이지의 URL인 referrer 정보를 확인할 수 있습니다.
이를 위 그림과 연관 지어 설명하면, A 사이트(네이버 검색)에서 B 사이트(자사 사이트)로 이동한 경우, B 사이트(자사 사이트)에서는 referrer이라는 정보를 통해 A 사이트의 URL 정보를 얻을 수 있습니다.
이를 활용하여 B 사이트에서는 referrer에 있는 oquery 파라미터 값을 추출하고 GA로 전송하기만 하면 됩니다.
데이터 수집 설정하기
구글 애널리틱스 – 맞춤 측정기준 생성
먼저, 구글 애널리틱스에서 이전 검색어를 저장할 맞춤 측정기준을 생성해야 합니다. 맞춤 측정기준은 [관리] – [맞춤 정의] – [맞춤 측정기준] 메뉴에서 생성할 수 있으며, 이때 범위는 아래와 같이 [세션]으로 선택합니다.
맞춤 측정기준이 생성되면 아래와 같이 목록에서 [지수]를 확인합니다. 저의 경우에는 이전 검색어에 대한 지수가 "10"인 것을 확인할 수 있습니다.
태그매니저 – oquery 변수 생성
다음으로 태그매니저에서 Referrer에 있는 oquery 파라미터 값을 가져오는 사용자 정의 변수를 생성합니다. 변수 유형은 [HTTP 리퍼러]를 선택하고 [검색어 키]에는 oquery를 입력합니다.
태그 매니저 – 페이지뷰 태그 수정
앞서 생성한 변수를 페이지뷰 태그 안에 등록하기만 하면 됩니다. 태그 내에서 [이 태그의 설정 재정의 사용]을 체크한 다음, [기타 설정] – [맞춤 측정기준] 항목에 변수를 등록합니다. 이때, 반드시 구글 애널리틱스에서 확인한 지수 번호와 동일한 숫자를 입력해야 합니다.
위 작업이 다 끝났다면 태그매니저를 제출하여 사이트에 반영합니다.
데이터 확인하기
데이터가 정상적으로 수집되면 아래와 같이 보고서에서 네이버의 이전 검색어와 유입 검색어를 동시에 조회할 수 있습니다.
추가적으로 자연 검색뿐만 아니라 검색 광고를 통한 유입에도 이전 검색어를 수집할 수 있습니다. 이는 두 유형 모두 네이버 검색 페이지를 통한 유입이기 때문에 referrer 정보를 동일하게 가져올 수 있기 때문입니다.
이전 검색어는 아래와 같은 용도로 활용할 수 있습니다.
- 유입 검색어와 관련된 연관 검색어 파악 가능 (경쟁사 정보, 방문자가 관심있어 하는 정보 등)
- 이전 검색어로 검색했을 때 자사 사이트가 노출이 안되고 있다면, 해당 검색어에 사이트를 노출시키기 위한 전략 수립이 가능 (SEO, 검색 광고 등)
- 사이트를 방문하게 된 의도 파악 가능 (이전 검색어에 구체적인 정보가 담겨 있을 경우)
자주 묻는 질문
네이버의 경우에는 이전 검색어를 oquery라는 파라미터에 입력해주기 때문에 GA에서 수집이 가능합니다. 우리가 일반적으로 사용하는 구글이나 다음과 같은 다른 검색엔진의 경우에는 oquery에 해당하는 매개변수가 없으므로 데이터 수집이 불가능합니다.
기존에 유입 검색어만 볼 수 있던 GA에서 이전 검색어를 수집하면 방문자가 관심있어 하는 정보나 경쟁사 정보를 수집할 수 있고, 이전 검색어를 직접 검색하여 자사 사이트가 정상적으로 노출이 되고 있는지 확인할 수 있습니다.
이때, 자사 사이트와 관련된 검색어임에도 불구하고 노출이 안되고 있다면, 해당 검색어에 대한 SEO 개선 및 검색 광고를 통해 사이트의 방문자를 증가시킬 수 있습니다.
안녕하세요. 너무 유용한 글 감사합니다. 다차타 정말 fan이에요!!
GA4에서는 맞춤측정기준에 '이벤트'와 '사용자'만 있고 아직 '세션'이 없는데 그럼 수집이 어려운 걸까요?
안녕하세요, @하람쓰님!
GA4에서는 '이벤트'를 기준으로 'page_view'와 함께 이전 검색어 정보를 전송할 수 있습니다. 다만, 일반적으로 'page_view'는 별도의 이벤트 추가없이 [Google 애널리틱스: GA4 구성] 태그에 자동으로 수집이 되게끔 설정이 되어있으실텐데요.
해당 설정을 해제하시고 별도로 'page_view'를 위한 태그를 생성하신 다음에, 이전 검색어 정보를 파라미터로 함께 전송하시면 됩니다!
이 부분은 아직 콘텐츠로 제작을 안해서 다소 헷갈리실텐데요! 꼭 포스팅할 수 있도록 힘쓰겠습니다! 다차타에 방문해주셔서 감사드려요~
안녕하세요. 글 정말 잘봤습니다. GA 구성 태그에서 page view 수집 설정 해제는 트리거 실행에서 All pages (페이지뷰)를 제거하는 것을 의미하는 것일까요? GA4 버전의 콘텐츠가 나오면 정말 큰 도움이 될 것 같습니다.
안녕하세요, 궁그미님!
pageview 수집 설정 해제는 구성 태그에 있는 [이 구성이 로드될 때 페이지 조회 이벤트 전송]를 체크 해제하시면 됩니다!
GA4 콘텐츠는 빠른 시일 내에 업데이트 할 수록 노력하겠습니다 🙂
즐거운 하루되세요!
안녕하세요. 유익한 정보 정말 갑사합니다.
oquery 변수 생성과 page_view 수집 설정 해제까지 했습니다! GA4 맞춤 측정 기준을 설정하지 못했습니다(세션 없음) page_view를 위한 태그를 설정하려고 하는데 추적 유형 및 지수와 같은 내용이 너무 달라서 못하고 있습니다! page_view를 위한 태그 설정은 어떻게 진행하면 되는 것일까요?
안녕하세요, 궁금*님!
제가 설정한 내용을 첨부 이미지로 공유드려요! 위에서 답변드린 내용과는 다소 차이가 있긴 하네요! (별도의 페이지뷰 이벤트에 설정하는 위 방식이 더 정확하긴 합니다. )
첨부 이미지처럼 아직 GA4에는 세션 범위의 맞춤 측정기준을 지원하고 있지 않기 때문에, [이벤트] 범위로 맞춤 측정기준을 생성하구요, GA4는 UA와 달리 지수가 아닌 [매개변수 이름]을 태그매니저에 입력하시면 됩니다.
다만, 세션 범위가 아니기 때문에 수집된 데이터를 조회하실 때는, 반드시 탐색보고서에서 이벤트 수가 아닌 "세션수"를 측정항목으로 보시고 (not set) 항목을 제외해서 보셔야 합니다.
이후에 세션 범위가 생기기 전까지는 해당 방식으로 임시로 사용하셔야 할 것 같네요 🙂
안녕하세요! 혹시 '탐색'보고서 내 말씀주신대로 셋팅했는데, 'not set'만 검색될때엔 잘못 셋팅된걸까요??
셋팅이 잘못되거나 네이버 이전 검색어가 아직 미수집된 경우로 볼 수 있을것 같습니다.
우선 셋팅을 재점검해보시고, 네이버에 이전 검색어가 수집되는지도 검수해 보세요! 네이버 검색(검색 2회 이상)으로 방문했을 경우, 실시간 보고서의 page_view 이벤트에 이전 검색어에 대한 파라미터가 있는지 확인하실 수 있습니다.
안녕하세요, 글과 댓글이 너무 도움되어 잘 보고 있습니다:) 설정하고 있는데 이게 맞나 싶어서요.
1) GA4 맞춤 측정 기준 만들기
– 측정기준 이름: 네이버 이전 검색어
– 이벤트 매개변수: naver_prev_query
2) GTM에서 'GA4 구성 태그 > 설정할 필드'
– 필드 이름: naver_prev_query
– 값: {{Referrer | param_oquery}}
이렇게하는게 맞는 건지, 제가 계속 헤매고 있어서 여쭙니다ㅠㅠ
안녕하세요, KingJI님
공유주신 내용에는 문제가 없어보입니다.
아직 GA4는 [세션] 범위의 맞춤 측정기준을 지원하지 않다보니, 데이터 조회 방법이 까다로운데요!
이후에 보고서에서 해당 측정기준의 (not set) 항목을 필터로 제외하고 "세션수"라는 측정항목으로 데이터를 조회하시면 됩니다.
친절한 답변 감사합니다! 위와 같이 설정하고 GTM에서 미리보기를 하려고 보니 '컨테이너에 다음과 같은 오류가 있습니다'고 뜹니다.
어떤 조치를 취해야 할까요? 혹시 'naver_prev_query'라는 이름으로 GTM에서도 변수 설정이 필요한 걸까요? 만약 그렇다면 HTTP 리퍼러 > 검색어 > oquery 이렇게 설정해야할지 같이 여쭙니다!
공유주신 내용 중에서 변수는 {{Referrer | param_oquery}} 밖에 없긴 합니다. (필드 이름은 고정 값 그대로 두셔야합니다.) 따라서, naver_prev_query가 아닌 Referrer | param_oquery라는 GTM 변수가 필요한 상황입니다.
변수는 말씀주신 내용으로 생성하시면 되구요! 변수명이 다르진 않는지? 제대로 생성되어 있는지 확인이 필요할 것으로 보입니다.
너무 감사합니다ㅠㅠㅠ 제출돼서 이제 잘 보이는지 지켜보면 될 거 같습니다:) 어떤 데이터가 필요한지 감도 못잡고 있는 상태에서 정말 많은 도움받고 있는데 친절한 설명까지! 정말 감사드립니다:)!!!
안녕하세요, 혹시 말씀주신 변수 저 값이 복붙이 안되어서 혹시 referrer 값과 param 사이에 저 슬래쉬를 어떻게 입력할 수 있을까요? 값 복붙할 수 있는 기능 주시면 감사하겠습니다.
'|'를 말하시는 걸까요?
키보드의 삭제(←) 밑에 있는 버튼을 Shift를 누른 상태에서 눌러주시면 만들 수 있습니다.
GTM 변수는 다른 명칭으로 임의로 설정해서 쓰셔도 됩니다.
안녕하세요, 유용한 글 무료로 공유해주셔서 우선 감사인사드립니다 🙂
네이버 이전 검색어가 아닌, 직전 검색어를 ga4에서 확인하기 위해서도 해당 방법을 사용하면 될까요?
안녕하세요, 유도두님
직전 검색어는 GA4에서 기본적으로 수집을 하고 있기 때문에,
별다른 작업 없이도 '수동 검색어'라는 이름이 포함된 측정기준을 통해 조회하실 수 있습니다.
(+ naver / organic을 필터 조건으로 설정)
————————-오류가 있는 콘텐츠 제거—————-
해당 아티클을 확인했을때는 ga에서 자연검색어를 수집하고 있지 않다고 확인되는데 어떻게 이해하면 될까요?
* 링크해 주신 포스트는 내용에 오류가 있어 제거했습니다.
명확하게 말씀드리자면 GA는 자연검색어를 수집하고, 제공해주고 있습니다.
(단, Google 검색엔진 자연 검색어는 예외 케이스로 Search Console을 연결해야지만 확인 가능)
먼저, 제가 답변 달아드린 내용으로 데이터를 조회해 보셨을까요? ㅎㅎ 이 부분은 직접 데이터를 조회해보시면 바로 아시게될 겁니다. 아래와 같이 [탐색] 메뉴에서 보고서를 구성하시고. organic으로 유입한 트래픽의 검색어 데이터를 확인해보세요.
검색어 관련 내용을 좀더 상세하게 설명드리자면
———————————————————-—————————–
2022년 7월 11일 이전에는 GA4에서 유입 검색어에 대한 측정기준을 제공하지 않아, 임시 방편으로 맞춤 측정기준을 별도로 생성해서 '직접 검색어'를 수집했었는데요 🙂
해당 시점 이후에는 제가 설명드린 '수동 검색어'라는 명칭의 측정기준이 생겨서 '자연 검색어', 'utm_term 파라미터' 값이 해당 측정기준에 값이 수집되고 있습니다.
서비스 규모에 따라 다르겠지만 GA를 제대로 쓰시게될 경우, 맞춤 측정기준 개수는 곧잘 모자라기 때문에, GA가 기본적으로 제공해주는 측정기준이 있음에도 불구하고, 해당 게시글처럼 검색엔진별(다음, 네이버….) 개별 맞춤 측정기준을 생성하는 것은 개인적으로 권장드리지 않습니다.
(단, 간단한 셋팅만하고 유입 위주로 데이터를 보시겠다고 하면, 해당 방식대로 설정하셔도 됩니다.)
마지막으로 글 작성자의 지식 수준이 다르기 때문에, 인터넷에 게시된 글에는 간혹 오류가 있는 경우가 있습니다. 오류가 정답처럼 쓰여진 게시글도 많으니, 개인적으로는 직접 해보시면서 해당 내용들을 검증해나가는 것을 더 추천드려요 :)
정확한 답변 감사합니다, Ratel님!
해당 내용을 확인해보니,
세션소스가 naver임에도 세션 수동검색어에 값(string)이 잡히네요!
안녕하세요. 선생님
언제나 선생님 글을 통해 배우고 또 배우고 있습니다.
이번 콘텐츠 관련해서 질문이 있습니다. ga4태그가 최근 업데이트되면서 일부 변경된 부분이 있는 것 같아 아래 방법으로 진행하면 네이버 이전 검색어를 수집할 수 있을지 문의드립니다.
step 1. ga4 맞춤 측정 기준 생성
측정기준 이름: Naver Previous Keyword
범위: 이벤트
이벤트 매개변수: naver_previous_keyword
step 2. GTM 변수 생성 및 태그 수정
변수이름: naver_previous_keyword
변수 유형: HTTP 리퍼러
구성요소 유형: 검색어
검색어 키: oquery
step 2-1. ga4 구성 태그 추가
공유된 이벤트 설정 >
이벤트 매개변수: naver_previous_keyword
값: {{naver_previous_keyword}}
위 방법이 맞을지 문의드립니다!
항상 감사합니다.
안녕하세요, 이우리우님
공유주신 설정에는 문제가 없는 것으로 보이구요~
확장 프로그램인 Omnibug가 GA의 Debug View 기능을 사용해서 데이터가 정상적으로 수집되는지만 더블 체크해보시면 될 것으로 보입니다 🙂
감사합니다! 알려주신 방법으로 점검해보겠습니다
혹시 해당 방법으로 해결 되신걸까요?