# 분석 스크립트 적용 가이드

{% hint style="info" %}
CTS(CTS 전환 데이터가 포함된 일부 메), LOGGER, TAM, ADM(순위 입찰) 앱 사용을 위해 설치되어야 하는 분석스크립트 적용 가이드입니다.&#x20;

기본 스크립트는 분석할 사이트내 필수로 설치하여야 하며, 환경변수 스크립트는 분석이 필요한 항목을 선별하여 설치할 수 있습니다.
{% endhint %}

## **1. (필수) 기본 스크립트** <a href="#id-1e9a3092-4e6b-4844-ac4f-88589e8cc2c2" id="id-1e9a3092-4e6b-4844-ac4f-88589e8cc2c2"></a>

기본 스크립트는 웹사이트 분석을 위해 <mark style="color:red;">**전체 페이지에 필수적으로 삽입**</mark>해야 합니다.

프로그래밍 언어로 구현된 대부분의 웹사이트들은 공통 레이아웃을 가지고 있습니다. 공통 레이아웃에는 일반적으로 헤더(탐색 및 메뉴 부분) 또는 푸터(회사 정보, 저작권 정보 등 공통적인 HTML 코드를 포함하고 있는 부분) 같은 공통적인 UI(사용자 인터페이스) 요소들이 포함됩니다.

모든 페이지에 개별적으로 삽입하면 유지 보수에 어려움이 있을 수 있기 때문에, 한 번의 작업으로 전체 페이지에 적용될 수 있도록 <mark style="color:red;">**푸터 파일 내의 \</body> 태그 위쪽에 삽입**</mark>합니다.

<figure><img src="https://3172111854-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL3LdHsdRg8NmZpA0fwJE%2Fuploads%2FON4U4ugYMCYv4cFIK8ww%2Fimage%20(17).png?alt=media&#x26;token=7d974cb3-4ac3-4c8c-9a25-467d9eb5bd6c" alt=""><figcaption></figcaption></figure>

```javascript
<script type="text/javascript">
  (function(b,s,t,c,k){b[k]=s;b[s]=b[s]||function(){(b[s].q=b[s].q||[]).push(arguments)}; var f=t.getElementsByTagName(c)[0],j=t.createElement(c);j.async=true;j.src='//fs.bizspring.net/gp/gp.v.1.0.js';f.parentNode.insertBefore(j,f);})(window,'_gp',document,'script','BSGPObj');
  _gp('프로파일 번호','land');
</script>
```

***

## **2. (선별) 환경변수 스크립트** <a href="#id-293c9d2c-6a1a-4d23-aac1-ad6c99971af7" id="id-293c9d2c-6a1a-4d23-aac1-ad6c99971af7"></a>

환경변수 스크립트는 전체 페이지에 적용하지 않으며 <mark style="color:red;">**해당 환경변수의 설정이 필요한 페이지에만 선별적으로 적용**</mark>합니다.

예를 들어, 주문완료에 대한 전환추적을 하고 싶은 경우에는 사용자가 결제를 완료하면 이동되는 페이지(일반적으로 '주문이 완료되었습니다.'라고 결과를 표시하는 페이지)에 삽입합니다.

<mark style="color:red;">**HTML 코드 내에서 (필수)기본 스크립트보다 반드시 위쪽에 위치해야 합니다**</mark><mark style="color:red;">.</mark>

제공되는 환경변수 전체를 적용할 필요는 없으며 <mark style="color:red;">**필요한 환경변수만을 선별적으로 적용하는 것이 가능**</mark>합니다.

환경변수 값에 쌍따옴표(“) 또는 작은따옴표(‘)가 들어갈 수 없습니다.

### **2.1 환경변수 간략 요약표** <a href="#id-7a132172-94b0-46c4-b6f4-98e4162a4dc2" id="id-7a132172-94b0-46c4-b6f4-98e4162a4dc2"></a>

| \_TRK\_PND | 상품명        |
| ---------- | ---------- |
| \_TRK\_MF  | 상품 카테고리    |
| \_TRK\_OP  | 주문상품명      |
| \_TRK\_OPC | 주문상품코드     |
| \_TRK\_OE  | 주문수량       |
| \_TRK\_OA  | 주문금액       |
| \_TRK\_OAP | 할인전 금액     |
| \_TRK\_SX  | 회원 성별      |
| \_TRK\_AG  | 회원 나이      |
| \_TRK\_IK  | 내부 검색어 전달  |
| \_TRK\_RK  | 고객 ID/고객번호 |
| \_TRK\_CC  | 외부캠페인코드    |
| \_TRK\_IC  | 내부캠페인코드    |

### **2.2 상품 조회** <a href="#b8ec68f8-bcf1-4a27-a496-7c20afe8214a" id="b8ec68f8-bcf1-4a27-a496-7c20afe8214a"></a>

