diff --git a/backend/src/shared/utils/partner-link.ts b/backend/src/shared/utils/partner-link.ts index 3f16c2c..27396cb 100644 --- a/backend/src/shared/utils/partner-link.ts +++ b/backend/src/shared/utils/partner-link.ts @@ -86,7 +86,10 @@ export function buildEntryUrl(siteUrl: string, code: string): string { /** UTM 파라미터 접두어 — imweb-header-top.html 의 UTM 스크립트가 읽는다 */ const UTM_PARAM_PREFIX = 'utm_'; -/** 업체 링크로 온 방문의 매체 값 */ +/** + * 업체 링크로 온 방문의 매체 값. + * imweb-header-top.html 의 PARTNER_MEDIUM 과 같아야 한다 — 이 값이면 UTM 스크립트가 최초유입을 업체로 덮어쓴다 + */ export const PARTNER_UTM_MEDIUM = 'partner'; /** diff --git a/imweb/README.md b/imweb/README.md index 38bb4b3..1a9553e 100644 --- a/imweb/README.md +++ b/imweb/README.md @@ -99,6 +99,9 @@ docker exec -u root moneyguide-backend rm /tmp/members-1.xls | 가입 경로 | 그 회원이 가입할 때 기록된 경로 (가입 후 채워진 값은 제외) | naver | 다른 기기에서 신청하면 신청 때 유입은 direct 로 남는다. +- **업체 링크는 첫 경로보다 우선한다** — 업체 링크(`utm_medium=partner`)로 들어오면 보관 중인 첫 경로를 + 그 업체로 바꾼다. 예) 어제 광고로 들어와 가입 → 오늘 업체 링크로 신청: 가입 경로 광고, 신청 때 유입 업체. + 여러 업체 링크를 거치면 마지막 업체가 남는다 (업체 실적의 마지막 클릭 규칙과 같다) - 백엔드는 아임웹에 실제로 있는 회원인지 확인하고(동기화 전 신규 가입자는 아임웹 API 로 직접 확인), 회원·상품당 한 건만 남긴다. 이름·연락처는 브라우저 값이 아니라 아임웹 회원 정보를 쓴다 - 오픈카톡 버튼 클릭은 `POST /api/applications/{id}/kakao-clicks` 로 처음 한 번만 남는다 @@ -145,7 +148,11 @@ docker exec -u root moneyguide-backend rm /tmp/members-1.xls - **구매 수**: 결제완료 주문만 센다. 전액 환불되거나 해당 상품 품목이 모두 취소·반품되면 빠진다. 금액은 관리하지 않는다 - **링크는 지우지 않고 중지**한다 — 중지해도 상품 페이지로 이동은 되지만 클릭·실적은 쌓이지 않는다. 링크가 있는 업체는 삭제할 수 없다 (실적 기록 보존) -- 업체 링크로 온 방문은 UTM 스크립트가 업체 UTM 으로 기록하므로, 신청 때 유입·가입 경로 집계에도 업체 이름이 나온다 +- 업체 링크로 온 방문은 UTM 스크립트가 업체 UTM 으로 기록하므로, 신청 때 유입·가입 경로 집계에도 업체 이름이 나온다. + 먼저 광고 등으로 들어와 첫 경로가 남아 있어도 업체로 덮어쓴다 (Header Code v1.2) + - 단, 관리자가 이동 주소에 직접 UTM 을 넣은 링크는 `utm_medium=partner` 가 아니므로 덮어쓰지 않는다 + - 업체 실적은 **그 상품의** 링크만 세지만 유입은 상품을 가리지 않는다 — + A 상품 업체 링크로 들어와 B 상품을 신청하면 신청 때 유입은 업체, 업체 칸은 비어 있다 - 이동 주소는 아임웹 사이트(www 유무 무관) 안만 허용한다 — 단축 링크가 피싱에 쓰이지 않게. 사이트 주소는 `IMWEB_SITE_URL`, 비우면 `IMWEB_ADMIN_PAGE_URL` 의 origin - 한계 diff --git a/imweb/imweb-header-top.html b/imweb/imweb-header-top.html index 7d6375f..7d96044 100644 --- a/imweb/imweb-header-top.html +++ b/imweb/imweb-header-top.html @@ -28,7 +28,8 @@