Documentation menu

MailInApp에서 연락처 및 발송

ESP용 HTML 내보내기 외에도, 완성된 이메일을 대시보드에서 바로 발송할 수 있습니다 — 단일 연락처, 선택한 일부, 또는 리스트 전체에게 말이죠. 발송은 여전히 자신의 SMTP 릴레이를 통해 이루어지므로, 발송 도메인과 평판은 그대로 여러분의 것입니다.

연락처 목록

연락처 탭에는 목록들이 있습니다. 모든 목록에는 email 열이 있으며(이것이 발송 가능하게 만드는 요소입니다) 이름, 플랜, 도시 등 원하는 열을 얼마든지 추가할 수 있고, 각 열은 스튜디오에서 {{field}} 병합 태그로도 사용됩니다.

연락처 목록은 다른 데이터 소스와 마찬가지입니다. 스튜디오의 데이터 패널에서 오디언스 역할로 연결하면, 이메일이 발송되는 대상이자 일반 {{field}} 병합 태그가 수신자별 값을 얻는 곳이 됩니다 — 캔버스는 실제 연락처 데이터로 미리보기됩니다. 데이터 소스 및 병합 태그를 참고하세요.

CSV 가져오기

연락처가 이미 다른 곳에 있나요? CSV 가져오기(연락처 탭에서, 또는 목록 안에서 추가하려면 그 목록 안에서)는 ESP와 스프레드시트가 내보내는 파일 — 쉼표, 세미콜론 또는 탭으로 구분되고 헤더 행이 있는 파일 — 을 받아들입니다. 따옴표로 묶인 값, Excel BOM, "" 이스케이프도 모두 처리됩니다.

헤더 이름이 열이 됩니다. email이라는 이름의 열이 없으면, 가져오기는 실제로 주소가 들어 있는 열(예: "E-Mail Address")을 찾아 이메일 열로 사용합니다. 저장을 누르기 전까지는 아무것도 저장되지 않으므로, 먼저 표를 검토하고 수정할 수 있습니다.

CSV 내보내기

목록(그리고 억제 패널)의 CSV 다운로드는 언제든 스냅숏 백업을 제공합니다 — 대규모 필터링된 발송 전이나, 플랫폼 외부에 사본을 보관하고 싶을 때 유용합니다. 위와 동일한 가져오기 기능을 통해 다시 불러올 수 있습니다.

발송 한 번만 설정하기

직접 발송을 하려면 설정에서 발송 방법을 두 가지 중 하나로 구성해야 합니다:

  • **아직 ESP가 없나요? 자신의 도메인을 인증**하면 MailInApp이 여러분을 대신해 발송합니다 — 생성하거나 교체할 SMTP 자격 증명이 없습니다. SMTP를 지원하는 제공업체가 아직 없다면 이것이 권장되는 기본값입니다.
  • 이미 ESP가 있나요? MailInApp을 해당 ESP의 SMTP 릴레이로 연결하세요 — SendGrid, Brevo, Mailgun, Amazon SES, 소규모 테스트용 Gmail 앱 비밀번호까지 가능합니다. SMTP 엔드포인트가 있는 제공업체라면 무엇이든 사용할 수 있습니다. 첫 발송 전에 테스트 및 저장으로 연결을 확인하세요. SMTP 비밀번호는 자격 증명입니다: 서버 측에만 저장되며 어디서나 마스킹되어 표시됩니다.

두 방법 모두 동일한 발송 파이프라인으로 이어집니다 — 수동 발송, 예약 발송, 그리고 이 페이지의 나머지 모든 기능은 어느 쪽을 선택하든 동일하게 동작합니다.

먼저 테스트 발송하기

목록에 발송하기 전에 테스트 발송을 사용해 자신에게(또는 다른 누구에게든) 완전히 렌더링된 사본을 보내보세요. 계정 이메일이 미리 채워지고, 제목에는 [Test]가 접두어로 붙으며, 실제로 작동하는 라이브 뷰 링크가 포함되어 인터랙티브 블록을 실제로 테스트할 수 있습니다. 테스트 발송은 데이터 소스를 건드리지 않고, 200명 수신자 한도에 포함되지 않으며, 발송 기록에도 나타나지 않습니다.

