인앱메시지 연동 가이드

웹사이트에 머무는 방문자에게 배너·모달·토스트·전면 메시지를 실시간으로 노출합니다.

TIP연동 코드가 필요 없습니다
Web SDK를 이미 설치하셨다면 추가 코드는 없습니다. 콘솔에서 인앱메시지 캠페인을 만들면 SDK가 알아서 렌더러를 내려받아 메시지를 표시합니다. 이 문서는 동작 방식과 세부 설정을 이해하기 위한 것이며, 바로 사용하셔도 됩니다.

동작 방식

인앱메시지는 푸시가 아닙니다. 앱푸시·SMS·이메일이 사용자를 밖에서 불러오는 채널이라면, 인앱메시지는 이미 사이트에 들어와 있는 방문자에게 화면 안에서 말을 거는 채널입니다. 수신동의도, 발송 시각도 필요 없고 사용자가 페이지를 보고 있는 순간에 바로 노출됩니다.

단계주체내용
1콘솔인앱메시지 캠페인 또는 자동화 캔버스 노드를 만듭니다
2서버대상 조건에 맞는 사용자에게 메시지를 대기 상태로 걸어둡니다
3SDK세션 생성 응답에 인앱메시지 사용 신호가 있으면 렌더러를 자동으로 내려받습니다
4SDK주기적으로 대기 중인 메시지를 확인해 화면에 표시합니다
5SDK클릭·닫기를 서버에 보고해 콘솔 통계에 반영합니다
참고쓰지 않으면 아무것도 로드되지 않습니다
렌더러(fplink-inapp.js)는 조직이 인앱메시지를 실제로 사용할 때만 내려받습니다. 기능을 쓰지 않는 사이트에는 추가 요청도, 용량 부담도 발생하지 않습니다.

표시 유형

4가지 유형을 제공하며, 콘솔에서 유형별로 위치와 색상을 조정할 수 있습니다.

유형노출 위치사용자 조작어울리는 용도
배너 (BANNER) 화면 가장자리 (상·하·좌·우 중 선택) 페이지 이용을 막지 않음 상시 공지, 쿠폰 안내, 이벤트 알림
모달 (MODAL) 화면 중앙 (배경 어둡게) 닫기 전까지 시선 집중 첫 구매 할인, 회원 전환 유도
토스트 (TOAST) 모서리 (네 방향 중 선택) 일정 시간 후 자동으로 사라짐 재입고 알림, 가벼운 안내
전면 (FULLSCREEN) 화면 전체 가장 강한 주목도 신규 회원 웰컴, 대형 프로모션
주의한 번에 하나만 노출됩니다
여러 메시지가 동시에 대기 중이어도 화면에는 하나만 표시됩니다. 사용자가 닫은 뒤 다음 확인 주기에 다음 메시지가 나타납니다. 메시지가 겹쳐 쌓이는 일은 없습니다.

메시지 구성 요소

콘솔에서 입력하는 항목입니다.

항목필수설명
제목메시지 상단에 굵게 표시됩니다
본문제목 아래 설명 문구
이미지영역에 맞춰 가운데를 기준으로 잘라 채웁니다(center-crop)
버튼 문구비워두면 버튼 없이 메시지 전체가 클릭 영역이 됩니다
랜딩 URL클릭 시 이동할 주소. 단축URL을 넣으면 클릭 통계가 함께 잡힙니다
표시 위치배너는 상·하·좌·우, 토스트는 네 모서리 중 선택
배경·테두리·버튼 색상사이트 브랜드 색에 맞춰 조정
TIP이미지 비율
이미지는 잘릴 수 있으므로 중요한 요소(로고·문구)를 가운데에 배치하세요. 가장자리에 텍스트를 넣으면 화면 크기에 따라 잘려 보일 수 있습니다.

설치 확인

Web SDK가 설치되어 있으면 그대로 동작합니다. 아직 설치 전이라면 아래처럼 초기화합니다.

<script src="https://fplink.net/sdk/v1/fplink-tracker.js"></script>
<script>
  const tracker = new FPLinkTracker({
      appId: 'YOUR_APP_ID',
      apiKey: 'YOUR_API_KEY'
      // enableInAppMessaging 기본값 true — 별도 설정 불필요
  });
</script>

인앱메시지를 일시적으로 끄고 싶을 때만 아래 옵션을 사용합니다.

const tracker = new FPLinkTracker({
    appId: 'YOUR_APP_ID',
    apiKey: 'YOUR_API_KEY',
    enableInAppMessaging: false   // 이 페이지에서는 인앱메시지를 표시하지 않음
});
참고결제·정산 페이지에서 끄기
결제 진행 화면처럼 방해가 되면 안 되는 페이지에서는 enableInAppMessaging: false로 초기화하는 것을 권장합니다.

