An email character flies into a trash bin.

개인 이메일 또는 Gmail로 보낸 메일에 수신 거부(Unsubscribe) 기능 추가하기 — Google Sheet 자동 기록 시스템

Gmail이나 개인 이메일로 보낸 메일에도 “수신 거부(Unsubscribe)” 기능을 넣을 수 있을까요?
정답은 넣을 수 있습니다!Google Sheet + Apps Script를 활용하면 무료로 구현할 수 있습니다.
아래 단계를 그대로 따라 하면, 수신자가 “수신 거부”를 클릭할 때마다 자동으로 Google Sheet에 기록됩니다.


개요

이 방법은 메일 수신자가 수신 거부를 클릭하면,
자동으로 Google Sheet에 그 이메일 주소가 저장되어
다음 메일 발송 시 자동으로 제외할 수 있는 간단한 시스템입니다.

작동 흐름:

[이메일] → [수신 거부 링크 클릭] → [폼 페이지] → [Google Apps Script] → [Google Sheet 기록]

1단계. Google Sheet 준비하기

1. Google Sheets에서 새 스프레드시트를 만듭니다.
2. 시트 하단 탭 이름을 UnsubscribeList 로 바꿉니다.
3. 첫 번째 줄(1행)에 아래와 같이 입력하세요:

Timestamp    Email    Status

Apps Script는 getSheetByName('UnsubscribeList')를 통해 이 탭을 불러오기 때문에,
철자나 대소문자가 다르면 작동하지 않습니다.


2단계. Google Apps Script 작성하기

확장 프로그램 → Apps Script로 이동하여 아래 코드를 붙여넣습니다.

function doPost(e) {
  const ss = SpreadsheetApp.openById('YOUR_SPREADSHEET_ID');
  const sheet = ss.getSheetByName('UnsubscribeList');
  const email = e.parameter.email;
  const confirm = e.parameter.confirm;

  if (confirm && email) {
    sheet.appendRow([new Date(), email, "Unsubscribed"]);
  }

  return ContentService.createTextOutput("감사합니다. 수신 거부가 완료되었습니다.");
}

YOUR_SPREADSHEET_ID를 자신의 시트 ID로 변경하세요.
URL의 /d//edit 사이에 있는 긴 문자열이 ID입니다.


3단계. 웹 앱으로 배포하기

상단의 배포 → 새 배포를 클릭하고 아래 설정을 선택하세요.

  • 유형: 웹 앱
  • 실행 계정:
  • 접근 권한: 모든 사용자

“배포”를 클릭하고 Google 계정 인증을 허용한 뒤 생성된 URL을 복사합니다.
예시:

https://script.google.com/macros/s/AKfycbyo12345/exec

이 URL은 폼의 action 주소로 사용됩니다.


4단계. 수신 거부 페이지 만들기

<h2>수신 거부</h2>
<p>더 이상 이메일을 받고 싶지 않으신가요? 아래에서 확인해 주세요.</p>

<form method="POST" action="https://script.google.com/macros/s/AKfycbyo12345/exec">
  <label>
    <input type="checkbox" name="confirm" value="true" required>
    프로모션 이메일을 더 이상 받지 않겠습니다.
  </label><br><br>

  <input type="hidden" name="email" id="email" value="">
  <button type="submit">확인</button>
</form>

<script>
  const params = new URLSearchParams(window.location.search);
  const email = params.get('email');
  if (email) document.getElementById('email').value = email;
</script>

이 페이지는 WordPress, Webflow, 혹은 일반 HTML 페이지 어디서든 만들 수 있습니다.
폼의 action에는 본인 스크립트의 Web App URL을 입력하세요.


5단계. 이메일 하단에 수신 거부 링크 추가하기

<p style="font-size:13px;color:#777;">
이메일 수신을 원하지 않으시면  
<a href="https://yourdomain.com/unsubscribe?email=john@example.com" target="_blank">여기를 클릭</a>하세요.
</p>

수신자별로 실제 이메일 주소를 ?email= 뒤에 추가해야 합니다.
예: https://yourdomain.com/unsubscribe?email=john@example.com
수신자가 클릭하면 이메일 주소가 자동 입력되어 Google Sheet에 기록됩니다.


6단계. 테스트하기

  1. 테스트용 이메일을 직접 발송합니다.
  2. Unsubscribe 링크 클릭 → 체크박스 선택 → Submit 클릭.
  3. Google Sheet 새로고침 → 새 행 추가 확인.
Timestamp          Email                 Status
2025-10-24         john@example.com      Unsubscribed

선택사항: 자동화 + 통합 팁

  • Contact Form 7에서도 동일한 방식으로 hidden 필드와 JS를 적용할 수 있습니다.
  • Flamingo 플러그인과 연동 시, WordPress 내부 DB에도 기록됩니다.
  • Brevo, Mailchimp에서는 {{ contact.EMAIL }} 변수를 이용해 자동화 가능합니다.

마무리

이제 Gmail이나 개인 이메일에서도
수신 거부 링크 + 자동 기록 시스템을 완벽하게 구현했습니다.
클릭 → 폼 제출 → Google Sheet 기록 → 다음 발송 시 자동 제외
이 과정을 통해 구독자 관리, 스팸 방지, 법적 준수를 한 번에 해결할 수 있습니다.

리스트를 깔끔하게 유지하고, 스팸 신고를 예방하며,
수신자 경험을 개선하는 가장 간단하고 안전한 방법입니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다