발송

대시보드의 이메일 카드에서 발송을 클릭하세요:

  1. 수신자는 이메일의 오디언스 — 스튜디오의 데이터 패널에서 오디언스 역할로 연결된 연락처 목록 — 에서 가져옵니다. 아직 연결된 목록이 없다면 그 자리에서 선택할 수 있습니다.
  2. 전체를 선택하거나 개별 연락처를 체크하세요 — 한 명에게 발송하는 것도 그저 한 행짜리 선택일 뿐입니다. 이미 발송한 행에는 마지막 발송 날짜가 표시되어 누구에게 도달했는지 놓치지 않을 수 있습니다(이는 정보 제공용일 뿐이며 선택 항목을 자동으로 바꾸지는 않습니다).
  3. 제목을 설정하고(병합 태그도 여기서 동작하며, ✨ 제안을 누르면 AI가 몇 가지 옵션을 작성해 줍니다 — AI 문구 지원 참고) 발송하세요.

모든 수신자는 각자 컴파일된 이메일을 받습니다: 자신의 행에서 해석된 병합 태그, 그리고 개인별로 서명된 라이브 뷰 링크가 포함됩니다. 인터랙티브 블록은 정적 폴백 티어로 링크 우선 인터랙션과 함께 렌더링됩니다. 투표 옵션과 평점은 기록 전에 확인을 거치는 링크이며, 폼과 캐러셀은 호스팅된 라이브 뷰를 엽니다. 이 이메일은 모든 클라이언트에서 동작하며, 단순 링크 프리페치로는 아무것도 기록되지 않습니다.

A/B 테스트

최대 4개의 변형을 추가해(총 2~5개) 발송을 스플릿 테스트할 수 있습니다. 각 변형은 제목, 발신자 아이디, 또는 다른 프로젝트를 가리켜 이메일 콘텐츠 전체를 바꿀 수 있습니다. 모든 수신자는 이메일 주소를 기준으로 결정론적으로 하나의 변형에 배정되므로, 재시도와 재발송이 있어도 누가 어떤 변형을 봤는지 뒤섞이지 않습니다.

선택적으로 자동으로 승자 선정하기를 켜면 먼저 샘플에만 발송한 뒤, 충분한 데이터가 모이면 MailInApp이 최고 성과 변형을 나머지 전체에게 발송합니다. A/B 테스트 및 자동 승자 선정을 참고하세요. 예약 발송은 현재로서는 단일 변형만 지원합니다 — 예약 발송 양식에는 변형 선택기가 없습니다.

오디언스 세그먼트 나누기

수신자 목록 위의 오디언스 필터는 데이터 소스의 필드를 기준으로 규칙(예: ticket_status = Resolved이고 resolved_date가 최근 7일 이내)을 만들고, 선택 항목에 필터 적용은 현재 조건에 맞는 모든 항목으로 선택을 설정합니다 — 일회성 수동 선택이 아니라 롤링 세그먼트입니다. 스튜디오에서 블록의 표시 조건을 조합할 때와 동일한 방식으로 AND/OR로 규칙을 결합할 수 있습니다.

소프트 런칭 발송

소프트 런칭은 현재 선택 항목 중 무작위 일부를 샘플링합니다 — 비율을 설정하고 샘플 발송을 누르면 먼저 그 비율만큼 발송됩니다. 결과에 만족했다면 **남은 대상 선택(아직 미발송)**을 누르면 이 이메일을 아직 받지 않은 목록의 모든 사람을 선택합니다. 그러면 후속 발송이 샘플에게 중복 발송되지 않습니다.

할인 혜택

오디언스의 연락처 목록에 Shopify 또는 WooCommerce 스토어가 연결되어 있으면, 스튜디오의 블록 팔레트에 전자상거래 할인 블록이 나타납니다 — 구매 이력 세그먼트와 짝을 이루는 블록입니다: 과거 구매자를 매칭한 다음, 실제로 무언가를 제공하세요. 다른 블록과 마찬가지로 이메일 어디에나 배치할 수 있으며, 스토어가 연결되기 전까지는 팔레트에 보이지 않습니다.