누구에게 보낼지 정하기

대상은 주소록 전체, 특정 그룹, 또는 세그먼트로 지정합니다. "최근 30일 안에 구매한 적 없는 회원"처럼 조건으로 대상을 좁히려면 세그먼트를 사용하세요.

세그먼트 사용자 속성 가이드에서 조건 만드는 방법을 확인하세요.

주의로그인하지 않은 방문자
인앱메시지는 세션 단위로 전달되므로, 대상을 세그먼트나 주소록으로 지정한 경우 identify()로 사용자가 식별되어 있어야 합니다. 비로그인 방문자에게도 노출하려면 대상을 좁히지 않은 캠페인을 사용하세요.

노출 동작 상세

상황동작
페이지 진입 직후잠시 기다렸다가 첫 확인을 시작합니다(페이지 로딩과 겹치지 않도록)
탭이 백그라운드일 때확인을 멈춥니다. 보이지 않는 탭에 메시지를 띄우지 않습니다
탭으로 돌아왔을 때즉시 다시 확인합니다
메시지가 계속 없을 때확인 간격을 점진적으로 늘려 불필요한 요청을 줄입니다
새 메시지가 도착했을 때간격을 원래대로 되돌립니다
사용자가 애니메이션을 줄이도록 설정한 경우등장 효과를 생략합니다(접근성)

토스트는 몇 초 뒤 자동으로 사라지고, 나머지 유형은 사용자가 닫을 때까지 유지됩니다. 모달·전면 메시지는 키보드 초점이 메시지 안에 머물도록 처리되어 있어 스크린리더 사용자도 조작할 수 있습니다.

미리보기로 확인하기

실제 캠페인을 만들지 않고 디자인만 확인하고 싶을 때 브라우저 콘솔에서 바로 띄워볼 수 있습니다. 개발 중 위치·색상을 조정할 때 유용합니다.

// 브라우저 개발자도구 콘솔에서 실행
FPLinkInApp.preview({
    displayType: 'MODAL',              // BANNER | MODAL | TOAST | FULLSCREEN
    title: '첫 구매 10% 할인',
    body: '지금 가입하면 즉시 사용 가능한 쿠폰을 드려요.',
    ctaText: '쿠폰 받기',
    landingUrl: '/promotion',
    imageUrl: 'https://example.com/banner.png',
    backgroundColor: '#ffffff',
    buttonColor: '#2563eb'
});
참고미리보기는 통계에 잡히지 않습니다
preview()로 띄운 메시지의 클릭·닫기는 서버에 보고되지 않습니다. 화면 확인 전용이며, 실제 노출·클릭 수치는 콘솔에서 캠페인을 실행해야 집계됩니다.

성과 확인

콘솔 캠페인 상세에서 노출 수, 클릭 수, 닫기 수를 확인할 수 있습니다.

  • 노출 — 메시지가 화면에 표시된 횟수
  • 클릭 — 버튼 또는 메시지 영역을 눌러 랜딩 URL로 이동한 횟수
  • 닫기 — 사용자가 닫기 버튼을 누른 횟수

랜딩 URL에 단축URL을 사용하면 인앱메시지 이후의 이동 경로와 전환까지 함께 추적됩니다.

과금

참고요금 안내
인앱메시지는 부가기능 신청(무료) 후 사용할 수 있으며, 발송 건당 요금이 부과됩니다. 정확한 단가는 콘솔의 요금 안내를 확인하세요.

트러블슈팅

증상확인할 것
메시지가 전혀 뜨지 않음 ① 콘솔에서 인앱메시지 부가기능이 활성화되어 있는지
② 캠페인이 발송 완료 상태인지
enableInAppMessaging: false로 초기화하지 않았는지
특정 사용자에게만 안 뜸 해당 사용자가 identify()로 식별되어 있는지, 대상 세그먼트 조건에 실제로 포함되는지 콘솔 세그먼트 화면에서 확인하세요
바로 안 뜨고 시간이 걸림 정상입니다. SDK가 주기적으로 확인하는 방식이라 발송 직후 최대 수십 초 지연될 수 있습니다. 탭이 백그라운드였다면 돌아온 직후에 표시됩니다
이미지가 잘려 보임 중요한 요소를 이미지 가운데로 옮기세요. 영역에 맞춰 가운데 기준으로 잘라 채웁니다
디자인이 사이트와 충돌 메시지는 사이트 CSS와 분리된 영역에 그려지므로 서로 영향을 주지 않습니다. 색상은 콘솔에서 조정하세요