구글 폼 답변 미리 채우기: prefill URL로 설문지 자동 입력하는 법
TL;DR — 구글 폼(설문지)에 특정 답변을 미리 채워서 공유하는 방법을 정리했습니다. entry 파라미터 원리부터 자동 생성 기능, 여러 필드 세팅, 흔한 실수까지 단계별로 설명합니다.
대량으로 설문을 돌리다 보면 "응답자마다 일부 칸은 이미 정해져 있는데, 그걸 매번 직접 입력하게 하는 게 비효율적"이라는 순간이 옵니다. 예를 들어 부서별로 같은 설문을 보내면서 '소속 부서' 칸만 미리 채워두고 싶거나, 이벤트 참가자에게 이름·코드가 자동으로 들어간 링크를 보내고 싶을 때죠. 구글 폼은 이런 상황을 위해 URL 파라미터로 답변을 미리 채우는(prefill) 기능을 정식 지원합니다.
이 글에서는 그 원리(entry 파라미터)부터, 손으로 직접 만드는 방법, 구글이 제공하는 자동 생성 기능, 여러 필드를 한 번에 채우는 법, 그리고 실무에서 자주 막히는 부분까지 순서대로 정리합니다.
prefill이란 무엇인가
prefill(프리필)은 설문 응답 화면이 열릴 때 일부 칸이 이미 입력된 상태로 보이게 하는 기능입니다. 응답자는 그 값을 그대로 제출하거나 수정할 수 있습니다. 즉 값을 '강제'하는 게 아니라 '초기값을 제안'하는 것에 가깝습니다. 이 점이 뒤에서 설명할 보안 주의사항과 연결됩니다.
동작 방식은 단순합니다. 설문 응답 URL 뒤에 쿼리 문자열로 entry.<번호>=<값> 형태를 붙이면, 구글 폼이 해당 문항에 그 값을 채워서 렌더링합니다.
핵심 개념: entry 번호와 viewform URL
구글 폼의 응답 주소는 보통 다음 형태입니다.
https://docs.google.com/forms/d/e/<폼ID>/viewform
여기에 물음표(?)를 붙이고 파라미터를 추가합니다.
https://docs.google.com/forms/d/e/<폼ID>/viewform?entry.<문항번호>=<채울값>
문제는 entry.<문항번호>입니다. 이 숫자는 문항마다 고유하게 부여된 내부 식별자라서, 우리가 임의로 1번·2번처럼 정할 수 없고 실제 폼에서 알아내야 합니다. 알아내는 방법은 두 가지입니다.
방법 A — 구글 폼 내장 "미리 채워진 링크 받기" (권장)
가장 안전하고 빠른 방법은 구글 폼이 제공하는 기능을 쓰는 것입니다.
- 폼 편집 화면 오른쪽 위의 점 세 개(더보기) 메뉴를 엽니다.
- **"미리 채워진 링크 받기(Get pre-filled link)"**를 선택합니다.
- 미리보기 형태의 폼이 뜨면, 자동으로 채워두고 싶은 칸에 원하는 값을 입력합니다.
- 아래의 "링크 받기" 버튼을 누르면, entry 번호와 값이 모두 포함된 완성형 URL이 생성됩니다.
- 그 URL을 복사해 공유하면 끝입니다.
이 방식의 장점은 entry 번호를 직접 찾을 필요가 없고, 값 인코딩(공백·한글 처리)도 구글이 알아서 해준다는 점입니다. 단발성으로 몇 개만 만들 때는 이 방법이면 충분합니다.
방법 B — 개발자 도구로 직접 entry 번호 찾기
자동화 스크립트로 URL을 대량 생성하거나, 내장 기능으로는 원하는 결과가 안 나올 때는 entry 번호를 직접 알아내야 합니다.
- 실제 응답 화면(viewform)을 브라우저로 엽니다.
- 찾으려는 문항에 식별하기 쉬운 임시값을 입력합니다. 예를 들어
ZZZ-TEST처럼 본문에 등장하지 않을 문자열이 좋습니다. F12로 개발자 도구를 열고Ctrl + F(요소 검색)로 방금 입력한ZZZ-TEST를 검색합니다.- 해당
<input>태그의name속성을 확인합니다.name="entry.2048946397"같은 값이 보일 겁니다. - 이
entry.2048946397이 그 문항의 식별자입니다.
이렇게 모든 대상 문항의 entry 번호를 모은 뒤, URL을 조립합니다.
# 부서 칸(entry.2048946397)을 '마케팅팀'으로 미리 채우는 예시
https://docs.google.com/forms/d/e/<폼ID>/viewform?entry.2048946397=마케팅팀
한글이나 공백이 들어가면 URL 인코딩이 필요할 수 있습니다. 예를 들어 공백은 %20 또는 +로 바꿔야 안전합니다.
# '신규 고객'처럼 공백이 포함된 값
?entry.2048946397=신규%20고객
여러 필드를 한꺼번에 채우기
두 개 이상의 문항을 미리 채우려면 앰퍼샌드(&)로 파라미터를 이어 붙입니다.
https://docs.google.com/forms/d/e/<폼ID>/viewform
?entry.2048946397=마케팅팀
&entry.1352719307=2026-2분기
&entry.0987654321=홍길동
실제로는 한 줄로 작성합니다(위는 가독성을 위해 줄을 나눴습니다). 첫 파라미터 앞에만 ?를 쓰고, 그 뒤로는 전부 &로 연결한다는 점만 기억하면 됩니다.
대량 생성이 필요하다면, 스프레드시트에서 행마다 다른 값을 넣어 URL을 자동으로 만드는 식으로 확장할 수 있습니다. 개념적으로는 다음과 같은 템플릿을 채워 넣는 작업입니다.
# 템플릿
{기본URL}?entry.{부서ID}={부서}&entry.{분기ID}={분기}
# 행별로 값만 바꿔서 생성
.../viewform?entry.2048946397=영업팀&entry.1352719307=2026-2분기
.../viewform?entry.2048946397=개발팀&entry.1352719307=2026-2분기
항목 유형별 값 지정 요령
문항 유형에 따라 채우는 값의 형식이 조금씩 다릅니다.
- 단답형 / 장문형: 텍스트를 그대로 넣습니다.
entry.123=내용 - 객관식 / 드롭다운: 보기에 등록된 정확한 텍스트를 넣어야 선택됩니다. 글자가 한 글자라도 다르면 매칭되지 않습니다.
- 체크박스(복수 선택): 같은 entry 번호를 여러 번 반복해서 각 보기를 지정합니다. 예:
entry.123=옵션A&entry.123=옵션C - 날짜 / 시간: 위젯 형식과 맞춰야 하므로, 가능하면 방법 A(미리 채워진 링크)로 만들어 형식을 확인하는 편이 안전합니다.
흔한 실수와 엣지케이스
1) 이전에 입력한 값이 남아 안 보이는 경우 테스트하다 보면 prefill 값이 화면에 반영되지 않을 때가 있습니다. 브라우저나 폼이 이전 응답을 기억하고 있을 수 있는데, 응답 화면 하단의 **"양식 지우기(Clear form)"**를 눌러 초기화한 뒤 prefill 링크를 다시 열면 정상적으로 채워진 상태가 보입니다.
2) 객관식인데 값이 안 채워짐 보기 텍스트와 파라미터 값이 정확히 일치하지 않아서입니다. 띄어쓰기, 괄호, 특수문자까지 1:1로 맞춰야 합니다. 직접 타이핑하지 말고 보기 문구를 복사해서 넣는 것을 권합니다.
3) prefill은 '강제'가 아니다 (중요) 미리 채운 값은 응답자가 자유롭게 수정할 수 있습니다. 따라서 "사용자가 절대 못 바꾸는 식별값"으로 신뢰하면 안 됩니다. 개인정보나 결제 식별자처럼 위·변조되면 안 되는 데이터를 prefill에 의존해 검증하는 설계는 피해야 합니다.
4) URL이 너무 길어지는 문제 문항이 많고 값이 길면 URL이 비대해집니다. 일부 메신저는 긴 URL을 잘라버리므로, 단축 URL 서비스를 함께 쓰는 것이 안전합니다.
5) entry 번호는 폼마다 다르다 폼을 복제하면 entry 번호도 새로 부여됩니다. 기존 폼의 번호를 복제본에 그대로 쓰면 매칭되지 않으니, 복제 후에는 entry 번호를 다시 확인해야 합니다.
요약
- 구글 폼은
viewform?entry.<번호>=<값>형식으로 답변을 미리 채울 수 있다. - 가장 안전한 방법은 폼 메뉴의 **"미리 채워진 링크 받기"**를 쓰는 것.
- 직접 만들 때는 개발자 도구에서
<input>의name="entry.xxxx"를 찾는다. - 여러 필드는
&로 연결, 객관식은 보기 텍스트와 정확히 일치시킨다. - prefill 값은 수정 가능하므로 보안 식별값으로 신뢰하지 말 것.
AI에게 물어볼 때 (프롬프트 팁)
이런 반복 작업은 AI에게 잘 지시하면 URL 조립을 자동화할 수 있습니다. 좋은 프롬프트는 목표·입력 데이터·출력 형식을 명확히 분리해 적는 것이 핵심입니다.
예시 1 — URL 일괄 생성 요청
구글 폼 prefill URL을 만들어줘.
- 기본 주소: https://docs.google.com/forms/d/e/ABC123/viewform
- 부서 문항 entry 번호: 2048946397
- 분기 문항 entry 번호: 1352719307
아래 표의 각 행마다 한 줄씩 완성된 URL을 출력해줘. 한글/공백은 URL 인코딩해줘.
| 부서 | 분기 |
| 영업팀 | 2026-2분기 |
| 개발팀 | 2026-2분기 |
예시 2 — 디버깅 요청
이 prefill 링크에서 객관식 '등급' 문항만 안 채워져.
링크: (여기에 URL)
보기 텍스트: "프리미엄(VIP)"
원인 후보와 점검 순서를 체크리스트로 정리해줘.
예시 3 — 스프레드시트 수식화
구글 시트에서 A열=부서, B열=분기일 때
entry.2048946397, entry.1352719307에 매핑해
완성 prefill URL을 만드는 ARRAYFORMULA 수식을 작성하고
ENCODEURL 사용 이유까지 설명해줘.
이처럼 "어떤 형식의 출력을 원하는지"를 못 박아 두면 AI가 추측 없이 정확한 결과를 냅니다. 프롬프트 설계 자체를 점검하고 싶다면 Prompt Architect의 분석기로 위 프롬프트의 명확성·구조 점수를 확인해 보세요.