할인 비율 또는 정액 할인, 코드 유효 기간, 같은 연락처에게 다시 할인을 제공하기까지 대기할 일수, 그리고 선택적으로 전체 스토어 대신 상품 하나로 제한하는 검색 가능한 범위 선택기를 설정합니다. 매칭된 각 수신자의 이메일이 렌더링되기 직전, MailInApp은 연결된 여러분의 스토어에 실제 일회용 할인 코드를 발급하고(해당 고객의 이메일로 제한된 Shopify 할인 코드 또는 WooCommerce 쿠폰), 그 코드를 중심으로 블록 자체의 코드 표시와 "지금 쇼핑하기" 버튼을 구성합니다 — 직접 배치할 병합 태그는 없습니다. 만료 카운트다운 표시를 켜면 같은 카드에 코드 자체의 만료 시점에 맞춘 실시간 카운트다운 이미지가 추가됩니다.

몇 가지 알아둘 점:

  • 사용(리딤)은 전적으로 여러분 자신의 스토어 체크아웃에서 이루어집니다 — MailInApp 자체의 상품 블록 체크아웃이 아닙니다. 이는 의도적인 설계입니다: 실제 스토어 구매로 세그먼트된 오디언스는 이미 그곳에서 쇼핑하고 있으므로, 할인은 별도의 결제 수단 대신 그 스토어의 기존 재고, 세금, 가격 규칙을 그대로 재사용합니다.
  • 각 블록은 독립적으로 발급되고 쿨다운이 적용되며, 해당 블록에 키가 지정됩니다 — 같은 이메일에 할인 블록을 두 개 이상 배치하더라도(또는 프로젝트 간에 블록을 재사용하더라도) 한 블록이 다른 블록의 코드 발급을 막지 않습니다.
  • 수신자의 주문은 다른 스토어 클릭과 마찬가지로 코드를 발송한 캠페인으로 여전히 귀속됩니다 — Shopify 주문, 체크아웃 및 매출 추적을 참고하세요.
  • 수신자에 대한 발급이 실패하면(스토어가 연결되지 않았거나 토큰을 다시 연결해야 하는 경우), 해당 수신자의 이메일은 여전히 발송됩니다 — 다만 실제 코드 대신 블록의 일반 폴백 라벨이 표시됩니다. 할인 블록으로 인해 발송이 막히는 일은 없습니다.
  • 예약 발송도 수동 발송과 동일한 방식으로 이를 처리하며, 실행할 때마다 새 코드를 발급합니다 — 롤링 윈도우 예약은 이전 회차의 오래된 코드를 절대 나눠주지 않습니다.
  • 오디언스 필터 없이 특정 상품 하나에 연결된 할인의 경우, 상품 블록에는 대신 독자적인 상품별 할인 토글이 있습니다 — 두 방식이 어떻게 다른지는 스토어 네이티브 할인을, 실습 예시는 Shopify 상품 할인 코드 / WooCommerce 상품 할인 코드를 참고하세요.

예약 발송

일부 오디언스는 시간이 지나며 바뀝니다 — "3~7일 전에 해결됨"은 매일 다른 행과 매칭됩니다. 예약 발송은 연결된 데이터 소스의 현재 행을 기준으로 오디언스 필터를 일정에 따라(매일 또는 매주, 선택한 UTC 시각에) 다시 평가합니다. 이 이메일을 아직 받지 않은 매칭 대상에게만 발송하며, 지난 실행이 멈춘 지점부터 이어갑니다. 각 실행은 수동 발송과 마찬가지로 일반 발송 기록을 남깁니다. 릴레이가 3회 연속 실행에서 모든 수신자에게 실패한 예약은 목록을 조용히 소모하는 대신 자동으로 비활성화됩니다.

예약은 반복 주기 대신 **한 번(특정 날짜)**으로도 설정할 수 있습니다 — 특정 달력 날짜에 발송되고 반복 없이 스스로 비활성화되는 일회성 발송입니다. 이는 12개월 캠페인 캘린더이 발송 예약하기 버튼이 내부적으로 사용하는 것과 동일한 메커니즘입니다: 캘린더에서 날짜를 선택하면 그 프로젝트를 대상으로 정확히 그 날짜에 발송되는 일회성 예약이 생성되므로, 날짜가 되었을 때 직접 돌아와 발송할 필요가 없습니다.

