텔레그램 메시지, 이름만 바꾸면 끝? 본문·버튼·링크 개인화 방법

텔레그램 메시지, 이름만 바꾸면 개인화가 끝날까요? “민서님”이라고 불러도 버튼이 다른 상품으로 연결되면 안내는 틀린 상태입니다. 고객 이름 넣기, 준비한 문구 중 하나 고르기, 버튼 글자 바꾸기, 고객별 URL 넣기는 각각 따로 설정해야 합니다.

아래에서는 세미나 신청자에게 일정 페이지를 안내하는 예시로 입력값과 완성 메시지를 비교합니다. BLB와 Sunrise의 제품별 가이드에 나온 설정을 구분하고, 직접 만드는 템플릿은 설명용이라고 표시했습니다. 사용하는 도구에서 같은 기능을 어디까지 지원하는지 대조해 보세요.

1. 이름 치환과 랜덤 문구를 나눠 설정하세요

이름 치환은 받는 사람의 값을 넣는 작업입니다. BLB 발송 가이드의 설정 화면에서는 사람 모양의 변수 메뉴를 열고 First name, Last name, User name 가운데 필요한 값을 선택합니다. 특정 문자열을 임의로 타이핑하기보다 도구의 변수 메뉴에서 넣는 방식부터 확인하세요. 같은 가이드에는 자동 재게시(Авторепост)가 켜져 있으면 변수 옵션이 동작하지 않는다는 안내도 있으므로, 해당 모드를 사용하는지 함께 확인하세요.

이 글의 {{이름}}은 설명용 표기이며 BLB의 실제 입력 토큰이 아닙니다. 도구마다 사용하는 문법이 다르고 Telegram이 {{이름}}이나 {name}을 공통으로 치환해 주지는 않습니다. 이름이 민서라면 “민서님, 일정을 확인해 주세요”가 되도록 만들고, 이름이 없을 때는 “안녕하세요. 일정을 확인해 주세요”로 인사말 전체를 바꿉니다.

Spintax는 준비한 표현 중 하나를 고르는 방식입니다. BLB 가이드에서 확인한 형식은 {A|B|C}입니다. 이를 이용한 작성 예시는 {안녕하세요|반갑습니다|좋은 하루입니다}입니다. 이름 값이 바뀌는 기능과는 별개이며, 후보는 같은 안내 목적에 맞는 표현으로 준비하세요.

매번 무작위로 선택한다면 첫 발송과 다음 발송에서 같은 문구가 나올 수 있습니다. “안녕하세요 → 안녕하세요 → 반갑습니다”도 가능한 결과입니다. 중복 없는 순서를 원한다면 순번이나 미사용 후보 목록을 관리하는 기능이 따로 필요합니다. 도구가 무작위 선택인지 순환 선택인지 구분하세요.

작업입력·설정 예시완성 결과 예시
고객 이름 넣기BLB 변수 메뉴 → First name / 이름 값: 민서민서님, 일정을 확인해 주세요.
이름이 없을 때기본 인사말을 별도로 설정하는 설계안녕하세요. 일정을 확인해 주세요.
문구 선택{안녕하세요|반갑습니다|좋은 하루입니다}반갑습니다
미치환 오류설명용 {{이름}}을 그대로 전송{{이름}}님 → 완성 결과 검수에서 수정

2. 버튼 문구·URL·post ID는 독립 항목입니다

Bot API에서 인라인 버튼의 text는 보이는 글자이고 url은 실제로 열 주소입니다. 아래는 reply_markup에 넣는 최소 구성 예시입니다. text를 “세미나 일정 보기”로 바꿔도 url은 그대로 남습니다. 목적지를 바꾸려면 URL 항목도 명시적으로 수정해야 합니다.

{"inline_keyboard": [[{"text": "일정 확인", "url": "https://example.com/seminar"}]]}

callback_data는 버튼을 누른 선택 정보를 봇으로 보내는 방식입니다. 웹페이지를 여는 URL 버튼과 구분하세요. “자료 주제 선택”을 저장하는 기능과 “자료 페이지 열기”는 다른 동작이며, 한 버튼에 url과 callback_data를 함께 넣어 두 기능을 동시에 지정하지 않습니다.

BLB Postbot 가이드에는 버튼 문구에 Spintax를 쓰는 설정과 링크 입력란이 따로 나옵니다. 예를 들어 버튼을 {일정 확인|세미나 일정 보기}로 준비하더라도 URL은 https://example.com/seminar로 고정할 수 있습니다. 이 형식을 다른 도구에 그대로 넣기 전에는 그 도구의 지원 여부를 확인하세요.

BLB의 여러 post ID 선택은 미리 만든 게시물 중 하나를 고르는 기능입니다. 게시물마다 본문과 버튼 URL을 먼저 확인해야 합니다. 서로 다른 게시물 ID가 같은 URL을 가질 수도 있고, 저장한 게시물의 버튼 문구가 매 전송마다 다시 선택된다고 보장할 수도 없습니다.

