연락처는 그룹으로 관리할까 조건으로 관리할까?
2026년 1월 20일
"이번 프로모션은 가입한 지 90일 안 됐고, 등급이 골드 이상이고, 구매점수 80점 넘는 사람한테만 보내고 싶어요."
마케터라면 이런 요청을 캠페인 기획 단계에서 수도 없이 만듭니다. 그리고 이 요청에는 공통점이 있습니다. "지금 이 조건에 맞는 사람"을 찾는 거지, "예전에 누군가 이 리스트에 넣어준 사람"을 찾는 게 아니라는 겁니다.
그런데 많은 이메일 툴의 세그먼트는 후자처럼 동작합니다.
세그먼트가 리스트로 박제되는 순간
세그먼트를 그룹 방식으로 만든 툴에서는 위 요청을 처리하려면 누군가(대개 개발자) 조건에 맞는 사람을 한 번 뽑아서 리스트에 담아야 합니다. 문제는 그다음입니다. 다음 주에 어떤 고객이 골드 등급으로 승급해도 그 리스트는 모릅니다. 구매점수가 떨어져서 더 이상 조건에 안 맞는 사람이 생겨도 리스트는 그대로입니다. 리스트는 만든 순간의 스냅샷이지 지금 조건에 맞는 사람이 아닙니다.
더 큰 문제는 다음 캠페인입니다. 마케터가 조건을 살짝 바꾸고 싶어도(구매점수 기준을 80점에서 60점으로 낮춘다든지) 리스트를 새로 만들어야 하고 그건 결국 다시 개발팀에 요청이 갑니다. 세그먼트 하나 조정하는 데 마케터가 직접 못 하고 매번 티켓을 넣어야 한다면, 그건 이미 설계가 마케터 편이 아니라 엔지니어 편에서 이뤄진 겁니다.
필터 방식은 마케터의 언어를 그대로 옮겨놓은 것
필터 방식은 다릅니다. "등급이 골드 이상이고 구매점수가 80점 이상"이라는 조건 자체를 저장합니다. 그 조건에 맞는 사람이 누구인지는 시스템이 계속 다시 확인합니다. 마케터가 기준을 60점으로 바꾸고 싶으면 그 자리에서 숫자만 바꾸면 됩니다. 개발팀에 요청할 필요가 없습니다.
실제로 Resend는 API에 segments 파라미터로 "이 연락처를 이 세그먼트 ID에 추가하라"는 방식을 씁니다. 조건이 아니라 배정입니다. 반면 Mailchimp는 태그(사람이 붙이는 라벨)와 세그먼트(조건 기반)를 아예 다른 기능으로 나눠서 마케터가 상황에 맞게 고를 수 있게 해뒀습니다. SendGrid도 조건 기반이지만 세그먼트가 1시간에서 24시간 주기로만 갱신된다고 공식 문서에 명시되어 있습니다. 조건은 마케터의 것인데, 그 조건이 실제로 반영되는 속도는 여전히 엔지니어링 사정을 따라간다는 뜻입니다.
메일허브는 이 문제를 이렇게 다룹니다
메일허브도 조건 저장 방식입니다. 등급, 포인트, 구매점수, 가입일 같은 연락처의 부수 정보로 필터를 만들면, 그 조건에 맞는 사람을 시스템이 계산합니다. 마케터가 조건을 수정하는 데 개발팀 티켓이 필요 없다는 점에서는 맞는 방향으로 가고 있습니다.
갱신 방식은 상황에 따라 다릅니다. 세그먼트를 새로 만들거나 필터 조건을 직접 수정하면, 그 자리에서 바로 다시 계산됩니다. 마케터가 방금 바꾼 조건이 곧바로 반영되는 경우입니다. 반면 등급이나 포인트처럼 연락처 정보 자체가 바뀌는 경우는 24시간 주기로 동기화됩니다. 연락처가 바뀔 때마다 관련된 모든 세그먼트를 즉시 재계산하는 건, 앞서 SendGrid가 리소스 절약을 이유로 캐시 주기를 두는 것과 같은 이유로 비용이 큽니다. 마케터가 직접 만지는 지점은 즉시, 시스템이 배경에서 따라잡아야 하는 지점은 주기적으로 — 이 둘을 구분한 게 메일허브가 택한 절충입니다.
결론
세그먼트를 그룹으로 만들지 조건으로 만들지는 기술 선택처럼 보이지만 사실은 누구의 사고방식을 따라가느냐의 문제입니다. 마케터는 "지금 이 조건에 맞는 사람"을 생각하고 캠페인을 기획합니다. 세그먼트가 그 생각을 그대로 옮겨놓지 못하고 리스트로, 티켓으로, 동기화 지연으로 한 단계씩 번역되는 순간, 그 손실은 결국 캠페인의 정확도로 돌아옵니다.