헬프데스크 또는 CRM에서 연락처 푸시하기

발송 때마다 CSV를 다시 내보내는 대신, 연락처 목록은 푸시를 직접 받을 수 있습니다. 연락처 탭의 목록 설정에서 해당 목록의 API 키를 발급한 다음, 자체 시스템(헬프데스크 자동화, CRM 워크플로)에서 다음을 호출하도록 하세요:

POST /api/datasources/<datasourceId>/rows
Authorization: Bearer <apiKey>
Content-Type: application/json

{ "rows": [{ "email": "[email protected]", "ticket_status": "Resolved" }] }

행은 소문자 이메일을 기준으로 업서트됩니다 — 이미 아는 주소는 그 자리에서 업데이트되고, 새 주소는 추가됩니다 — 응답 귀속이 위치 기반(row:<n>)이기 때문에 기존 행은 절대 순서가 바뀌거나 삭제되지 않습니다. 배치는 최대 500행으로 제한되며 키별로 속도가 제한됩니다. 키는 발급(또는 재발급) 시 한 번만 표시되고 이후에는 MailInApp의 다른 모든 자격 증명과 마찬가지로 어디서나 마스킹됩니다. 취소는 기존 행을 건드리지 않고 연동을 비활성화합니다.

발송 기록

실제 발송(테스트 발송 제외)은 모두 기록되어 수신자 선택기 위에 표시됩니다 — 날짜, 제목, 발송/실패/건너뜀 건수까지. 새로고침해도 클라이언트 측에서 삭제되는 것은 전혀 없습니다 — 기록은 실제로 나간 것에 대한 단일 진실 공급원입니다.

수신 거부 및 억제

푸터 프리셋에는 해당 수신자 전용 원클릭 수신 거부 페이지로 연결되는 {{unsubscribe_url}} 병합 태그가 포함되어 있습니다. 수신 거부는 계정 전체에 적용됩니다: 클릭한 프로젝트 하나만이 아니라 여러분이 발송하는 모든 프로젝트에서 해당 주소를 억제하므로, 수신자가 캠페인마다 따로 수신 거부할 필요가 없습니다.

SMTP 릴레이가 발송 시점에 동기적으로 거부하는 주소(잘못된 수신 주소, 릴레이 거부)도 동일하게 억제되므로, 죽은 주소가 앞으로의 모든 발송에서 재시도되지 않습니다. (릴레이가 메시지를 받아들인 뒤 나중에 비동기적으로 반송하는 경우는 ESP별 웹훅 없이는 확인할 수 없습니다 — 이는 현재 범위 밖입니다.)

억제된 주소는 연락처 탭에 반송됨 또는 수신 거부됨 배지로 표시됩니다. 둘 다 재구독이 가능합니다 — 가득 찬 메일함이나 실수로 누른 클릭이 반드시 영구적인 것은 아니기 때문입니다 — 그리고 억제된 행은 이후 발송에서 자동으로 건너뛰어집니다(실패와는 별도로 보고됩니다).

발송 후

ESP를 통한 발송과 정확히 동일하게: 인터랙션은 응답으로 흘러들어 연락처별로 그룹화되며, 웹훅을 설정했다면 이벤트마다 발동합니다.

제한사항

  • 발송당 최대 200명의 수신자(목록 하나, 예약 발송 한 회 실행 기준). 더 큰 오디언스에는 내보내기 및 ESP 워크플로를 사용하세요 — 예약 발송도 다음 실행에서 남은 대상을 그저 따라잡을 뿐입니다.
  • 유효한 이메일 주소가 없는 행은 건너뛰며 발송 후 보고됩니다.
  • CSV를 가져올 때 같은 파일 안에서 이메일 주소가 앞서 이미 나온 행은 제외되므로, 겹치는 내보내기 파일을 다시 가져와도 중복 발송이 생기지 않습니다 — "N개의 중복 이메일을 건너뛰었습니다" 알림이 표시됩니다.
  • 연락처 푸시 API는 배치당 최대 500행으로 제한됩니다.