웹은 다시 들어올 때 주소를 기억하거나 검색해야 한다. 이 수고를 없애는 수단을 홈 화면에 두기 · 앱 받기 · 알림 받기 세 공간으로 나누고, 공간마다 자리와 문구를 따로 둔다. 먼저 띄우는 것은 헤더 아이콘이 한 번 펼쳐지는 캡슐 하나이고, 들어온 경로(광고·검색·직접·카톡 등)에 따라 펼치는 때를 다르게 한다. Android Chrome은 한 번 눌러 설치 창까지 가고, 코드로 홈 화면 추가를 띄울 수 없는 iPhone은 번호 그림 안내로 3~4번에 끝낸다. 고객 페르소나 8명 사용성 평균 93점으로 완료 기준(90점)을 넘었다.
1목표와 지표
목표는 웹 고객의 재방문율을 올리는 것이다. 9/28 론칭 전후 비교에서 결제 전환은 좋아졌지만 리텐션은 변화가 없었다. 웹으로 들어온 고객이 다시 오는 경로를 따로 만들어야 한다.
| 구분 | 지표 | 정의 |
| 주 지표 | 웹 신규 회원 28일 재방문율 | 웹에서 가입한 회원 중 가입일 다음 날부터 28일 안에 세션이 1회 이상 있는 비율. 앱 웹뷰 세션은 제외한다 |
| 보조 | 홈 화면 실행 세션 비중 | 전체 웹 세션 중 홈 화면 아이콘으로 시작된 세션(src=home 또는 display_mode = standalone) |
| 보조 | 제안 전환 | 노출 → 누름 → 완료(홈 화면 추가·알림 허용·앱 설치)를 제안 종류와 노출 자리별로 |
| 보조 | 웹 푸시 구독률·클릭률 | 구독률 = 알림 허용 수 ÷ 알림 제안 노출 수. 클릭률 = 알림 클릭 ÷ 발송 성공 |
| 보조 | 예약 후 앱 설치율 | 첫 예약 완료 회원 중 14일 안에 원링크(pid=web_reentry) 경유 앱 설치 비율 |
| 감시 | 이탈 신호 | 제안 노출 직후 10초 안 이탈률, 닫기 비율, 알림 권한 거부 비율. 노출 전보다 이탈률이 오르면 빈도를 낮춘다 |
효과를 따로 재기 위해 웹 방문자의 10%는 제안을 전혀 보지 않는 비교군으로 둔다(추석 이벤트 홀드아웃과 같은 방식). 기준선은 배포 직전 2주를 GA4 운영 속성 553030050에서 저장한다.
2세 공간을 나눈다
다시 들어오는 수단은 세 가지이고, 권하는 자리와 문구를 서로 섞지 않는다. 한 자리에서는 한 가지만 권한다. 「예약하기」를 누른 뒤부터 결제가 끝날 때까지는 아무것도 띄우지 않는다.
| 공간 | 정의 | 누구에게 | 쓰는 자리 | 대표 문구 |
| 홈 화면에 두기 | 설치 없이 폰 홈 화면에 어바웃피싱 아이콘을 만든다. 주소를 치지 않고 다시 들어오게 하는 것 | 웹으로 둘러보는 모든 고객(앱 설치 고객·홈 화면 아이콘으로 들어온 고객 제외) | F1 헤더 아이콘·캡슐, 마이 「홈 화면에 두기」 행, 안내 시트 | 홈에 두기 · 홈 화면에 두기 |
| 앱 받기 | 앱스토어에서 네이티브 앱을 설치한다 | 첫 예약을 마친 고객 (9/7 원칙: 새 고객은 웹, 예약 고객은 앱) | F3 예약 완료 카드, F6 홈 D-3 카드 보조 줄, F5 예약 내역 끝 줄, 마이 「어바웃피싱 앱」 행 | 출항 전날 안내, 앱으로 받기 › |
| 알림 받기 | 찜한 배에 빈자리가 나면 알려준다. 이 폰 알림(웹 푸시) → 안 되면 카톡 채널 → 안 되면 앱 | 찜했거나 마감된 날짜를 본 고객 | F2 찜 직후 칩, 선박 상세 마감 날짜 줄, F5 찜 목록 끝 줄, F4 알림함 한 줄, F7 알림 설정 행 | 빈자리 나면 알려드릴까요? |
원터치 홈 화면 추가가 되는 곳과 안 되는 곳
- Android Chrome: 된다. 헤더 캡슐이나 마이 행을 누르면 Chrome 설치 창이 뜨고 [설치] 한 번으로 끝난다. Chrome이 설치 준비를 마친 뒤(페이지를 한 번 이상 누르고 30초 이상 본 뒤)부터다.
- iPhone: 안 된다. Apple이 웹에서 홈 화면 추가 창을 여는 방법을 열어 두지 않았다. 번호 그림 안내 시트로 3~4번 누르게 한다. iOS 26 기준 ⋯ → 공유 → 홈 화면에 추가 → 추가.
- 카카오톡·네이버앱 안: 안 된다. 누르면 크롬(Safari)으로 옮겨 연 뒤, 옮겨 온 화면에서 [홈 화면에 두기]를 한 번 더 누르게 한다(자동으로 창을 띄우지 않는다).
3유입 경로별 정책
먼저 띄우는 제안은 헤더 아이콘이 캡슐로 한 번 펼쳐지는 것 하나다. 들어온 경로에 따라 첫 세션에 펼칠지, 몇 번째 화면부터 펼칠지를 다르게 한다. 접힌 아이콘, 고정 자리(F3~F7), 고객이 누른 것에 대한 응답(찜 직후 칩)은 경로와 관계없이 나온다.
| 유입 경로 | 판별 | 첫 세션 캡슐 | 이유 |
| 광고(기획전·특정 화면·홈 착지 모두) | gclid · fbclid · n_media · wbraid, utm_medium이 cpc·paid·display 등 | 펼치지 않음. 그 세션에 예약을 마치면 다음 메인 화면에서 한 번 | 광고 첫 세션은 예약이 목적이다. 기획전 착지면 판매 지면이라 더 조용해야 한다 |
| 검색(오가닉) | 이전 주소가 네이버·구글·다음·빙·줌 | 세 번째 화면부터 | 다시 올 수단이 없는 고객. 둘러볼 시간을 먼저 준다 |
| 다른 사이트 링크 | 그 밖의 이전 주소 | 세 번째 화면부터 | 검색과 같다 |
| 짧은 링크·QR(선사 블로그 등) | utm_id, go.aboutfishing.kr, utm_medium이 qr·blog·card·sns | 펼치지 않음, 다음 방문부터 | 특정 배를 보러 온 고객. 첫 세션은 찜·빈자리 알림 쪽이 맞다 |
| 직접 입력(다이렉트) | 이전 주소 없음 | 두 번째 화면부터 | 주소를 직접 친 고객이 재진입 수고가 가장 크다 |
| 카카오 알림톡·메시지 | utm이 kakao·alimtalk, 또는 카카오톡 안에서 이전 주소 없음 | 펼치지 않음 | 카카오톡 안에서는 홈 화면 추가가 안 된다. 아이콘은 보이고 누르면 크롬(Safari)으로 옮긴다 |
| 웹 푸시 | src=push | 펼치지 않음 | 이미 다시 올 수단이 있다 |
| 홈 화면 아이콘 | src=home 또는 앱처럼 열림 | 아무것도 없음 | 이미 홈 화면에 있다 |
- 두 번째 방문부터는 경로와 관계없이 두 번째 화면부터 펼칠 수 있다(빈도 한도 안에서).
- 캡슐은 메인 화면(새소식·출조)에서만 펼친다. 기획전·선박 상세로 착지해도 그 화면에서는 펼치지 않는다.
- 안내대로 홈 화면에 추가했다고 누른 고객은 아이콘을 숨긴다. 그 뒤 주소를 직접 쳐서 다시 오면 아이콘이 안 생긴 것으로 보고 아이콘만 다시 보인다(펼치지 않음).
- 정책 값은 코드의
POLICY 표 하나에 모여 있고, init({ policy })로 바꿀 수 있다.
4노출 형태와 문구
새 요소를 화면 위에 띄우기보다 기존 화면 규격 안에 넣는다. 보라 채움 버튼은 화면당 하나, 이모지·딤 배경은 쓰지 않는다. 글자 15px 이상, 누르는 영역 44px 이상.
| 형태 | 공간 | 모양과 동작 | 문구 |
| F1 헤더 아이콘·캡슐 | 홈 화면 | 검색 아이콘 왼쪽. 아이콘 24px + 10px 글자 「홈에 두기」. 정책이 허용하면 스크롤이 1.2초 멈출 때 연회색 캡슐로 늘어남(높이 36). 스크롤 10px, 다른 곳 누름, 8초 뒤 접힘 | 홈에 두기 → 홈 화면에 두기 |
| F2 찜 직후 칩 | 알림 | 헤더 바로 아래 흰 카드. 딤 없음. 10초 뒤 또는 40px 스크롤하면 조용히 내려감(거절로 세지 않음). 예약 버튼·날짜 목록을 가리지 않음 | 찜했어요 · 빅보스호 빈자리 나면 알려드릴까요? [다음에] [이 폰으로 받기 / 카톡 채널 추가 / 앱으로 받기] |
| 마감 날짜 줄 | 알림 | 선박 상세 날짜 목록의 마감 오른쪽 글자 링크. 누르면 칩과 같은 알림 신청 | 마감 · 빈자리 알림 › / 켜면 회색 「마감 · 빈자리 알림 켜짐」 |
| F3 예약 완료 카드 | 앱 | 예약 요약 아래 흰 카드 높이 88. 앱 아이콘 + 제목·설명 + 글자 링크 | 출항 전날 안내 받기 · 날씨·출항 여부·집결 시간을 앱으로 [앱 받기 ›]. 카카오톡 안은 「출항 전날 안내는 카톡으로」(안내만) |
| F6 홈 D-3 카드 보조 줄 | 앱 | 구분선 아래 높이 44. 3번 보고 안 누르면 7일 숨김 | 출항 전날 안내, 앱으로 받기 › |
| F5 목록 끝 한 줄 | 예약 내역=앱, 찜 목록=알림 | 마지막 카드 아래 높이 44, 회색 글자 + 보라 링크. 목록이 비면 숨김 | 예약 내역: 출항 전날 안내 · 앱으로 받기 › / 찜 목록: 빈자리 나면 알려드릴까요? · 알림 켜기 ›(카톡 채널 추가 · 앱 받기) |
| F4 알림함 한 줄 | 알림 | 헤더 아래 높이 48, 연회색 배경 + ✕(30일 닫힘) | 빈자리·예약 소식을 이 폰으로 · 켜기 › |
| F7 마이 두 행 | 홈 화면 · 앱 | 설정·고객센터 위 두 행. 공간별로 한 행씩 | 홈 화면에 두기 「설치 없이 아이콘만 생겨요 · 1분」 [방법 보기 / 바로 추가] · 어바웃피싱 앱 「앱스토어 설치 · 빈자리 알림을 앱으로」 [받기 / 열기] |
| F7 알림 설정 행 | 알림 | 「서비스 알림」 위 새 행 | 빈자리·출항 안내를 이 폰으로 · 꺼짐. 카카오톡 안은 「빈자리 소식도 카톡으로 받기」 |
| 안내 시트 | 홈 화면 | 딤 없는 하단 시트. 번호 그림 3~4칸, [닫기][다 했어요]. 다 했어요를 누르면 완료 토스트 | 홈 화면에 두는 법 · 설치 없이 아이콘만 생겨요. 주소를 치지 않아도 바로 열려요 |
| 토스트 | 공통 | 헤더 아래 먹색 한 줄, 2.4초 | 홈 화면에 어바웃피싱을 두었어요 / 빅보스호 빈자리 알림을 신청했어요 |
5화면별 배치와 빈도
고객웹 55개 화면을 모두 검토했다. 노출하는 화면은 9개(1차 7, 2차 2)이고 나머지는 노출하지 않는다. 좌표는 8월통합 확정 목업(393×852) 기준이다.
| 화면 | 형태 | 공간 | 자리 | 단계 |
| CW-01 새소식 홈 | F1 · F6 | 홈 화면 · 앱 | F1: 검색 아이콘 왼쪽. 예정 예약이 있으면 D-3 카드 「내 예약 보기」 아래 F6, 이때 캡슐은 펼치지 않음 | 1차 |
| CW-50 출조 탭 | F1 | 홈 화면 | 검색 아이콘 왼쪽. 공지 바가 떠 있는 세션에서는 펼치지 않음 | 1차 |
| CW-55 예약 완료 | F3 | 앱 | 예약 요약 아래(y633~721), 버튼 위 | 1차 |
| CW-61 예약 내역 | F5 | 앱 | 마지막 카드 아래 | 1차 |
| CW-62 찜 목록 | F5 | 알림 | 마지막 카드 아래 | 1차 |
| CW-03 알림함 | F4 | 알림 | 헤더 아래(y112~160) | 1차 |
| CW-60 마이 | F7 두 행 | 홈 화면 · 앱 | 설정·고객센터 위 | 1차 |
| CW-30 선박 상세 | F2 · 마감 줄 | 알림 | 찜 누른 직후 헤더 아래 칩, 마감 날짜 오른쪽 링크 | 2차 |
| CW-68 알림 설정 | F7 | 알림 | 「서비스 알림」 위 | 2차 |
| 노출하지 않는 화면: 예약 상품·예약 접수·결제·결제 실패(결제 구간), 예약 상세·취소 완료·후기 작성, 검색·검색 결과·최근 검색어·어종 도감, 지도와 시트 7종, 조과 등록 4종·조과 상세·내 조과·선박 조황 상세, 신고·차단·댓글, 이벤트 목록·상세·쿠폰 복권·기획전(판매 지면), 공지·약관·고객센터·정보수정, 로그인, 회원탈퇴 3종(절대 금지) |
빈도
| 구분 | 규칙 |
| 먼저 띄우는 제안(캡슐 펼침·찜 직후 칩) | 세션 1회 · 7일 2회 · 28일 4회. 펼쳤는데 누르지 않은 것이 연속 2번이면 30일 쉼. 예약을 마친 세션의 캡슐 1회는 세션 1회 한도에서 빼고, 그 뒤 칩은 띄우지 않음 |
| F1 접힌 아이콘 | 상시. 한 화면 1개 계산에서 뺀다 |
| 칩 [다음에] | 7일, 세 번이면 30일 |
| F4 ✕ | 30일 |
| F6 | 3번 보고 누르지 않으면 7일 숨김 |
| 한 화면 1개 | F3~F6이 있는 화면에서는 캡슐을 펼치지 않는다 |
6OS·브라우저별 홈 화면 추가 절차
한국 모바일 사용 비중은 Android 64.5%, iOS 35.5%, 브라우저는 Chrome 39.5% · Safari 28.6% · 웨일 16.3% · 삼성 인터넷 13.8%다(StatCounter 2026년 8월). iOS는 26.x가 약 70%이고 18.x가 약 15%다. 버전마다 누르는 순서가 달라서 안내 시트가 기기를 판별해 맞는 순서를 보여준다.
iPhone
| 버전·브라우저 | 순서 | 추가 후 | 알림 | 확인 |
| iOS 27 Safari (9/14 출시) | 공개 자료로 확정 안 됨. 우선 iOS 26 안내를 보여준다 | — | — | 실기기 확인 |
| iOS 26 Safari · 기본(Compact) 레이아웃 | 주소창 옆 ⋯ → 공유 → 아래로 내려 「홈 화면에 추가」(안 보이면 「더 보기」) → 「웹 앱으로 열기」 켜짐 확인 → 추가 | 웹 앱으로 열림(토글 기본 켜짐) | 가능 | 한국어 라벨 실기기 확인 |
| iOS 26 Safari · 하단/상단 레이아웃 | 공유 → 아래로 내려 「홈 화면에 추가」 → 「웹 앱으로 열기」 확인 → 추가 | 같음 | 가능 | 같음 |
| iOS 16.4 ~ 18 Safari | 하단 공유 버튼 → 아래로 내려 「홈 화면에 추가」 → 추가 | 매니페스트 display가 standalone이면 앱처럼 열림 | 가능 | 확인됨 |
| iOS 15 ~ 16.3 Safari | 같음 | 같음 | 불가 | 확인됨 |
| iOS 16.4+ Chrome(115 이상)·Edge·Firefox | 주소창 오른쪽 공유 → 「홈 화면에 추가」 → 추가 | 같음 | 가능하다는 자료와 Safari만 된다는 자료(플레어레인 문서)가 엇갈림 | 실기기 확인 |
| iOS 16.3 이하 Chrome 등 | 홈 화면 추가 불가 → Safari로 열어 달라고 안내 | — | 불가 | 확인됨 |
| iPad | 공유 버튼이 오른쪽 위. 26 이후 경로는 자료가 엇갈림 | — | — | 실기기 확인 |
iOS 판별: Safari 26부터 브라우저 식별 문자열의 OS 표기가 18_6에 고정된다. 그래서 OS 표기가 아니라 Safari 버전(Version/26)으로 iOS 버전을 판단한다(reentry.js에 반영). 26의 레이아웃은 웹에서 구분할 수 없다. 안내 시트는 iOS 26에 ⋯ → 공유 → 홈 화면에 추가 → 추가 4칸을 그리고 「공유 버튼이 화면에 바로 보이면 2번부터 하세요」를 붙인다. iOS 18 이하는 3칸.
Android
| 브라우저 | 순서 | 한 번 탭 설치 | 알림 | 확인 |
| Chrome | 우리 버튼을 누르면 Chrome 설치 창 → 「설치」. 창이 안 뜨는 경우 안내: ⋮ → 「홈 화면에 추가」(최신 버전은 「설치 및 바로가기 만들기」) → 설치 | 가능(beforeinstallprompt). 페이지를 한 번 이상 누르고 30초 이상 본 뒤부터 | 가능 | 확인됨 |
| 삼성 인터넷 | 하단 ≡ → 「현재 페이지 추가」 → 「홈 화면」 → 추가. 「쉬운 사용 모드」에서는 안 됨 | 지원 기록은 있으나 27.x 이후 안 뜬다는 보고가 있음 → 안내를 기본으로 | 가능 | 실기기 확인 |
| 네이버 웨일 | 메뉴 → 「홈 화면에 추가」 → 추가 (경로 자료 없음) | 미확인 | 미확인 | 실기기 확인 |
앱 안 브라우저
| 앱 | 자동 이동 | 안 될 때 안내 |
| 카카오톡 Android | kakaotalk://web/openExternal?url= (비공식, 막힐 수 있음) | 오른쪽 아래 ⋮ → 「다른 브라우저로 열기」 |
| 카카오톡 iPhone | 같은 스킴 | 오른쪽 아래 공유 → Safari 선택 |
| 네이버앱·인스타그램·페이스북 Android | intent://…;package=com.android.chrome;S.browser_fallback_url=… | ⋮ → 다른 브라우저로 열기 |
| 그 외 iPhone 앱 안 브라우저 | 강제로 Safari를 열 방법 없음 | ⋯ → Safari로 열기, 안 되면 「주소 복사」 버튼 |
카카오 알림톡 버튼은 공식 옵션("target":"out")으로 처음부터 외부 브라우저에서 열 수 있다. 예약 알림톡 링크에 이 옵션을 넣는 것이 가장 확실하다.
7웹 푸시 (플레어레인)
구성
- 플레어레인은 이미 앱 푸시에 쓰고 있다. 웹은 같은 프로젝트에 「웹 푸시」 채널로 사이트(https://www.aboutfishing.kr)를 등록하는 구조로 보인다. 같은 회원 ID로
setUserId 하면 한 회원 아래 앱 기기와 웹 기기가 묶인다.
- 사이트 루트에
/sw.js를 두고 첫 줄에 importScripts("https://cdn.flarelane.com/ServiceWorker.js")를 넣는다. 지금 www에는 서비스워커가 없다.
- 플레어레인 SDK의 기본 동작은 들어오자마자 권한 창을 띄우는 것이다. 그대로 붙이면 안 된다. 끄는 옵션이 있는지 플레어레인에 확인하고, 없으면 SDK 로드 자체를 「알림 받기」를 누른 뒤로 미룬다(flarelane-init.js).
언제 묻나
| 순간 | 제목 | 보낼 알림 | 발송 방식 |
| 찜을 누른 직후 · 마감 날짜 누름 | 찜했어요 · 빅보스호 빈자리 나면 알려드릴까요? | 찜한 배 취소 자리 발생 | 백엔드가 취소 이벤트를 플레어레인에 전달 → 여정으로 발송 |
| 예약 완료 직후 | 출항 전날 알림을 받아보세요 | 출항 전날 날씨·출항 여부·집결 시간 | 플레어레인 여정(예약 데이터 연동 필요) |
| 「새 조황 알림 받기」 | 이 배의 새 조황을 알려드릴까요? | 선장 조황 등록 | 조황 등록 이벤트 전달 |
| 홈 화면 앱 첫 실행 | 알림을 켜 둘까요? | 위 세 가지 | — |
지켜야 할 것
- iPhone은 홈 화면에 추가한 뒤에만 웹 알림을 받을 수 있다. Safari 탭에서는 빈자리 알림을 카톡 채널 또는 앱으로 권한다.
- iPhone 홈 화면 앱은 Safari와 로그인·저장공간이 분리된다. 처음 열면 다시 로그인해야 한다. 카카오·네이버 간편로그인이 첫 화면에 바로 보이게 한다.
- 앱이 있는 회원에게 웹과 앱으로 같은 알림이 두 번 가지 않게 한다. 웹 푸시 제안은 앱 설치가 확인된 고객에게 띄우지 않고, 발송 대상은 「앱 기기가 없는 회원」 조건으로 거른다(플레어레인 세그먼트 조건 지원 여부 확인).
- 광고성 알림은 기기 알림 허용과 별개로 광고성 정보 수신 동의가 있어야 한다. 제목 앞 (광고), 전송자 명칭, 수신 거부 방법을 넣고, 21시~08시에는 별도 동의 없이 보내지 않는다. 동의일부터 2년마다 수신 동의 여부를 알린다. 찜 빈자리·출항 안내처럼 고객이 요청한 거래 관련 알림은 정보성으로 분류하되 분류 기준은 법무 확인이 필요하다.
- Chrome은 오래 방문하지 않았고 반응이 적은 사이트의 알림 권한을 자동으로 회수한다. 홈 화면에 설치된 웹앱은 회수 대상에서 빠진다. 홈 화면 추가와 알림을 같이 권하는 이유다.
8앱 설치 유도
- 시점: 첫 예약 후. 앱 공간 자리(예약 완료 F3, 홈 D-3 카드 F6, 예약 내역 F5, 마이 앱 행)에서만 권한다. 헤더 캡슐은 홈 화면 공간이라 앱을 권하지 않는다.
- 첫 예약 전 고객에게는 마이 「어바웃피싱 앱」 행만 둔다.
- 홈 화면 앱으로 들어온 iPhone 고객에게는 앱 대신 이 폰 알림을 권한다(이미 아이콘이 있으므로).
- 카카오톡 안 고객은 출항 전날 안내를 알림톡으로 이미 받으므로 예약 완료 카드는 안내만 보여준다(사실 확인 필요, 결정 R-06).
- 링크: 기존 원링크에
af_dp(보던 경로), pid=web_reentry, c=노출 자리를 붙인다.
- iOS 스마트 앱 배너는 쓰지 않는다. 헤더 위에 한 줄을 더 차지하고 두 공간이 섞인다.
- 선결: 앱 연결 파일(
apple-app-site-association, assetlinks.json)이 지금 둘 다 404다. 없으면 「앱에서 열기」가 보던 화면으로 가지 못하고 Android 설치 여부 확인도 안 된다(9/10 결정 M5).
9측정
| GA4 이벤트 | 언제 | 매개변수 |
reentry_view | 제안이 화면에 나옴 | rx_type(add-home · install-app · open-app · escape · push), rx_surface(header-icon · capsule · chip-wish · done · line-wish · line-booked · sub-booked · bar-inbox · my · setting), rx_env(브라우저-OS버전) |
reentry_click | 제안 버튼을 누름 |
reentry_dismiss | 닫음 |
reentry_prompt_result | Android 설치 창 결과 | rx_outcome(accepted · dismissed) |
reentry_installed | 홈 화면 설치 완료(Android appinstalled) | — |
reentry_guide_view | 안내 시트가 열림 | rx_guide(ios26 · ios-safari · ios-other · chrome · samsung · whale) |
reentry_push_result | 알림 권한 결과 | rx_outcome(granted · denied · default), rx_ctx |
reentry_launch_home | 홈 화면 아이콘으로 실행 | — |
- 홈 화면 실행은 시작 주소
/?src=home으로도 구분한다. utm을 쓰지 않는 이유는 홈 화면 실행이 매번 새 캠페인 유입으로 잡혀 원래 유입 경로를 덮기 때문이다.
- 사용자 범위 맞춤 측정기준
display_mode(browser · standalone)를 추가한다.
- iOS 홈 화면 추가는 완료 신호가 없다. 홈 화면 첫 실행(
reentry_launch_home)으로 대신 센다.
10사용성 검증과 완료 기준
완료 기준: 고객 페르소나가 「쉽게 추가할 수 있었다」고 답하고, 사용성 점수가 100점 만점에 평균 90점 이상, 누구도 85점 아래가 아닐 것.
방법
- 우리 고객 구성(45세 이상 약 70%, 카카오톡·광고 유입 다수, 웹 트래픽 절반이 앱 안 브라우저)을 반영한 페르소나 8명(Android 4 · iPhone 4, 유입 경로 6종)이 데모에서 자기 기기·유입 경로로 첫 방문부터 과제를 수행하고, 매 단계 화면을 보며 인터뷰에 답했다.
- 이번 검증은 AI 페르소나 시뮬레이션이다. 개발 전 실제 고객 5명 확인(아래)을 한 번 더 거친다.
| 채점 항목 | 배점 | 기준 |
| 발견 | 20 | 필요할 때 홈 화면·앱·알림 방법을 찾을 수 있었나 |
| 이해 | 20 | 누르면 무엇이 되는지 바로 알았나 |
| 완료 쉬움 | 25 | 끝까지 해낼 수 있나, 누르는 횟수·막힘 |
| 방해 없음 | 15 | 둘러보기·예약을 방해하지 않았나 |
| 신뢰·고급감 | 10 | 광고 같지 않고 서비스 일부처럼 보였나 |
| 유입 맥락 적합 | 10 | 들어온 경로에 맞는 때와 방식이었나 |
결과
| 페르소나 | 기기 · 유입 | 1회차 | 2회차 | 3회차 |
| P1 56세 주말 출조 단골, 지난주 첫 예약 | Android 카카오톡 안 · 알림톡 「예약 확정」 | 67 | 86 | 92 |
| P7 64세, 디지털 서툼, 친구 카톡 공유로 첫 방문 | Android 카카오톡 안 · 공유 링크 | 67 | 83 | 90 |
| P2 42세 동호회 총무, 단체 예약 결제 | Android Chrome · 인스타 광고 → 기획전 | 70 | 87 | 89 |
| P4 58세 서해 실속 출조자 | Android Chrome · 주소 직접 입력 | 57 | 85 | 89 (두 번째 방문 93) |
| P3 45세 정독형 계획 예약자 | iOS 26 Safari · 네이버 검색 → 선박 상세 | 69 | 91 | 93 |
| P6 38세 낚시 입문 1년 | iOS 18 Safari · 선사 블로그 QR | 77 | 92 | 96 |
| P5 33세 남해·제주 조회만 하는 고객 | iOS Chrome · 구글 광고 → 선박 상세 | 76 | 93 | 99 |
| P3-2 45세, 홈 화면 아이콘으로 다시 옴(예약 1건) | iOS 26 홈 화면 앱 | 75 | 95 | 98 |
| 평균 / 최저 | 69.8 / 57 | 89 / 83 | 93.3 / 89 |
회차마다 페르소나의 개선 요청(교체 문구·수치)을 반영해 다시 테스트했고, 3회차에 평균 93.3점, 최저 89점으로 기준을 넘었다. 가장 많이 점수를 올린 요소는 번호 그림 안내 시트, 완료 토스트, 칩 위치(예약 버튼·날짜 목록을 가리지 않음), 앱 안 브라우저에서 옮겨 온 뒤 한 번 더 누르게 한 흐름이다.
실제 고객 확인 (개발 전)
- 대상 5명: 45세 이상 3명(Android 2, iPhone 1), 카카오톡 유입 1명, 아이폰 26 사용자 1명.
- 방법: 자기 폰으로 데모 주소를 열고 「이 사이트를 다음에 바로 열 수 있게 해 두세요」 한 과제만 준다. 설명 없이 지켜보고, 끝나면 같은 채점표로 점수를 받는다.
- 통과: 5명 중 4명 이상이 도움 없이 홈 화면에 아이콘을 만들고, 평균 90점 이상.
11공수와 일정
단위는 사람·일. 제공하는 reentry.js를 그대로 쓰는 기준이다.
| 단계 | 작업 | FE | BE | 앱 | 디자인 | QA·PM |
| 1차 | 매니페스트 보강(display·id·scope·maskable), head 태그 | 0.5 | — | — | 0.3 | — |
| 도우미 연결, 화면 전환마다 refresh, 결제 구간 차단 | 1.0 | — | — | — | — |
| 유입 경로 판별·경로별 정책 | 0.5 | — | — | — | — |
| F1 헤더 아이콘·캡슐 (새소식·출조) | 1.0 | — | — | 0.5 | — |
| F3 예약 완료 · F6 홈 D-3 카드 · F5 예약 내역·찜 목록 | 1.0 | — | — | 0.3 | — |
| F4 알림함 · F7 마이 두 행 | 0.6 | — | — | — | — |
| 홈 화면에 두는 법 시트(번호 그림, 6종)·완료 토스트 | 1.0 | — | — | 0.7 | — |
| 크롬(Safari)으로 옮겨 열기 + 도착 시트 + 알림톡 버튼 외부 열기 | 0.5 | 0.5 | — | — | — |
| 원링크 파라미터, 앱에서 보던 경로 받기 | 0.3 | — | 0.5 | — | — |
| GA4 이벤트·비교군 10%, 실기기 점검, 실제 고객 5명 확인 | 0.5 | — | — | — | 2.5 |
| 2차 | F2 찜 직후 칩 · 선박 상세 마감 날짜 줄 | 0.8 | — | — | — | — |
| 플레어레인 웹 SDK 지연 로드·setUserId, 루트 sw.js | 1.0 | — | — | — | — |
| F7 알림 설정 행 | 0.3 | — | — | — | — |
| 카카오 채널 추가(결정 후) | 0.5 | 1.0 | — | — | 0.5 |
| 찜한 배 빈자리 알림 이벤트 · 앱 설치 여부·수신 동의 동기화 | — | 3.5 | — | — | 0.5 |
| 여정 설정·발송 점검 | — | — | — | — | 1.0 |
| 합계 (약 21) | 9.5 | 5.0 | 0.5 | 1.8 | 4.5 |
- 1차: FE 6.9 · BE 0.5 · 앱 0.5 · 디자인 1.8 · QA·PM 2.5 — FE 1명 기준 영업일 7일 안팎.
- 2차: FE 2.6 · BE 4.5 · QA·PM 2.0 — 영업일 5일 안팎. 1차 판정 뒤 착수.
- 판정: 비교군 10%, 2주 차 중간 점검(중단 기준만), 6주 차 최종 판정(가입 코호트가 28일을 채우는 시점).
- 중단 기준: 결제 전환이 비교군보다 상대 3% 이상 낮으면 전체 끔 / 노출 후 10초 안 이탈률이 2%p 이상 오르면 그 자리 뺌 / 닫기 비율 70% 넘는 자리 뺌.
12결정 필요 · 실기기 확인 필요
| 번호 | 항목 | 권고 |
| R-01 | iPhone에서도 홈 화면 공간을 헤더에 둘지 | 둔다. 번호 그림 안내로 3~4번에 끝나고 페르소나 점수 93~99. 앱은 첫 예약 후 앱 공간에서만 |
| R-02 | 카카오톡 안 고객에게 카카오 채널 추가를 쓸지 | 빈자리 알림(알림 공간)에만 쓴다. 채널 메시지 비용·광고성 수신 동의 운영을 정한 뒤 2차. 그 전에는 크롬(Safari)으로 옮겨 열기 |
| R-03 | 먼저 띄우는 제안 한도 | 세션 1 · 7일 2 · 28일 4 · 연속 무시 2번이면 30일 |
| R-04 | 비교군 | 10%, 6주 차 판정 |
| R-05 | 웹 푸시를 앱과 같은 플레어레인 프로젝트에 | 같은 프로젝트. 플레어레인 확인 |
| R-06 | 출항 전날 안내 채널 | 알림톡 유지, 웹 푸시는 빈자리·조황부터. 카카오톡 안 예약 완료 카드의 「출항 전날 안내는 알림톡으로 보내드려요」가 사실과 맞는지 확인 |
| R-08 | 유입 경로별 첫 세션 정책(3장 표) | 표대로 시작, 2주 차에 경로별 이탈률 보고 조정 |
| R-07 | 찜 빈자리 알림의 정보성 분류 | 법무 확인. 쿠폰이 붙으면 광고성 |
실기기 확인
- iOS 27 Safari 홈 화면 추가 경로와 한글 메뉴 이름, iOS 26 한글 라벨, iPad
- Android Chrome에서 설치 창을 거절한 뒤 다시 뜨기까지의 기간
- 삼성 인터넷 27 이후 설치 창 발생 여부, 웨일 메뉴 경로
- iOS 홈 화면 앱에서 카카오·네이버 간편로그인이 제대로 돌아오는지
- 카카오톡 외부 열기 방식, 플레어레인 자동 권한 창 끄기 옵션
13개발 전달물
<span data-reentry-slot></span> ← F1 헤더 (검색 아이콘 왼쪽)
<div data-reentry-done></div> ← F3 예약 완료
<div data-reentry-bar="inbox"></div> ← F4 알림함
<div data-reentry-line="wish|booked"></div> ← F5 찜 목록 · 예약 내역
<div data-reentry-sub="booked"></div> ← F6 홈 D-3 카드
<div data-reentry-row></div> ← F7 마이
<div data-reentry-setting></div> ← F7 알림 설정 (2차)
AFReentry.suggest('wish', { name, top }) ← F2 찜 직후 (2차, top = 헤더 아래 px)
<a data-reentry-soldout="10/12(일)" data-name="배 이름"> ← 마감 날짜 줄 (2차)
AFReentry.bookedNow() ← 예약 완료 화면에서 한 번
AFReentry.refresh() ← 화면이 바뀔 때마다
AFReentry.init({
appLink: '원링크 주소', iconUrl: '/icon-192.png',
isBooked: () => 결제 완료 예약 수 > 0,
isMainScreen: () => 새소식·출조 화면인지,
headerHeight: 56, tabbarHeight: 64,
onKakaoChannel: () => 카카오 채널 추가 (Promise, 2차),
dayBeforeByKakao: true, // 출항 전날 안내를 알림톡으로 보내는 중이면
policy: { /* 유입 경로별 정책 덮어쓰기 (선택) */ },
onEvent: (name, p) => dataLayer.push({ event: name, ...p }),
onPushAccepted: (ctx) => AFPush.subscribe(ctx),
});
현재 www 실측(9/28): /site.webmanifest는 있으나 display·scope·id 없음, 아이콘 192·512 있음(maskable 없음), theme-color·apple 메타 없음, 서비스워커 경로 5곳 모두 404, 딥링크 파일 2종 404. HTML의 manifest 연결 태그와 번들 안 푸시 SDK 유무는 확인하지 못했다.
출처
- Chrome 설치 조건 web.dev/articles/install-criteria (2024-09) · 서비스워커 요건 삭제 developer.chrome.com/blog/update-install-criteria
- WebKit 홈 화면 웹앱 푸시 webkit.org/blog/13878 (2023-02) · Declarative Web Push webkit.org/blog/16535 (2025-03) · Safari 26 webkit.org/blog/17333 (2025-09)
- iOS 26 Safari 레이아웃 9to5mac.com/2025/09/15/iphone-ios-26-safari-new-compact-design · 홈 화면 추가 macrumors.com/how-to/save-safari-bookmark-web-app-iphone-home-screen (2025-08)
- Chrome iOS 홈 화면 추가 support.google.com/chrome/answer/9658361 · Chrome Android 바로가기 support.google.com/chrome/answer/15085120
- 삼성 인터넷 경로 extrememanual.net/34221 · beforeinstallprompt 지원 caniuse.com/mdn-api_beforeinstallpromptevent · 삼성 27.x 보고 forum.developer.samsung.com
- 카카오톡 외부 브라우저 extrememanual.net/60210 (2026-05) · burndogfather.com/271 · devtalk.kakao.com/t/topic/131149
- StatCounter 한국 2026년 8월(OS·브라우저·iOS 버전) gs.statcounter.com
- Chrome 알림 권한 자동 회수 blog.google/chromium/automatic-notification-permission (2025-10) · 조용한 권한 UI blog.chromium.org/2020/01
- 플레어레인 웹 SDK flarelane.com/ko/docs/sdk-integrations/web-sdk · iOS 웹 푸시 flarelane.com/ko/docs/sdk-integrations/ios-web-push · 기기와 유저 flarelane.com/ko/docs/targets/devices-and-users · 광고성 푸시 flarelane.com/ko/docs/settings/promotinal-push-notifications-guide
- Apple 스마트 앱 배너 developer.apple.com/documentation/webkit/promoting-apps-with-smart-app-banners · getInstalledRelatedApps developer.chrome.com/docs/capabilities/get-installed-related-apps
- 구글 전면 팝업 가이드 developers.google.com/search/docs/appearance/avoid-intrusive-interstitials · 구글플러스 사례 martech.org/google-data-show-users-hate-app-promotion-interstitials
- 29CM 헤더 「앱으로 보기」 29cm.co.kr (9/28 확인) · 번개장터 앱 유도 실험 brunch.co.kr/@growthlead/6
- 내부: 9/7 마케팅 전략서, 9/28 론칭 전후 지표 비교, 9/10 www 실측(M5)