바꾸는 항목예시 설정별도로 확인할 항목
버튼 글자일정 확인 → 세미나 일정 보기실제 URL은 자동 변경되지 않음
버튼 목적지https://example.com/seminar본문과 버튼이 세미나 일정 안내인지
게시물 선택여러 post ID 중 선택하는 도구 설정각 게시물의 본문·버튼·URL 전체
민서에게 보내는 세미나 안내 본문과 세미나 일정 확인 버튼, example.com/seminar 연결 URL을 보여 주는 설정 예시
가상 세미나 예시의 본문, “세미나 일정 확인” 버튼, 실제 연결 URL인 example.com/seminar를 각각 확인하세요.

3. 공통·그룹별·고객별 URL을 필요한 방식으로 배정하세요

모두 같은 세미나 일정을 읽는다면 공통 URL 하나를 쓰면 됩니다. 과정마다 일정이 다르면 신청 과정과 과정별 URL을 연결하고, 개인 예약처럼 실제로 다른 내용을 보여 줘야 한다면 고객별 URL을 준비합니다. 이름을 넣었다는 이유만으로 주소까지 모두 다르게 만들 필요는 없습니다.

고객별 주소를 실제로 다르게 발급한 예시로는 가=https://example.com/booking/a1, 나=https://example.com/booking/b2가 있습니다. 각 주소가 해당 예약으로 연결되도록 목적지에서 구성된 경우에 배정합니다. 이름이나 버튼 글자만 바꾸는 것과 달리 실제 URL 문자열과 연결 대상이 각각 정해지는 방식입니다.

Sunrise Telegram Prime의 과거 제품 가이드는 준비한 목록의 주소를 %LINK%로 넣는 방식을 설명합니다. 1,000건에 각각 다른 URL을 넣으려면 1,000개의 링크를 준비한다는 예시입니다. 이는 건별 목록 배정 방식이며 권장 발송량이나 안전한 한도가 아닙니다. 현재 기능 동작은 확인되지 않았습니다.

목록 방식은 “URL 목록 읽기 → 대상별 배정 → 완성 메시지 저장 → 전송” 순서로 설계할 수 있습니다. 필요한 링크 수는 대상과 버튼의 연결 방식에 따라 계산하세요. 공통 URL 모드인지, 중복 없이 개별 배정하는 모드인지 작업 시작 전에 정해야 부족할 때의 처리도 명확해집니다.

예를 들어 대상은 가·나·다인데 링크가 L1·L2 두 개뿐일 때, 가=L1·나=L2·다=L1로 순환하면 다의 링크는 더 이상 개별적이지 않습니다. 개별 링크 모드라면 다를 보류하고 보충하세요. 확인된 재시도는 기존 배정 주소를 유지하고, 전송 결과가 불명확한 항목은 먼저 상태를 확인합니다.

모드입력 예시배정 결과
공통세미나 공지 URL 1개해당 공지 대상에게 같은 주소
그룹별기초 과정 → /basic, 심화 과정 → /advanced신청 과정에 맞는 주소
고객별가 → L1, 나 → L2, 다 → 링크 없음가·나는 확정, 다는 보충 전 보류

4. 웹 UTM·봇 start·그룹 초대 링크를 구분하세요

웹사이트 UTM은 어느 캠페인과 소재가 방문을 유도했는지 구분하는 값입니다. utm_source는 유입 출처, utm_medium은 매체, utm_campaign은 캠페인, utm_content는 문안이나 버튼 버전 구분에 사용할 수 있습니다. 같은 페이지에 button_a와 button_b를 붙여도 페이지 내용 자체가 달라지는 것은 아닙니다.

봇의 start는 봇 시작 흐름에 값을 전달하는 별도 형식입니다. 아래 예시에서 사용자가 시작 동작을 진행하면 봇이 /start workshop을 받도록 구성할 수 있습니다. 단순 링크 클릭과 실제 시작을 구분하세요. 공식 문서상 start 값은 영문자·숫자·밑줄·하이픈으로 최대 64자이며, 웹 UTM을 붙인다고 자동으로 같은 값이 전달되지는 않습니다.

그룹 초대 링크는 그룹 입장 경로입니다. 웹페이지 캠페인 분류나 봇의 시작 값과 같은 설정이 아닙니다. 이름·전화번호·이메일을 URL에 넣지 말고 캠페인용 구분값을 사용하세요. 고유 링크도 전달될 수 있으므로 링크 배정만으로 사람의 신원이나 개인 페이지 접근 권한이 확인되지는 않습니다.

종류형식 예시목적
웹 UTMhttps://example.com/seminar?utm_source=telegram&utm_medium=message&utm_campaign=workshop&utm_content=button_a웹 캠페인·소재 구분
봇 starthttps://t.me/example_bot?start=workshop봇 시작 흐름에 workshop 전달
그룹 초대https://t.me/+INVITE_HASH (설명용 자리표시자)발급한 초대 링크로 그룹 입장

5. 템플릿과 대상별 완성 메시지를 함께 보세요