> 환경변수 스크립트는 HTML 코드 내에서 (필수) <mark style="color:red;">기본 스크립트보다 반드시 위쪽에 위치</mark>해야 합니다.

| 구분    | 적용 위치     | 환경 변수                                                                |
| ----- | --------- | -------------------------------------------------------------------- |
| 상품 조회 | 상품 상세 페이지 | <p>\_TRK\_PI </p><p>\_TRK\_PN </p><p>\_TRK\_PND </p><p>\_TRK\_MF</p> |

```javascript
<script type="text/javascript">
  _TRK_PI = "PDV";
  _TRK_PN = "상품코드";
  _TRK_PND = "상품명";
  _TRK_MF = "브랜드명";
</script>
```

### **2.3 장바구니 담기** <a href="#ceadfe18-8908-4750-bc05-2518f9b9b701" id="ceadfe18-8908-4750-bc05-2518f9b9b701"></a>

> 환경변수 스크립트는 HTML 코드 내에서 (필수) <mark style="color:red;">기본 스크립트보다 반드시 위쪽에 위치</mark>해야 합니다.

| 구분      | 적용 위치     | 환경 변수                                                             |
| ------- | --------- | ----------------------------------------------------------------- |
| 장바구니 담기 | 상품 상세 페이지 | <p>\_TRK\_PI <br>\_TRK\_PN </p><p>\_TRK\_PND </p><p>\_TRK\_MF</p> |

\
클릭 이벤트는 PC 버전의 경우에는 mousedown으로 Mobile 버전의 경우에는 touchstart로 적용합니다.  버튼 클릭 후 페이지 이동이 있는 경우 `setTimeout()`을 통해 로그 유실을 방지합니다.

```javascript
<script type="text/javascript">
  document.querySelectorAll("장바구니담기 버튼 선택자").forEach(function(element) {
    element.addEventListener("mousedown 또는 touchstart", function() {
      _TRK_PI = "SCI";
      _TRK_PN = "상품코드";
      _TRK_PND = "상품명";
      _TRK_MF = "브랜드명";
      _gp("프로파일 번호","conv");

      setTimeout(function () {
        location.href = "이동할 URL"; // 예: 장바구니 페이지
      }, 300);
    });
  });
</script>
```

\
상품조회 스크립트를 적용하여 해당 페이지에 \_TRK\_PN, \_TRK\_PND, \_TRK\_MF 변수가 이미 설정되어 있는 경우에는 \_TRK\_PI 변수만 설정합니다.

```javascript
<script type="text/javascript">
  document.querySelectorAll("장바구니담기 버튼 선택자").forEach(function(element) {
    element.addEventListener("mousedown 또는 touchstart", function() {
      _TRK_PI = "SCI";
      _gp("프로파일 번호","conv");

      setTimeout(function () {
        location.href = "이동할 URL"; // 예: 장바구니 페이지
      }, 300);
    });
  });
</script>
```

#### ※ `_gp()` 방식으로 로그 수집이 누락될 경우

로거에서이벤트 수집 로그가 누락될 경우 `_trk_flashEnvView()` 방식으로 대체 적용할 수 있습니다.

```javascript
<script type="text/javascript">
  document.querySelectorAll("장바구니담기 버튼 선택자").forEach(function(element) {
    element.addEventListener("mousedown 또는 touchstart", function() {
      _trk_flashEnvView(
        '_TRK_PI=SCI', //이벤트 구분값
        '_TRK_PN=상품코드',
        '_TRK_PND=상품명',
        '_TRK_MF=브랜드명'
      );

      setTimeout(function () {
        location.href = "이동할 URL"; // 예: 장바구니 페이지
      }, 300);
    });
  });
</script>
```

스크립트 삽입이 어려운 CMS 환경이나 에디터 페이지 등에서는 아래와 같이 `onmousedown` 속성을 이용해 HTML 태그에 직접 수집 이벤트를 삽입할 수 있습니다.

```html
<!-- 예시: 이미지 버튼 클릭 시 로그 수집 -->
<img
  src="/img/add-to-cart.png"
  width="100"
  height="30"
  alt="장바구니 담기"
  onmousedown="_trk_flashEnvView('_TRK_PI=SCI','_TRK_PN=상품코드','_TRK_PND=상품명','_TRK_MF=브랜드명'); location.href='이동할 URL';"
/>
```

{% hint style="info" %}
`onmousedown` 방식은 빠르게 적용할 수 있으나, 복잡한 로직 처리나 유지  보수에는 한계가 있습니다. 가능하면 JavaScript 이벤트 바인딩 방식 사용을 권장합니다.
{% endhint %}

### **2.4 주문 완료** <a href="#id-490e86ea-6cb4-4bd9-8e2f-5c15b6889c20" id="id-490e86ea-6cb4-4bd9-8e2f-5c15b6889c20"></a>

