# Create a Popup Campaign

A **Popup** campaign displays a message in an overlay on top of the page to capture attention without changing existing content. Use popups for welcome offers, exit-intent promotions, announcements, and other high-visibility messages.

Beta
In-Browser Messaging is currently in Beta. Features and SDK contracts may change before general availability. Contact your Customer Success Manager for access.

## Before You Begin

Complete [Setup & Prerequisites](/products/marketing-cloud/engage-studio/experiences/setup-and-prerequisites) before creating a campaign. Ensure an RT Personalization and at least one section exist in Audience Studio for the target parent segment.

## Step 1 — Target Audience

1. In Engage Studio, navigate to **In-Browser Messaging** and click **Create**.
2. Configure the targeting:


In-Browser Message Target Audience step showing Target Parent Segment, Personalization, and Personalization section fields
| **Field**  | **Description**  |
|  --- | --- |
| **Target Parent Segment** | The RT 2.0 parent segment that defines eligible users. Only users who belong to this segment at evaluation time will receive the message. |
| **Personalization** | An existing RT 2.0 Personalization that controls delivery based on entry criteria defined in Personalization Section. Click **Preview** to open the Personalization in Audience Studio, or **Create Personalization** to set one up. |
| **Personalization Section** | The specific section within the Personalization that carries this campaign's content payload. If no sections exist, click **Create Section** to add one. |


Personalization must exist first
Target Audience configuration references existing RT 2.0 Personalizations. Create your Personalization and section in Audience Studio before starting this step.

## Step 2 — Message Content

### Campaign Details

| **Field**  | **Required**  | **Description**  |
|  --- | --- | --- |
| **Message ID** | — | Auto-generated unique identifier. Read-only. |
| **Name** | ✅ | Display name shown in the campaign list. Max 100 characters, must be unique within the workspace. |
| **Description** | — | Internal notes about the campaign. Max 1,000 characters. |
| **Message Type** | ✅ | Select **Popup**. This setting cannot be changed after the campaign is saved. |


### Content Editor (Drag-and-Drop)

The **Popup Message Editor** opens after configuring the campaign details. It provides a drag-and-drop canvas (powered by Beefree) with a split layout:

Popup Message Editor showing the Message Appearance Settings panel on the left with Location & Positioning and Width controls, the popup canvas in the center, and the CONTENT/ROWS/SETTINGS panel on the right
**Left panel — Message Appearance Settings**

Configure the visual presentation of the popup:

#### Layout Position

Select where the popup appears on the page:

| **Placement**  | **Description**  |
|  --- | --- |
| `center` | Center of the viewport (default) |
| `top-left` | Top-left corner |
| `top-center` | Top center |
| `top-right` | Top-right corner |
| `bottom-left` | Bottom-left corner |
| `bottom-center` | Bottom center |
| `bottom-right` | Bottom-right corner |


You can also enable **Position fixed on scroll** to keep the popup in place as the user scrolls.

#### Appearance Settings

| **Setting**  | **Description**  |
|  --- | --- |
| **Desktop max width** | Maximum popup width on desktop screens (default: 600 px). Beefree uses this as the `max-width` of the content area above 620 px viewport width. |
| **Mobile max width** | Maximum popup width on mobile screens (default: 300 px). Applied at 620 px viewport width and below. |
| **Background color** | Background color of the popup frame (hex color, 6 or 8 digits). |
| **Background padding** | Padding between the popup content and the frame edge (default: 0 px). |
| **Border radius** | Corner rounding of the popup frame (default: 8 px). |
| **Close button** | Toggle the close button on or off. When enabled, configure the button color. The SDK renders the close button — it is not part of the drag-and-drop editor content. |
| **Overlay** | Toggle a background overlay behind the popup. When enabled, you can also enable **Close on click outside** to dismiss the popup when the user clicks the overlay. |


No dismiss path
If the close button is disabled **and** overlay click-to-close is also disabled, users will have no way to dismiss the popup. The UI displays a warning in this case.

**Right panel — Content editor tabs**

- **CONTENT** — Add and arrange content blocks: text, images, buttons, dividers, and HTML blocks.
- **ROWS** — Select and configure layout rows (single column, multi-column, etc.).
- **SETTINGS** — Set global styles for fonts, background color, and link colors.


Use **Preview Mode** (top toolbar) to switch between desktop and mobile views before saving.

#### Using Profile Variables

Reference CDP profile attributes in your content to personalize the message. Type `{{` in any text block to open the variable picker, or enter the variable directly:

```
{{rt_profile.imported.first_name}}
{{rt_profile.imported.loyalty_tier}}
```

See [Personalize Message Content](/products/marketing-cloud/engage-studio/experiences/personalize-message-content) for the full variable reference.

### Save Behavior

Changes are not auto-saved
Edits are held in your local session. Changes are only persisted to the server when you click **Save as Draft**. If you navigate away without saving, a confirmation dialog warns you that unsaved changes will be lost.

## Step 3 — Launch

Once the content is complete and saved as a draft:

1. Review the campaign summary.
2. Click **Launch** to change the status from **Draft** to **Live**.


Engage Studio automatically updates the linked RT 2.0 Personalization section with the campaign payload. The TD Web SDK begins delivering the popup to eligible users immediately.

## Managing a Live Campaign

| **Action**  | **When to Use**  | **Result**  |
|  --- | --- | --- |
| **Pause** | To temporarily stop delivery and make edits. | Status changes to **Paused**. The campaign is no longer served. Edit freely, then Resume. |
| **Resume** | To restart a paused campaign. | Status returns to **Live**. |
| **Complete** | To permanently end a campaign. | Status changes to **Finished**. The campaign definition is removed from RT 2.0 and cannot be reactivated. |


Immutable after launch
Message type and content become read-only once the campaign is **Live** or **Finished**. Pause the campaign first to edit content.

## Campaign Lifecycle

```mermaid
stateDiagram-v2
    direction LR
    [*] --> Draft
    Draft --> Live : Launch
    Live --> Paused : Pause
    Paused --> Live : Resume
    Live --> Finished : Complete
    Paused --> Finished : Complete
    Finished --> [*]
```

Campaigns in **Draft** or **Finished** status can be deleted. **Live** and **Paused** campaigns cannot be deleted.