제목
특정 URL에 인입한 IP 데이터 수집 방법이 궁금합니다.
작성자
soom
작성일
2022-08-31 17:29
조회
831
답변완료
안녕하세요.
GA4 에 갓 입문하게 되어 아직 많은 부분 헷갈리네요 ㅠㅠ

특정 URL로 인입한 클라이언트 IP를 수집하고 싶어서
맞춤 HTML를 이용하여 ipify 에서 반환된 공인IP를 수집하는 태그를 구성하고
매개변수로 Page URL과  수집한 IP 정보를 넘겨 애널리틱스 실시간 보고에서 확인할 수 있게 되었는데요!

그런데.. 동일한 URL을 호출하여도 어떤 경우에는 IP를 정상적으로 수집하고,
어떤 때는 null로 수집되는데 어떤 차이가 있는지 모르겠습니다 ㅠㅠ
아마도 처음 한번만 IP를 수집하거나, 간헐적으로 수집하는것 같은데 URL를 호출할때마다 수집할 수 있는 방법이 있을까요?

혹시 IP 정보를 수집할 수 있는 다른 방법이나 강의, 혹은 조언 있으시면 가이드 부탁드립니다 ㅠㅠ
전체 1

  • 2022-08-31 22:16

    안녕하세요, soom님!
    ipify와 같은 API를 활용하여 IP를 가져올 때는 약간의 지연시간이 있습니다.
    그래서 페이지가 로드되는 시점에 전송되는 "page_view" 이벤트에 IP 정보가 포함되지 않는 경우가 일반적인데요.

    현재, 태그매니저 셋팅이 어떻게 되어있는지 명확하지 않아서 자세한 답변을 드리기는 어려우나!
    GA4에서 IP 수집시 권장드리는 방식은 아래와 같습니다.

    [GTM을 사용하는 방법]
    1. IP에 해당하는 맞춤 측정기준을 [사용자] 범위로 생성
    2. IP 정보를 받을 때 실행되는 코드(맞춤 HTML)에 지금은 dataLayer.push에 대한 내용이 포함되어 있을것으로 예상됩니다. 첨부드린 이미지에 파란색으로 체크된 'event' 정보를 추가합니다. (없을 경우에 추가)
    3. [맞춤 이벤트] 트리거를 생성하고, 2번의 'event'에 입력한 값인 getIp를 이벤트 이름으로 입력합니다.
    4. 3번에서 생성한 트리거를 연결한 GA4 이벤트 태그를 생성하고, 태그의 이벤트 이름은 임의로 입력합니다. 여기서 중요한건 해당 태그의 사용자 속성에 IP 정보를 가져오는 변수를 설정합니다.

    위 작업을 설정하고 나면, 페이지가 로드되고 IP를 가져왔을 때 4번에서 생성한 별도의 이벤트로 GA4에 IP 정보를 수집하게 됩니다. 정보를 가져올 수 있을때 바로 GA4에 데이터를 수집하기 때문에 타이밍적인 문제를 최소화시킬 수 있습니다. 다만, 페이지 로드시마다 이벤트를 수집하게 되므로 수집되는 전반적인 이벤트의 숫자가 다소 늘어날 수 있습니다.

    [개발을 통한 방법]
    기본적으로 서버에서는 클라이언트 IP 정보를 파악할 수 있습니다. 이때, IP 정보를 페이지의 dataLayer에 넣어주고 태그매니저가 이 값을 GA4 구성 태그에 설정하여 전송하는 방식으로 구현하면 타이밍 문제나 이벤트 수가 증가하는 문제없이 깔끔하게 데이터를 수집할 수 있습니다. (자사몰이나 내부 개발 인력이 있을 경우에는 해당 방법으로 수집하는 것을 권장드립니다 )

    ip-맞춤-HTML.jpg