# SDK Integration 개요

Marketap은 다양한 플랫폼(Android, iOS, Web 등)에서 고객 행동 데이터를 수집하고, 세그먼트와 메시지를 기반으로 캠페인을 자동화할 수 있는 마케팅 플랫폼입니다.

&#x20;이 문서는 **SDK와 API를 통한 데이터 연동을 시작하기 전에 반드시 확인해야 할 전체 Integration 흐름**을 소개합니다.

통합은 총 3단계로 이루어집니다:

1. 정의 (Taxonomy Planing)
2. 통합 (SDK/API Integration)
3. 검증 (QA & Maintenance)

## 1. 정의 (Taxnomy Planing)

{% hint style="info" %}
**"무엇을 수집할 것인가"를 먼저 정해야 합니다.**
{% endhint %}

Marketap의 모든 마케팅 자동화는 **정확한 이벤트 정의와 유저 속성 설계**에서 출발합니다.

이 단계에서는 마케터와 개발자가 함께 **Taxonomy(이벤트/속성 체계)** 를 설계하고, 이를 기반으로 데이터 연동 스펙을 확정해야 합니다.

* 어떤 **고객 행동**을 수집할지 정의합니다.
  * 예: 구매 완료, 장바구니 담기, 상품 조회 등
* 각 행동과 함께 수집할 **속성**을 정의합니다.
  * 예: `mkt_product_id`, `mkt_price`, `mkt_category`
* 고객 식별을 위한 **user\_id 정책**과 함께, 마케팅에 활용할 **유저 속성**을 정리합니다.
  * 예: `mkt_push_optin`, `mkt_grade`, `survey_count`

이벤트/속성 체계를 내부적으로 정의하게 되면, 아래와 같은 표를 완성할 수 있습니다.

<table><thead><tr><th width="144.5">고객 행동 종류</th><th width="159.3125">마켓탭 연동 방식</th><th width="124.9375" data-type="checkbox">기본 제공 여부</th><th>관련 이벤트 속성</th></tr></thead><tbody><tr><td>구매</td><td>mkt_purchase </td><td>true</td><td>구매 총액(mkt_revenue), 구매 아이템들 (mkt_items) ...</td></tr><tr><td>장바구니 담기</td><td>mkt_add_to_cart</td><td>true</td><td>장바구니 담은 아이템들(mkt_items), 장바구니 총액 (cart_total_price), ...</td></tr><tr><td>마케팅 페이지 방문</td><td>event_page_visit</td><td>false</td><td>진행중인 마케팅 id (marketing_id), 마케팅 이름 (marketing_name)</td></tr><tr><td>설문조사 참여</td><td>survey_submit</td><td>false</td><td>설문조사 id (survey_id), 설문조사 이름(survey_name), 설문조사 총 시간 (survey_seconds)</td></tr><tr><td>...</td><td></td><td>false</td><td></td></tr></tbody></table>

<table><thead><tr><th width="175.4375">고객 속성</th><th width="256.3125">마켓탭 연동 방식</th><th width="248.9375" data-type="checkbox">기본 제공 여부</th></tr></thead><tbody><tr><td>등급</td><td>mkt_push_optin</td><td>true</td></tr><tr><td>푸시 수신 동의 여부</td><td>mkt_grade</td><td>true</td></tr><tr><td>설문조사 참여 횟수</td><td>survey_count</td><td>false</td></tr></tbody></table>

마켓탭은, 고객이 자주 연동하는 이벤트와 이벤트 속성, 유저 속성들은 미리 제공하고 있습니다. 아래 내용에서 더 자세하게 확인이 가능합니다.

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>기본 이벤트</td><td><a href="../taxonomy/sdk/event/predefined">predefined</a></td></tr><tr><td>기본 이벤트 속성</td><td><a href="../taxonomy/sdk/event/property">property</a></td></tr><tr><td>기본 유저 속성</td><td><a href="../taxonomy/sdk/user-profile/property">property</a></td></tr></tbody></table>

이 정의가 완료되면, 마켓탭에서 제공하지 않은 이벤트나 이벤트 속성을 콘솔에서 등록합니다.

{% hint style="danger" %}
마켓탭은 콘솔을 통해 정의되지 않은 이벤트나 이벤트 속성, 유저 속성은 **저장하지 않고 무시**합니다. 반드시 정의한 커스텀 텍소노미들이 콘솔에도 나타나는지 확인하세요.
{% endhint %}

## 2. 통합 (SDK/API Integration)

{% hint style="info" %}
**정의한 스키마를 바탕으로 실제 데이터를 연동합니다.**
{% endhint %}

이 단계에서는 콘솔에서 정의한 이벤트 및 유저 속성 스키마를 기반으로, 실제 앱/웹 환경에 SDK를 설치하거나 서버에서 API를 호출합니다.

* 각 플랫폼(Android/iOS/Web/Flutter)에 맞는 SDK 설치

{% content-ref url="../sdk-integrating/initialize" %}
[initialize](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/sdk-integrating/initialize)
{% endcontent-ref %}

* 고객이 앞서 정의한 행동을 하는 시점(예: 페이지 방문 시점)에 Marketap으로 데이터 연동(예: mkt\_page\_view 이벤트 전송)

{% content-ref url="../taxonomy/sdk" %}
[sdk](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/taxonomy/sdk)
{% endcontent-ref %}

{% content-ref url="../taxonomy/server" %}
[server](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/taxonomy/server)
{% endcontent-ref %}

푸시 채널의 경우, 사용을 위해 SDK의 추가적인 설정이 필요합니다.

{% content-ref url="../push-notification/overview" %}
[overview](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/push-notification/overview)
{% endcontent-ref %}

## 3. 검증 (QA & Maintenance)

{% hint style="info" %}
**데이터가 "들어오고 있는가"가 아니라, "의도한 대로 들어오는가"를 검증합니다.**
{% endhint %}

데이터 연동이 끝났다고 하더라도, **기획된 Taxonomy 구조에 맞게 정확하게 데이터가 적재되고 있는지 검증**하는 것이 필수입니다.

* **이벤트 검증**
  * 의도한 이벤트명이 정확히 들어오고 있는가?
  * 누락된 이벤트는 없는가?
* **이벤트 속성 검증**
  * 속성명이 일관된가? (예: `price`, `Price`, `mkt_price` 혼용 여부)
  * 속성 값의 타입은 적절한가? (숫자형/문자형)
* **유저 속성 검증**
  * `mkt_push_optin`, `mkt_gender` 등 주요 속성이 플랫폼의 실제 사용자 정보와 일치하는가?

특히 **광고 수신 동의 여부**와 같이 마케팅 전송과 직결된 항목은 필수로 QA를 진행해야 합니다.

{% content-ref url="../taxonomy/validation" %}
[validation](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/taxonomy/validation)
{% endcontent-ref %}

### 유지보수의 중요성 <a href="#maintenance" id="maintenance"></a>

* Marketap은 자동으로 수집된 데이터를 기반으로 캠페인 성과를 분석하지만, **정확한 마케팅을 위해서는 개발자의 지속적인 QA와 모니터링**이 필요합니다.
* 변경된 앱 이벤트 명세, 신규 페이지, UI 개편 등은 Taxonomy 업데이트 및 콘솔 재등록이 필요합니다.
* Marketap에서는 이상 데이터 감지 시스템도 운영 중이지만, 의미 있는 마케팅 성과를 위해선 **내부 QA 체계가 반드시 병행되어야 합니다.**