설명용 템플릿을 “{{인사말}} 신청하신 {{안내명}}이 준비됐습니다. {{다음 행동}}”으로 두겠습니다. 실제 도구에는 해당 도구의 변수 메뉴나 지원 문법으로 넣으세요. 아래 표의 이름·주소·대상은 작성 예시이며 실제 고객 기록이 아닙니다.

완성형은 “민서님, 신청하신 세미나 일정이 준비됐습니다. 일정과 준비물을 확인해 주세요” 또는 “안녕하세요. 구독하신 자료의 새 버전이 준비됐습니다. 업데이트 내용을 확인해 주세요”처럼 읽혀야 합니다. 이름이 없는 사람에게 “님”만 남거나 버튼 주소에 %LINK%가 그대로 남으면 수정해야 합니다.

반대로 같은 세미나를 신청한 민서와 준호에게는 인사만 “민서님”과 “준호님”으로 바꾸고 버튼과 URL은 모두 “일정 확인 → https://example.com/seminar”로 둘 수 있습니다. 이것은 본문 개인화이며 고객별 고유 링크 배정은 아닙니다.

표현 후보를 고르는 항목과 고객에게 고정할 항목도 구별하세요. 같은 목적의 인사말·버튼 표현은 후보를 둘 수 있지만, 고객의 신청 과정과 개인 예약 URL은 임의로 섞으면 안 됩니다. 고객 목록을 캠페인 목적별로 나누기에서 대상 기준을 정하고 그 기준에 맞는 완성형을 확인하세요.

버튼을 눌렀을 때 본문이 약속한 페이지가 열리는지도 대조합니다. 일회용 링크는 점검 자체로 소모되는지 발급 서비스의 조건을 확인하고 테스트 주소를 쓰세요. 고객에게 배정한 주소를 확인하려고 무작정 열기보다 제공되는 시험 방법을 사용하는 편이 좋습니다.

대상완성 본문이미지버튼배정 URL
세미나 신청자 민서민서님, 신청하신 세미나 일정과 준비물을 확인해 주세요.없음일정 확인https://example.com/seminar
이름 없는 자료 구독자안녕하세요. 구독하신 자료의 새 버전이 준비됐습니다.없음자료 확인https://example.com/updates
개인 예약 안내 대상 다예약 안내 본문 준비 완료없음예약 확인미배정 → 링크 보충 전 보류

6. 설정이 적용된 결과를 테스트하고 기록하세요

고객에게 보내기 전에 내부 테스트에서 이름 없음, 특수문자가 있는 이름, 같은 랜덤 문구의 반복 선택, URL 목록 부족을 각각 확인하세요. HTML이나 Markdown을 사용한다면 삽입값이 형식을 깨뜨리지 않도록 처리합니다. 일반 텍스트를 사용해 완성 결과를 먼저 확인하는 방법도 있습니다. 이번 안내를 요청한 대상인지와 수신 중단 상태를 확인한 뒤 적용하세요.

테스트 결과에는 실제 선택된 본문 버전과 버튼 문구, 대상별 배정 주소를 남기세요. 재시도했을 때 같은 조합이 유지되는지도 확인합니다. 텔레그램 공지 발송 전 점검 순서에 이 항목을 넣으면 템플릿만 보고 승인하는 실수를 줄일 수 있습니다.

전송 응답, 링크 미리보기 요청, 사이트 방문, 실제 신청 완료는 따로 봅니다. 링크 미리보기 요청과 실제 클릭 구분하기에서 차이를 확인하세요. 계정이 이미 제한됐다면 계정 동결과 전송 제한 확인 순서를 따로 살펴보세요. 문구 선택이나 URL 변경은 동결 예방·해제를 보장하는 방법이 아닙니다.

이 글의 메시지 조합과 링크 배정은 선택한 발송 도구에서 설정하거나 별도로 설계할 업무이며, PSYKE의 번호 목록 검수 기능과는 구분됩니다.

  • 빈 이름: “님”만 남지 않고 기본 인사로 완성되는가
  • 문구 선택: 같은 후보가 연속돼도 정상 선택과 구분되는가
  • 미치환: 변수·Spintax 기호가 최종 본문에 남지 않는가
  • 주소 배정: 부족한 목록을 순환하지 않고 보류하는가
  • 재시도: 이미 확정한 본문·버튼·주소가 유지되는가
보유 번호 목록 검수 살펴보기

자주 묻는 질문

Spintax를 넣으면 같은 메시지가 다시 선택되지 않나요?

매번 무작위로 고르는 방식이라면 같은 문구가 반복될 수 있습니다. 중복 없이 순서대로 쓰는 기능은 별도이므로 사용하는 도구의 선택 방식을 확인하세요.

여러 post ID나 버튼 문구를 넣으면 URL도 자동으로 달라지나요?

아니요. 게시물 선택, 버튼 문구, URL은 별도 항목입니다. 선택된 게시물의 실제 버튼 URL을 확인하고 고객별 주소가 필요한 작업은 배정 목록도 따로 관리하세요.

출처 및 참고 자료

관련 가이드