> 환경변수 스크립트는 HTML 코드 내에서 (필수) <mark style="color:red;">기본 스크립트보다 반드시 위쪽에 위치</mark>해야 합니다.

| 구분 | 적용 위치     | 환경 변수                                                                                                                    |
| -- | --------- | ------------------------------------------------------------------------------------------------------------------------ |
| 주문 | 주문 완료 페이지 | <p>\_TRK\_PI \_</p><p>TRK\_ODN </p><p>\_TRK\_OA </p><p>\_TRK\_OE </p><p>\_TRK\_OP </p><p>\_TRK\_OPC</p><p>\_TRK\_OAP</p> |

\
주문수량, 주문금액의 변수는 숫자만 호출합니다.

```javascript
<script type="text/javascript">
  _TRK_PI = "ODR";
  _TRK_ODN = "주문번호";
  _TRK_OA = "주문금액";
  _TRK_OE = "주문수량";
  _TRK_OP = "주문상품명";
  _TRK_OPC = "주문상품코드";
  _TRK_OAP = "할인전금액";
</script>
```

\
2개 이상 상품을 구매할 경우 세미콜론으로 구분하여 변수를 호출합니다.

**예시) 동시에 A 상품 300원 \* 10개 + B 상품 200원 \* 4개 + C 상품 500원 \* 1개를 주문한 경우**

```
<script type="text/javascript">
  _TRK_PI = "ODR";
  _TRK_ODN = "주문번호";
  _TRK_OA = "3000;800;500";
  _TRK_OE = "10;4;1";
  _TRK_OP = "A의 상품명;B의 상품명;C의 상품명";
  _TRK_OP = "A의 상품코드;B의 상품코드;C의 상품코드";
  _TRK_OAP = "2000;400;300";
</script>
```

### **2.5 특정 카테고리** <a href="#d2fc39e4-a067-4e09-a9da-0e877808c714" id="d2fc39e4-a067-4e09-a9da-0e877808c714"></a>

| 구분      | 적용 위치       | 환경 변수     |
| ------- | ----------- | --------- |
| 특정 카테고리 | 카테고리 분석 페이지 | \_TRK\_CP |

```javascript
<script type="text/javascript">
  _TRK_CP = "소속 카테고리명 변수";
</script>
```

### **2.6 회원 가입** <a href="#a55bd6b0-301a-4438-b9e7-2f1c9f9363bc" id="a55bd6b0-301a-4438-b9e7-2f1c9f9363bc"></a>

> 환경변수 스크립트는 HTML 코드 내에서 (필수) <mark style="color:red;">기본 스크립트보다 반드시 위쪽에 위치</mark>해야 합니다.

| 구분    | 적용 위치        | 환경 변수                                            |
| ----- | ------------ | ------------------------------------------------ |
| 회원 가입 | 회원 가입 완료 페이지 | <p>\_TRK\_PI</p><p>\_TRK\_SX</p><p>\_TRK\_AG</p> |

```javascript
<script type="text/javascript">
  _TRK_PI = "RGR";
  _TRK_SX = "";
  _TRK_AG = "";
</script>
```

### **2.7 로그인** <a href="#id-07d74fa1-da50-4732-9025-94663ad22299" id="id-07d74fa1-da50-4732-9025-94663ad22299"></a>

> 환경변수 스크립트는 HTML 코드 내에서 (필수) <mark style="color:red;">기본 스크립트보다 반드시 위쪽에 위치</mark>해야 합니다.

| 구분  | 적용 위치      | 환경 변수                                             |
| --- | ---------- | ------------------------------------------------- |
| 로그인 | 로그인 완료 페이지 | <p>\_TRK\_PI </p><p>\_TRK\_SX</p><p>\_TRK\_AG</p> |

```javascript
<script type="text/javascript">
  _TRK_PI = "LIR";
  _TRK_SX = “”;
  _TRK_AG = “”;
</script>
```

### **2.8 회원특성 분류** <a href="#fd33ad25-7e4a-493e-9984-961241c1a43b" id="fd33ad25-7e4a-493e-9984-961241c1a43b"></a>

> 환경변수 스크립트는 HTML 코드 내에서 (필수) <mark style="color:red;">기본 스크립트보다 반드시 위쪽에 위치</mark>해야 합니다.

| 구분 | 적용 위치 | 환경 변수     |
| -- | ----- | --------- |
| 성별 |       | \_TRK\_SX |
| 연령 |       | \_TRK\_AG |

```
<script type="text/javascript">
  _TRK_SX = “”; // M, F, U
  _TRK_AG = “”; // A ~ G 
</script>
```

{% hint style="warning" %}
**참고**

**\_TRK\_PI의 경우 아래와 같이 코드값으로 정의**

회원 가입 완료 페이지는 RGR, 로그인 성공시 LIR 그외는 2.11 참고

