구글폼에서 IP추적이 가능하냐구? 일단 '가능'은 하다.

단 조건이 있다. 사용자가 구글폼 제출 이후에 IP를 추적하는 스크립트를 실행하는데에 동의를 해주어야 한다. 혹은 우리가 그들을 특정 페이지로 방문하게끔 유도하여서 알맞은 데이터를 보내게끔 조치를 취해줘야 한다.

 

예를 들면, 구글폼을 보낸 후 '확인 되었습니다' 하는 응답메시지에 IP 기록을 할 수 있는 타사 링크등을 전달해주어야 한다.

IP 정보 수집 예시.

구글폼 제출 후 IP정보를 받아오는 간단한 링크를 생성 후

사용자가 해당 링크를 누르는 경우 각 배치된 셀에 IP 및 동의하는 경우 gps도 받을 수 있습니다.

 

위 예시의 경우에는 제출 완료 후 링크를 눌러준 경우에 해당하며,

 

실제로 사용자가 링크를 누르지 않고 구글폼 등을 종료하는 경우에는 역시 강제할 수 없다.

 

어떻게 만드는가?

최대한 간단하게 만드는 방법은 앱스크립트의 HTML 서비스를 활용하는 것. 

 

Appsscript내에서 구글폼 신청 후 접속가능한 HTML 링크 서비스를 만든 후 해당 HTML IP 수집 데이터를 스프레드로 전달하도록 구성하면 된다.

위 스크립트처럼 앱스크립트 HTML 안에서 IP를 조회한 뒤

google.script.run.getIp(ipdata) 처럼 활용하는 방안.
 
IP데이터를 가져오고 나면 앱스크립트 함수와 연동해서 구글스프레드시트로 보내게 된다.
 
 

code.gs에서 이런식으로 getIp라는 함후를 만들었고 구글폼 제출 데이터에 맞춰서 4번째열에 ipdata를 입력해줄 수 있다.

 

이런 방식을 통해서 만드는게 번거롭다면 아예 앱스크립트 HTML 에서 폼 전체를 만들고, 입력하게끔 설정할 수도 있지만 그런 경우에는 아무래도 자유로운 폼 입력 및 수정이 가능한 타입폼 등 외부 서비스가 좀 더 편하다. (열람율이라던가 중도 포기율 등 통계데이터도 주기때문..!)

 

구글폼에서 결국 IP추적은 사용자 동의가 필요한 셈.

이러나 저러나 사용자의 데이터를 끌어오기 위해서는 동의가 필요하다. 구글폼 내부에서는 해결이 안되는 문제를 Appsscript를 활용하면 해결할 수 있었지만, 사용자가 해당 링크로 접속해주는 절차가 필요하고, 또 위치정보 등의 GPS데이터는 위치 허용을 꼭 눌러줘야 한다.

 

구글폼에서 IP추적을 하는데에 관심이 있는 분들은 댓글에 써놓은 링크를 테스트해보면 좋을듯 하다.