# 캠페인 동작 원리 개요

## 동작 원리 <a href="#overview" id="overview"></a>

SDK에서는 서버를 통해 설정되어있는 유저에게 보여줄 캠페인을 주기적으로 로드합니다. 만약 로드된 캠페인에 설정된 이벤트 조건과 SDK의 track 함수를 통해 수집된 이벤트의 조건이 일치하는 순간 즉시 메세지를 노출시킵니다.

<figure><img src="https://260547158-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTQoY0rYrzNUQxhlUfYFm%2Fuploads%2FjUFvDP45oi2kMM8ndoqQ%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202025-07-17%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%203.48.32.png?alt=media&#x26;token=30309ab1-3422-4a45-a63f-758cd39903d8" alt=""><figcaption></figcaption></figure>

위와 같이 설정된 캠페인에 대해서, 고객이 홈 화면에 진입한 이후에

```
Marketap.track("mkt_home_view")
```

이벤트를 SDK에 전달하면 SDK는 이벤트 조건을 확인한 뒤 메세지를 노출시킵니다.

{% hint style="warning" %}
서버를 통해 수집된 이벤트는 인앱메세지가 설정되어있더라도 아무런 동작을 하지 않습니다. 인앱메세지 노출이 필요한 경우, 반드시 SDK에서 이벤트를 수집해주세요.
{% endhint %}

## 테스트 <a href="#test" id="test"></a>

아래 문서를 따라 캠페인을 설정한 뒤, 인앱 메세지 캠페인을 테스트해보세요.

{% content-ref url="in-app-campaign" %}
[in-app-campaign](https://docs.marketap.io/t3ZS4WXNMj0HK27EtIMV/developer/in-app-message/in-app-campaign)
{% endcontent-ref %}