**\_TRK\_SX의 경우 아래와 같이 코드값으로 정의**

남성은 M, 여성은 F, 그 외는 U

**\_TRK\_AG의 경우 A\~Z 알파벳 코드값으로 정의**
{% endhint %}

| 속성 | 속성명    | 데이터 범위  |
| -- | ------ | ------- |
| A  | 10대 이하 | 0\~19   |
| B  | 20대    | 20\~29  |
| C  | 30대    | 30\~39  |
| D  | 40대    | 40\~49  |
| E  | 50대    | 50\~59  |
| F  | 60대    | 60\~69  |
| G  | 70대 이상 | 70\~150 |

\
**예시) level B(20대) 의 여성이 회원가입 완료하였을 경우**

```javascript
<script type="text/javascript">
  _TRK_PI = “RGR”; 
  _TRK_SX = “F”;
  _TRK_AG = “B”;
</script>
```

### **2.9 내부 검색어** <a href="#id-500e97e1-427d-45c4-abfb-8eae84d4a123" id="id-500e97e1-427d-45c4-abfb-8eae84d4a123"></a>

> 환경변수 스크립트는 HTML 코드 내에서 (필수) <mark style="color:red;">기본 스크립트보다 반드시 위쪽에 위치</mark>해야 합니다.

| 구분     | 적용 위치     | 환경 변수     |
| ------ | --------- | --------- |
| 내부 검색어 | 검색 완료 페이지 | \_TRK\_IK |

```javascript
<script type="text/javascript">
  _TRK_IK = "검색어 변수"; 
</script>
```

### **2.10 \_TRK\_ENV\_XXX 변수 정의** <a href="#id-49e26757-2e2b-46f0-842f-f84821efb11e" id="id-49e26757-2e2b-46f0-842f-f84821efb11e"></a>

> 환경변수 스크립트는 HTML 코드 내에서 (필수) <mark style="color:red;">기본 스크립트보다 반드시 위쪽에 위치</mark>해야 합니다.

\
정의되어 있는 환경변수 이외에 사용할 경우 \_TRK\_ENV\_ 뒤에 이름(XXX) 정의해주고 값을 할당

```javascript
<script type="text/javascript">
  _TRK_ENV_XXX = "값";
</script>
```

\
**예시) 환경변수가 \_TRK\_ENV\_PDA1이고 값이 “1”인 경우**

```javascript
<script type="text/javascript">
  _TRK_ENV_PDA1 = “1”; 
</script>
```

| ENV 변수            | 용도            |
| ----------------- | ------------- |
| \_TRK\_ENV\_PDA1  | 상품 속성 #1      |
| \_TRK\_ENV\_PDA2  | 상품 속성 #2      |
| \_TRK\_ENV\_PDA3  | 상품 속성 #3      |
| \_TRK\_ENV\_PDA4  | 상품 속성 #4      |
| \_TRK\_ENV\_PDA5  | 상품 속성 #5      |
| \_TRK\_ENV\_PDA6  | 상품 속성 #6      |
| \_TRK\_ENV\_PDA7  | 상품 속성 #7      |
| \_TRK\_ENV\_PDA8  | 상품 속성 #8      |
| \_TRK\_ENV\_PDA9  | 상품 속성 #9      |
| \_TRK\_ENV\_PDA10 | 상품 속성 #10     |
| \_TRK\_ENV\_CPN   | 쿠폰 사용         |
| \_TRK\_ENV\_CPND  | 쿠폰 코드         |
| \_TRK\_ENV\_AIC   | 장바구니 추가 금액    |
| \_TRK\_ENV\_ACA   | 장바구니 삭제 금액    |
| \_TRK\_ENV\_IKR   | 내부검색어 검색결과 여부 |
| \_TRK\_ENV\_IKP   | 내부검색어 검색결과수   |

### **2.11 \_TRK\_PI 코드값** <a href="#a8ba9179-5db9-4af6-b53d-425a572aa16c" id="a8ba9179-5db9-4af6-b53d-425a572aa16c"></a>

| 코드값  | 용도          |
| ---- | ----------- |
| RGR  | 회원가입        |
| LIR  | 로그인         |
| LGO  | 로그아웃        |
| PLV  | 상품 리스트 페이지  |
| PDV  | 상품 상세 조회    |
| PRV  | 상품 리뷰 조회    |
| ATF  | 관심상품에 추가    |
| SCI  | 장바구니에 추가    |
| SCO  | 장바구니에서 삭제   |
| OCV  | 장바구니 페이지 조회 |
| OCF  | 체크아웃        |
| ODR  | 주문(구매)      |
| WPR  | 리뷰 작성       |
| FOD  | 첫 구매 여부     |
| CODR | 구매 취소       |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bizspring.co.kr/in-tp-user-guide/in-tp-1/undefined-2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
