generated from ttipo/project-base
fix: 관리자 화면 '오픈카톡 입장'을 '카톡 버튼 클릭'으로 바로잡음
실제 오픈카톡방 입장은 카카오가 알려주지 않아 추적할 수 없고, 집계하는 값은 신청 완료 화면의 오픈카톡 버튼을 처음 누른 시각(kakao_clicked_at)이다. '입장률'로 표시하면 실제 입장으로 오해하므로 문구를 사실대로 바꾸고 안내를 붙인다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -550,7 +550,7 @@
|
||||
</div>
|
||||
<div class="mgm-table-wrap">
|
||||
<table>
|
||||
<thead><tr><th data-role="app-groups-col">상품</th><th class="mgm-r">신청</th><th class="mgm-r">오픈카톡 입장</th></tr></thead>
|
||||
<thead><tr><th data-role="app-groups-col">상품</th><th class="mgm-r">신청</th><th class="mgm-r" title="신청 완료 화면의 오픈카톡 버튼을 누른 수 — 실제 입장 여부는 카카오가 알려주지 않아 알 수 없습니다">카톡 버튼 클릭</th></tr></thead>
|
||||
<tbody data-role="app-groups"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -588,7 +588,7 @@
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>신청일시</th><th>신청자</th><th>연락처</th><th>상품</th><th>업체</th><th>오픈카톡</th>
|
||||
<th>신청일시</th><th>신청자</th><th>연락처</th><th>상품</th><th>업체</th><th title="신청 완료 화면의 오픈카톡 버튼을 누른 수 — 실제 입장 여부는 카카오가 알려주지 않아 알 수 없습니다">카톡 버튼</th>
|
||||
<th title="신청 직전 유입 — 첫 경로와 다르면 아래에 '최초'로 함께 표시">신청 때 유입</th><th>가입 경로</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -1457,12 +1457,12 @@
|
||||
|
||||
api('GET', '/admin/applications/groups' + toQuery(periodQuery('today', 'appliedFrom', 'appliedTo'))).then(function (g) {
|
||||
setKpi('app-today', num(g.total));
|
||||
setKpi('app-today-sub', '오픈카톡 입장 ' + num(g.kakaoTotal) + '명');
|
||||
setKpi('app-today-sub', '카톡 버튼 클릭 ' + num(g.kakaoTotal) + '명');
|
||||
}).catch(errorNotice);
|
||||
|
||||
api('GET', '/admin/applications/groups' + toQuery(periodQuery('7', 'appliedFrom', 'appliedTo'))).then(function (g) {
|
||||
setKpi('app-week', num(g.total));
|
||||
setKpi('app-week-sub', '오픈카톡 입장률 ' + pct(g.kakaoTotal, g.total));
|
||||
setKpi('app-week-sub', '카톡 버튼 클릭률 ' + pct(g.kakaoTotal, g.total));
|
||||
}).catch(errorNotice);
|
||||
|
||||
api('GET', '/admin/partners' + toQuery(Object.assign({ limit: LIST_LIMIT }, periodQuery('7', 'from', 'to')))).then(function (page) {
|
||||
@@ -1649,7 +1649,7 @@
|
||||
'<td class="mgm-wrap">' + dash(a.productName) + '<span class="mgm-cell-sub">#' + esc(a.productIdx) + '</span></td>' +
|
||||
'<td>' + (a.partner ? '<span class="mgm-badge is-accent">' + esc(a.partner.name) + '</span>' : '<span class="mgm-faint">-</span>') + '</td>' +
|
||||
'<td>' + (a.kakaoClickedAt
|
||||
? '<span class="mgm-badge is-ok" title="' + esc(kstDateTime(a.kakaoClickedAt)) + '">입장</span>'
|
||||
? '<span class="mgm-badge is-ok" title="' + esc(kstDateTime(a.kakaoClickedAt)) + ' 에 버튼을 눌렀습니다 (실제 입장 여부는 알 수 없음)">클릭</span>'
|
||||
: '<span class="mgm-faint">-</span>') + '</td>' +
|
||||
'<td class="mgm-wrap">' + applyInflowCell(a) + '</td>' +
|
||||
'<td class="mgm-wrap">' + joinInflowCell(m) + '</td>' +
|
||||
@@ -1700,7 +1700,7 @@
|
||||
['상품', dash(a.productName) + ' <span class="mgm-faint">#' + esc(a.productIdx) + '</span>'],
|
||||
['신청일시', esc(kstDateTime(a.appliedAt))],
|
||||
['업체', a.partner ? '<span class="mgm-badge is-accent">' + esc(a.partner.name) + '</span> 업체 링크 실적' : '업체 링크를 거치지 않음'],
|
||||
['오픈카톡', a.kakaoClickedAt ? '입장 버튼 누름 · ' + esc(kstDateTime(a.kakaoClickedAt)) : '누르지 않음']
|
||||
['카톡 버튼', a.kakaoClickedAt ? '눌렀음 · ' + esc(kstDateTime(a.kakaoClickedAt)) + ' <span class="mgm-faint">(실제 입장 여부는 알 수 없음)</span>' : '누르지 않음']
|
||||
]) + '</section>' +
|
||||
'<section class="mgm-dsec"><h4>신청 때 유입</h4>' + dlHtml([
|
||||
['신청 직전', last && last.source ? esc(last.source) + (last.medium ? ' / ' + esc(last.medium) : '') : ''],
|
||||
|
||||
Reference in New Issue
Block a user