> For the complete documentation index, see [llms.txt](https://developers-apps-in-toss.toss.im/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers-apps-in-toss.toss.im/guide/en/marketing/promotion.md).

# Promotion

### What is a promotion

Promotions in App in Toss are events that give Toss Points based on specific user actions. For example, benefits can be offered based on actions such as signing up or completing the first use.

Promotions are operated with the budget topped up in the Biz Wallet. You can also set directly in the console whether to show them in the Benefits tab.

<details>

<summary>Allowed promotion types</summary>

* Sign-up/access rewards (e.g., 2,000 points for new sign-ups)
* Transaction/purchase incentive type (the conditions and guidance must be clear. e.g., 500 points for payments of 5,000 won or more)
  * However, Toss Points once paid out cannot be reclaimed. Please review the promotion conditions and payout criteria carefully before operating it.
* Event participation type (surveys, quizzes, simple missions. However, they cannot require a lot of time or labor.)
* Friend invitation type (reward both the inviter and the invitee. Anti-abuse logic required)
* Probability-based/random rewards in non-game apps
  * The promotion period can only be operated for up to one week.
  * Can only be used for promotional purposes to attract new users.
  * Even if registered as a non-game app, if it is classified as a game, you cannot run a probability-based promotion.

</details>

<details>

<summary>Promotion <mark style="color:$danger;">Not allowed</mark> Type</summary>

* Probability-based/random rewards in game apps (roulette, draws, etc.)
* Rewards based on game results (score, win/loss, ranking)
* Asset-to-cash-equivalent reward conversion (converting gifticons or gift certificates into Toss Points)
* Cash-guaranteed/quasi-deposit activity (investment-like or gambling-like nature)
* Payouts exceeding 5,000 points per person (raffle type reviewed separately)

</details>

<figure><img src="/files/d059c9db8d7cfb0d23031ebf4015dfaa8d5c5df1" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Please note**

Promotion features can be used without a separate server.

Non-game mini apps can also use a server-to-server method to grant promotion points. If integrity is important, such as preventing request tampering, please use the server payout method.

Promotion features can be used without a separate server.

To grant promotions through a server, you need to implement Toss Login. [Toss Login Guide](/guide/en/authentication/intro.md)for details.
{% endhint %}

When Toss Points are paid out through a promotion, a toast notification appears at the top of the user's screen.

* **{{amount}} won was paid out from {{mini-app name}}** It appears briefly in this format and then disappears automatically.
* You can also check it in the Toss app notification menu (the bell button on the home screen).
  * However, depending on the user's notification settings, it may not appear in the notification menu.
* You can also check the accumulation history in the Toss Points menu under the Benefits tab.
  * In the Toss app, tap Benefits → Toss Points → point amount → mini-app name to view the accumulation history.

<figure><img src="/files/371e3d4ef7336fd31bf8a9337d338c27ba8b64b8" alt=""><figcaption></figcaption></figure>

***

### Good things about promotions

* By topping up the Business Wallet in advance and setting a budget and end date, you can operate without worrying about spending over budget.
* If exposed in the Toss Benefits tab, more users can come in along with high traffic.
* You can easily encourage user actions like signing up or starting the first play.
* Daily and weekly missions can give users a reason to come back and increase retention.
* Point payouts and result inquiries can be handled via API.
* Test code `TEST_{promotionCode}`If you use it, you can verify without deducting actual points.

{% hint style="info" %}
**Please note**

* The "Try New Services" tab, which gathers and shows various App in Toss promotions, may be shown only to some users depending on the internal exposure logic.
* Promotions cannot be run with gambling-like content, content that drives installs of your own app, or content that may violate laws and regulations.
* Please be sure to apply one-per-person, once-per-day limits, cooldowns, and anti-duplicate payout logic.
* If payment is delayed, please provide PENDING status guidance and a way to check the result.
* Pre-review is required to start a promotion. The review takes about 2–3 business days.
  {% endhint %}

***

### Register a promotion in the console

To start a promotion, please prepare the following items first. If you're already ready, you can go straight to step 5 (promotion registration).

* Register business information and review settlement information (business review takes 1–2 business days; settlement review takes 2–3 business days)
* Agreement to the promotion feature terms and the Business Wallet terms by the primary administrator
* Top up the promotion budget into the Business Wallet (minimum 300,000 won, maximum 30,000,000 won)

#### 1. Register business information

Promotions can only be used with a business (individual or corporate) account. If business registration is not complete, the console will show a screen saying 'Please register your business information first.' Click 'Register' to register the business information.

* Business information review **about 1–2 business days** may be required.
* For detailed steps, [Business registration guide](https://developers-apps-in-toss.toss.im/guide/operation/register-business)please check.

<figure><img src="/files/2010bc9194814d855311bbe83e9f383fd2866576" alt=""><figcaption></figcaption></figure>

#### 2. Register settlement information

Once business registration is complete, the screen changes to 'Next, please register settlement information.' Click the 'Register' button to register settlement information in the Partner Info menu and request a review.

* Settlement information review **averages 2–3 business days** .
* You cannot request a review before registering settlement information. Please check the business registration status first.

<figure><img src="/files/f8b26229ae3389459bfedf56e7349794c2142f33" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Notes when registering settlement information**

* The account holder name must match the bankbook copy **exactly** please enter it.
* Enter the business type and industry as text, not as a numeric code. **text**For example, search 'software' for 'software development'.
  {% endhint %}

#### 3. Top up the Business Wallet

After the settlement information review is complete, please agree to the promotion terms.

After that **upper-right widget in the promotion menu**or the 'Business Wallet' menu in the workspace.

<figure><img src="/files/dabd871e91da15a737176c2f986abaccca71790a" alt=""><figcaption></figcaption></figure>

* Amount you can top up: **minimum 50,000 won \~ maximum 30,000,000 won**
* Payment methods available now: credit card (authenticated payment, unauthenticated payment)
  * Authenticated payment: no payment limit by card company
  * Unauthenticated payment: Hana Card is limited to 1,000,000 won per day; no limits for other card companies (unauthenticated payment is a method where you enter the card number directly.)

When top-up is complete, the status changes to 'Topped up' and the topped-up amount is reflected.

You can also set auto top-up together. (e.g., top up 500,000 won when 100,000 won remains)

**Settlement and operation principles**

* The promotion budget is set after topping up the Business Wallet. When the budget is exhausted, the promotion ends.
* If you stop the promotion, the remaining budget is returned to the Biz Wallet. (if there is a balance)
* Anti-duplicate participation and anti-abuse logic must be applied.
* If a claim arises, the partner company must handle it after checking the participation records.

#### 4. Register the promotion

**When exposing in the Benefits tab**

<figure><img src="/files/3e0464bb9ba307013b9a41edb7a37a080ae5af2d" alt=""><figcaption></figcaption></figure>

**When not exposing in the Benefits tab**

<figure><img src="/files/d0eae6c2603723aba4281d0332cddbc769b71f03" alt=""><figcaption></figcaption></figure>

* **Promotion name:** Please enter in detail what conditions users must meet to receive points. e.g., 10 points for logging into the service, 20 points for completing the tutorial
* **Promotion end date:** Please set the end date you want. It may end earlier than planned if the budget is exhausted.
* **Whether to show in the Benefits tab**
  * Show: It will also be shown in the Toss app under Benefits → Try New Services.
  * Not shown: The promotion is provided only to users who access the mini-app directly.
  * Note: If you register it as not shown and later want to show it, **register a new promotion**you must. (It cannot be changed by editing.)
* **Mission name** (Required when shown in the Benefits tab): The mission name must end with '\~하기'. e.g., Tutorial, Login, Leave a review
* **Payout method** (Required when shown in the Benefits tab)
  * Fixed amount: pay a fixed amount.
  * Maximum amount: the maximum amount that can be paid per person. It is paid randomly within this range. e.g., max 100 won → 0 to 100 won per participation
* **Destination URL** (Required when shown in the Benefits tab)
  * Format: `intoss://{{appName}}/ScreenName`
  * Users enter via this URL from the Benefits tab.
* **Budget information**
  * The budget cannot be set higher than the Biz Wallet balance.
  * If you want to increase the budget during operation, top up the Biz Wallet and then increase it in Edit Promotion.
  * **Maximum payout per person per day** (Required): Please set the maximum amount one person can receive in a day.
    * We will not pay more than this amount to the same user.
    * It helps prevent abuse and manage the budget stably.
    * If you're especially worried about abuse, be sure to set it. We recommend applying it even when points are requested from the client.

<details>

<summary>Promotion pre-check checklist</summary>

You can run a promotion only if all the items below are satisfied.

□ Are the points being paid **□ 5,000 points or less per person**□ ?\
□ Have you clearly informed users about the payout conditions, payout timing, and payout restrictions?\
□ Is the participation method simple and does it not require a lot of time or labor?\
□ (For games) Is it not combined with probabilistic elements such as roulette or draws?\
□ Are the points being paid not determined by game results or ranking?\
□ Is it not a form that exchanges or converts the user's assets into Toss Points?\
□ Have you informed users in advance that the promotion may end early or be suspended?\
□ Have you applied anti-duplicate participation logic?\
□ Is it not a gambling-like or exaggerated promotion?

</details>

After entering the promotion information, click \[Request Review]. Review takes **2–3 business days** .

***

### Integrate development

For granting Toss Points in game and non-game mini apps [SDK function and server API integration methods](https://developers-apps-in-toss.toss.im/documentation/common/growth/promotion#undefined-5)can be checked.

When introducing the promotion, be sure to tell users the information below.

* Payout timing (e.g., paid immediately, paid at 6 PM the next day, etc.)
* Payout conditions (e.g., first payment, payment of 5,000 won or more, etc.)
* Payout restrictions (no payout in case of withdrawal, refund, or fraudulent participation)
* Include the phrase "This promotion may be suspended without prior notice"
* Random payouts not allowed (fixed payouts only)

***

### Run test

After the review is complete, please proceed with the test using 'Test'. No actual points are deducted during testing.

* The test promotion code has `TEST_`prefixed to the real code.
* When testing, points are not deducted and no actual payout is made.
* When calling the point payout API `resultType`is `SUCCESS`please check whether it is returned in the response.
* After the review is complete, you must complete the point payout API test at least once before you can start the promotion.

<figure><img src="/files/d3164e69f80a35471e46ce167d2fdf3ecb29a961" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/c8875fe19a270366215badcd342134fed380d9c1" alt=""><figcaption></figcaption></figure>

***

### Start and operate the promotion

Try starting the promotion by clicking the 'Start' button.

* The budget column `actual spent amount / total budget` is displayed in this format, so you can check how much budget has been used.
* Promotion editing is mainly used when increasing the budget.
* When the promotion ends, the remaining budget is refunded to the Biz Wallet.
* Once the budget is exhausted, it will no longer be shown in the Benefits tab. Please manage the budget regularly.

<figure><img src="/files/848b788243b30637be3e36732410419835749c91" alt=""><figcaption></figcaption></figure>

Click the campaign name to view promotion details and edit, end, or pause it.

* **Edit:** Mainly used when increasing the budget. To increase the budget, please go in order: Campaign Details → Promotion Edit button → enter the amount to increase → Save. If you want to change settings other than the budget, there may be restrictions due to internal policy, so please check the review guidelines first.
* **End:** When the promotion ends, the remaining budget is automatically refunded to the Biz Wallet. Refunds are often reflected immediately after the end, but may be delayed a bit due to system processing. Please check the budget frequently so the promotion does not end automatically because the budget runs out.

***

### Check performance

Once the promotion starts, you can check its performance on the dashboard. The dashboard gives you a quick overview of how effective the promotion was and helps improve your next campaign strategy.

**Promotions not shown in the Benefits tab are not displayed on the performance dashboard.**

#### **Period settings and query conditions**

Performance data can be queried by various criteria. It's good to review it by changing the conditions to suit your analysis purpose.

* **Daily / weekly / monthly** You can query data by unit.
* **By operating system (OS)**&#x59;ou can check performance separately.
* You can query and distinguish between all promotions currently running in the mini-app and individual promotions.

<figure><img src="/files/cd535f0e158a08bb6a63e8982b2742be4bd5bd98" alt=""><figcaption></figcaption></figure>

In the promotion performance dashboard, you can check the flow of users participating in the promotion step by step. Looking at this flow lets you know **the final conversion rate**and which stage users drop off the most.

1. **Benefits tab entry:** The number of users who saw this promotion displayed in the Benefits tab of the Toss app.
2. **Promotion click:** The number of users who actually tapped the promotion in the Benefits tab and entered the detail screen. Looking at clicks relative to Benefits tab entries shows how much the promotion title or thumbnail attracted user interest.
3. **Points earned:** The number of users who met the promotion conditions and actually received Toss Points. If the conditions are difficult or the process is complicated, many users may drop off at this stage.

<figure><img src="/files/66a93cc0810627bd1c4746c587762c0f8969a575" alt=""><figcaption></figcaption></figure>

You can check performance by dividing the users brought in by the promotion according to their characteristics.

* **New users:** Users who entered the mini-app for the first time through the promotion.
* **Existing users:** Users who have used the mini-app before.

<figure><img src="/files/40a560f966405c710a6256fcde8d726a15a6ecfe" alt=""><figcaption></figcaption></figure>

You can also check how much the promotion contributed to actual revenue. However, attributed revenue can only be queried at the workspace (business number) level, not by mini-app.

* **Total attributed revenue:** The total revenue generated by users brought in through the promotion.
* **Average revenue per payer:** Among the users brought in through the promotion, **only users who actually paid**are used to calculate the average revenue.
* **Average revenue per user:** regardless of whether they paid **all users brought in through the promotion**are used to calculate the average revenue.

***

### Frequently asked questions

<details>

<summary>Is there a 5,000-point limit per person for all promotions?</summary>

Yes, that's right. In principle, all promotion types such as sign-up/transaction/event/friend invitation **can only pay less than 5,000 points per person** possible.

</details>

<details>

<summary>Are raffle or random payout events allowed?</summary>

(For game apps) No. Probability-based, roulette, and random draw methods **risk being interpreted as gambling**and are not allowed.

**Fixed payout**only is allowed. (e.g., "500 points on first sign-up")

</details>

<details>

<summary>Can points be paid according to in-game score/win-loss/ranking?</summary>

No. Under relevant laws, directly linking game results to cash-equivalent rewards is prohibited as **an act inducing gambling-like behavior**.

In the case of game apps **conditions unrelated to game results**(sign-up, login, tutorial completion, etc.) can be used to operate the promotion.

</details>

<details>

<summary>Can gifticons or gift certificates be exchanged for Toss Points?</summary>

No. Rewards that exchange a user's owned assets are not allowed due to concerns such as money laundering.

Toss Points payouts must be operated based on specific in-app actions (sign-up, payment, event participation, etc.).

</details>

<details>

<summary>How should the point payout timing be set?</summary>

Decide the actual payout timing yourselves, but you must **notify users in advance before they participate in the promotion**.

e.g., "Paid immediately after participating in the event" / "Paid by 6 PM the next day," etc.

</details>

<details>

<summary>Can the promotion be stopped midway?</summary>

Stopping is not recommended except for reasons such as budget overrun. In particular, if points are paid only after a specific action is achieved, users may not realize that the promotion has ended.

When running a promotion **"This promotion may be suspended without prior notice"** please be sure to include this wording.

</details>

<details>

<summary>How should friend invitation rewards be designed?</summary>

It must be possible to provide the same reward to both the inviter and the invitee.**Anti-duplicate participation and anti-abuse logic**must be applied. The reward limit of up to 5,000 points per person applies equally.

</details>

<details>

<summary>Can cash be paid instead of points?</summary>

No. Cash payments or "deposit and get +N% guaranteed" forms may **constitute quasi-deposit activity or gambling-like behavior**and may violate the law.

Must **Toss Points** be paid only in the form of.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://developers-apps-in-toss.toss.im/guide/en/marketing/promotion.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
