요양병원마케팅 담당자가 운영 안내의 글감을 찾으려고 사이트 안에서 입력된 ‘주차’나 ‘면회 시간’을 살핀다고 해 보겠습니다. 검색창은 잘 작동하는데 GA4에는 검색어가 남지 않을 수 있습니다. 이때 목록이 비었다는 이유로 관련 질문이 없다고 결론내리기 전에, 검색 결과 주소와 측정 설정이 같은 항목을 읽는지 확인해야 합니다. 여기서 다루는 자료는 방문자가 사이트 내부에서 검색한 말입니다.
Google의 향상된 측정 안내(https://support.google.com/analytics/answer/9216061?hl=ko)는 사이트 검색 이벤트인 view_search_results가 URL 쿼리 매개변수를 기준으로 발생한다고 설명합니다. 기본으로 찾는 이름은 q, s, search, query, keyword이며 다른 이름도 설정할 수 있습니다. 수집된 검색어는 search_term 매개변수를 통해 ‘검색어’ 측정기준에 들어갑니다. 화면에 검색 결과가 보인다는 사실만으로 이 조건이 충족됐다고 볼 수는 없습니다.
가상의 결과 주소가 /search?term=주차라면 물음표 뒤에서 term은 항목 이름이고 주차는 그 값입니다. 담당자는 웹 데이터 스트림의 향상된 측정에서 사이트 검색 옵션을 확인하고, 검색어를 찾는 항목 이름에 term이 포함됐는지 대조합니다. 여기에 ‘주차’라는 글감을 등록하거나 키워드를 더 많이 넣는 것이 아닙니다. 실제 주소가 쓰는 이름을 맞추는 작업이므로, 예시를 따라 사이트 주소를 q로 일괄 변경할 필요도 없습니다.
검색해도 주소에 검색값이 나타나지 않고 같은 화면의 결과만 바뀌는 구조라면 이 설정의 항목을 추가하는 것만으로 해결됐다고 판단하지 않습니다. 검색값이 어디에 있는지, 현재 구현이 어떤 이벤트를 보내는지 기술 담당자에게 확인합니다. 자동 수집과 별도 구현의 책임을 정하지 않은 채 이벤트부터 추가하면 무엇을 한 건으로 세었는지 설명하기 어려워집니다. 먼저 검색창 조작과 결과 표시를 연결한 시험 절차를 남깁니다.
확인은 개인 식별 정보가 없는 시험어로 합니다. Google의 DebugView 안내(https://support.google.com/analytics/answer/7201382?hl=ko)에 따라 시험 기기의 디버그 모드를 켠 뒤 검색을 실행하고, 나타난 view_search_results 이벤트를 열어 search_term의 값을 읽습니다. 이름만 보이는지 확인하는 데서 끝내지 말고 입력한 ‘주차’가 값으로 전달됐는지 대조합니다. 이벤트가 안 보이면 디버그 모드와 기기 선택뿐 아니라 태그 동작과 동의 상태도 살핍니다. 동의하지 않은 사용자의 제한을 풀어 시험하는 방식은 피합니다.
실제 검색창에는 이용자가 이름이나 연락처를 적을 수도 있습니다. Google의 개인 식별 정보 전송 예방 안내(https://support.google.com/analytics/answer/6366371?hl=ko)는 검색창 입력에 포함된 이런 정보를 애널리틱스로 보내기 전에 제거하도록 설명합니다. 원문을 일단 모두 수집한 다음 기획표에서만 지우는 것으로 이 조건을 대신할 수 없습니다. 실제 이용자의 민감한 문장을 시험값으로 쓰지 않고, 수집 범위를 담당자가 먼저 검토해야 합니다.
점검 결과에는 시험어, 검색 결과 주소의 항목 이름, 확인한 이벤트와 전달값을 함께 남깁니다. 설정을 고친 뒤 처음 확인된 날짜도 표시하면 그 이전의 빈 목록을 수요 변화로 읽는 일을 줄일 수 있습니다. 이렇게 수집 경로가 확인된 범위에서 질문 자료를 사용해야, 기록되지 않은 검색을 관심이 없는 주제로 잘못 분류하지 않을 수 있습니다.