카카오 브랜드메시지 템플릿 관리하기 (Beta)
브랜드메시지 템플릿을 생성하고 관리하는 방법을 안내합니다
베타 서비스 안내
브랜드메시지 API는 현재 베타 서비스로 제공되고 있습니다. 정식 출시 전까지 일부 기능이 불안정할 수 있습니다. 문의사항은 고객센터로 문의해주세요.
브랜드메시지는 카카오의 새로운 비즈 메시지 상품으로, 카카오톡 채널 친구뿐 아니라 마케팅 수신에 동의한 비친구까지 도달할 수 있는 광고성 메시지 서비스입니다. 알림톡과 달리 카카오 검수 없이 즉시 사용 가능한 브랜드메시지 템플릿을 통해 빠르게 캠페인을 운영할 수 있습니다.
브랜드메시지 주요 특징
타겟 그룹
- I그룹: 채널 친구 중 마케팅 수신 동의한 사용자 (기본)
- M그룹: 카카오톡 채널 마케팅 수신 동의한 전체 사용자 (채널 친구 + 비친구)
- N그룹: 마케팅 수신 동의했지만 채널 친구가 아닌 사용자
발송 조건
- 채널 친구 5만명 미만: I그룹만 발송 가능
- 채널 친구 5만명 이상: M그룹, N그룹 발송 가능
타겟 그룹 상세 가이드
각 타겟 그룹의 특징과 활용 전략에 대한 자세한 내용은 카카오 브랜드메시지 타게팅 타입 이해하기 문서를 참고하세요.
브랜드메시지 템플릿 타입
1. 텍스트형 (Text Type)
가장 기본적인 메시지 타입으로, 텍스트와 버튼으로만 구성됩니다.
특징
- 최대 1000자 텍스트
- 버튼 최대 5개
- 간단한 공지사항이나 안내 메시지에 적합
요청 예제
async function createTextBrandMessageTemplate() {
const sendProfileId = SEND_PROFILE_ID; // 발신프로필(채널) ID
const result = await sendon.kakao.createBrandMessageTextTemplate(
sendProfileId,
{
templateName: "여름 세일 안내",
content:
"안녕하세요 #{이름}님!\n\n여름 특별 세일이 시작되었습니다.\n최대 70% 할인 혜택을 놓치지 마세요!",
buttons: [
{
name: "세일 상품 보기",
linkType: "WL",
linkM: "https://m.example.com/sale",
linkP: "https://www.example.com/sale",
},
],
}
);
console.log("텍스트형 템플릿 생성:", JSON.stringify(result, null, 2));
}
2. 이미지형 (Image Type)
500x250 사이즈의 이미지와 함께 텍스트, 버튼을 포함할 수 있습니다.
특징
- 이미지: 500x250 픽셀 (JPG, PNG, 최대 2MB)
- 텍스트: 최대 400자
- 버튼: 최대 5개
- 제품 소개, 이벤트 홍보 등 시각적 효과가 필요한 마케팅 메시지에 적합
요청 예제
async function createImageBrandMessageTemplate() {
const sendProfileId = SEND_PROFILE_ID; // 발신프로필(채널) ID
// 먼저 이미지 업로드
const imageUpload = await sendon.kakao.uploadBrandMessageImage(imageFile);
const result = await sendon.kakao.createBrandMessageImageTemplate(
sendProfileId,
{
templateName: "신제품 출시",
imageUrl: imageUpload.data.image,
imageName: "브랜드 이미지",
imageLink: "https://www.example.com/new",
content: "#{이름}님을 위한 특별한 신제품!\n지금 바로 만나보세요.",
buttons: [
{
name: "자세히 보기",
linkType: "WL",
linkM: "https://m.example.com/new",
linkP: "https://www.example.com/new",
},
],
}
);
console.log("이미지형 템플릿 생성:", JSON.stringify(result, null, 2));
}
3. 와이드형 (Wide Type)
800x600 사이즈의 큰 이미지를 사용하여 강력한 시각적 효과를 제공합니다.
특징
- 이미지: 800x600 픽셀 (JPG, PNG, 최대 2MB)
- 텍스트 없음 (이미지와 버튼만)
- 버튼: 최대 2개
- 브랜드 이미지 강조, 대형 프로모션에 효과적
요청 예제
async function createWideBrandMessageTemplate() {
const sendProfileId = SEND_PROFILE_ID; // 발신프로필(채널) ID
// 먼저 와이드 이미지 업로드
const imageUpload = await sendon.kakao.uploadBrandMessageWideImage(
wideImageFile
);
const result = await sendon.kakao.createBrandMessageWideTemplate(
sendProfileId,
{
templateName: "브랜드 캠페인",
wideImageUrl: imageUpload.data.image,
buttons: [
{
name: "캠페인 참여하기",
linkType: "WL",
linkM: "https://m.example.com/campaign",
linkP: "https://www.example.com/campaign",
},
],
}
);
console.log("와이드형 템플릿 생성:", JSON.stringify(result, null, 2));
}
4. 와이드 리스트형 (Wide Item List Type)
와이드 이미지와 함께 여러 개의 항목을 리스트 형태로 표시합니다.
특징
- 와이드 이미지: 800x600 픽셀
- 리스트 항목: 최대 5개 (각 항목은 제목 + 설명)
- 버튼: 최대 2개
- 여러 제품이나 서비스를 한 번에 소개할 때 효과적
요청 예제
async function createWideItemListBrandMessageTemplate() {
const sendProfileId = SEND_PROFILE_ID; // 발신프로필(채널) ID
const result = await sendon.kakao.createBrandMessageWideItemListTemplate(
sendProfileId,
{
templateName: "이달의 베스트 상품",
wideImageUrl: "https://cdn.example.com/wide-banner.jpg",
items: [
{ title: "상품 A", description: "인기 1위 상품" },
{ title: "상품 B", description: "신규 회원 추천" },
{ title: "상품 C", description: "재구매율 1위" },
],
buttons: [
{
name: "전체 상품 보기",
linkType: "WL",
linkM: "https://m.example.com/products",
linkP: "https://www.example.com/products",
},
],
}
);
console.log("와이드 리스트형 템플릿 생성:", JSON.stringify(result, null, 2));
}
5. 캐러셀 피드형 (Carousel Feed Type)
여러 개의 카드를 좌우로 스와이프하여 볼 수 있는 형태입니다.
특징
- 카드 개수: 최소 2개, 최대 6개
- 각 카드: 헤더(최대 20자) + 본문(최대 180자) + 이미지(500×250) + 버튼(최대 2개)
- 다양한 제품이나 콘텐츠를 순차적으로 소개할 때 효과적
요청 예제
async function createCarouselFeedBrandMessageTemplate() {
const sendProfileId = SEND_PROFILE_ID; // 발신프로필(채널) ID
const result = await sendon.kakao.createBrandMessageCarouselFeedTemplate(
sendProfileId,
{
templateName: '추천 상품 컬렉션',
carousel: {
list: [
{
header: '인기 상품 1',
content: '베스트셀러 1위',
imageUrl: 'https://cdn.example.com/product1.jpg',
imageLink: 'https://www.example.com/product/1',
buttons: [
{
name: '구매하기',
linkType: 'WL',
linkM: 'https://m.example.com/product/1',
linkP: 'https://www.example.com/product/1',
},
],
},
{
header: '인기 상품 2',
content: '리뷰 평점 4.9',
imageUrl: 'https://cdn.example.com/product2.jpg',
buttons: [
{
name: '구매하기',
linkType: 'WL',
linkM: 'https://m.example.com/product/2',
linkP: 'https://www.example.com/product/2',
},
],
},
// ... 최소 2개, 최대 6개까지 추가 가능
],
// tail은 선택값입니다. 캐러셀 하단에 공통 이동 버튼을 노출할 때 사용하세요.
tail: {
linkM: 'https://m.example.com/products',
linkP: 'https://www.example.com/products',
},
},
}
)
console.log('캐러셀 피드형 템플릿 생성:', JSON.stringify(result, null, 2))
}
브랜드메시지 템플릿 관리
템플릿 목록 조회
생성된 브랜드메시지 템플릿 목록을 조회합니다.
async function getBrandMessageTemplates() {
const sendProfileId = SEND_PROFILE_ID; // 발신프로필(채널) ID
const result = await sendon.kakao.getBrandMessageTemplates(sendProfileId, {
messageType: 'BMI', // BMT(텍스트), BMI(이미지), BMW, BMWL, BMCF
status: 'APPROVED', // PENDING, APPROVED, REJECTED
limit: 20,
cursor: undefined, // 다음 페이지 조회 시 이전 응답의 cursor 사용
});
console.log('브랜드메시지 템플릿 목록:', JSON.stringify(result, null, 2));
}
> `messageType` 값은 브랜드메시지 템플릿 타입을 의미합니다. `BMT`(텍스트), `BMI`(이미지), `BMW`(와이드), `BMWL`(와이드 리스트), `BMCF`(캐러셀 피드) 중에서 선택할 수 있습니다.
템플릿 상세 조회
특정 브랜드메시지 템플릿의 상세 정보를 조회합니다.
async function getBrandMessageTemplate() {
const sendProfileId = SEND_PROFILE_ID; // 발신프로필(채널) ID
const templateCode = "BM_001";
const result = await sendon.kakao.getBrandMessageTemplate(
sendProfileId,
templateCode
);
console.log("템플릿 상세 정보:", JSON.stringify(result, null, 2));
}
템플릿 수정
브랜드메시지 템플릿을 수정합니다. 수정 즉시 적용되며 별도의 검수 과정이 없습니다.
async function updateBrandMessageTemplate() {
const sendProfileId = SEND_PROFILE_ID; // 발신프로필(채널) ID
const templateCode = "BM_001";
const result = await sendon.kakao.updateBrandMessageTextTemplate(
sendProfileId,
templateCode,
{
templateName: "수정된 템플릿명",
content: "수정된 내용입니다.",
buttons: [
{
name: "수정된 버튼",
linkType: "WL",
linkM: "https://m.example.com/updated",
linkP: "https://www.example.com/updated",
},
],
}
);
console.log("템플릿 수정 결과:", JSON.stringify(result, null, 2));
}
템플릿 삭제
더 이상 사용하지 않는 브랜드메시지 템플릿을 삭제합니다.
async function deleteBrandMessageTemplate() {
const sendProfileId = SEND_PROFILE_ID; // 발신프로필(채널) ID
const result = await sendon.kakao.deleteBrandMessageTemplate(
sendProfileId,
"BM_001"
);
console.log("템플릿 삭제 결과:", JSON.stringify(result, null, 2));
}
주의사항
브랜드메시지 템플릿 사용 시 주의사항
- 템플릿 즉시 사용: 검수 없이 바로 사용 가능하므로 내용 검토 필수
- 개인화 변수:
#{변수명}
형식으로 작성하며, 발송 시 실제 값으로 치환- 이미지 업로드: 템플릿 생성 전 이미지를 먼저 업로드해야 함
- 메시지 타입별 제한: 각 타입별 텍스트 길이, 버튼 개수 등 제한 준수
모범 사례
- ✅ 메시지 타입별 특성을 활용한 효과적인 템플릿 설계
- ✅ 개인화 변수를 활용한 맞춤형 메시지 구성
- ✅ 명확하고 간결한 메시지 작성
- ✅ 버튼 텍스트와 링크의 일관성 유지
- ✅ 정기적인 템플릿 관리 및 정리
관련 문서
- [카카오 브랜드메시지 발송하기](../메시지 전송하기/kakao-send-brand-message.md)
- 카카오 알림톡 템플릿 관리하기
- 카카오 채널 관리하기
Updated 20 days ago