> For the complete documentation index, see [llms.txt](https://user.netmera.com/netmera-user-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://user.netmera.com/netmera-user-guide/omnichannel-engagement/widgets/target-and-publish/publish-a-mobile-widget.md).

# Publish a mobile widget

Publish a mobile widget by configuring its trigger, delivery rules, content, and audience.

Open **Mobile Widget → Publish Mobile Widget** after finishing the widget design.

{% hint style="warning" %}
Test the trigger, widget actions, and user limits with a test device.
{% endhint %}

### Publication workflow

1. Choose the event or schedule that makes the widget eligible.
2. Set the campaign period, timing, and delivery limits.
3. Select the in-app format and widget content.
4. Define the audience that can receive the widget.
5. Test the complete experience, then publish it.

Use [Automated Messaging](/netmera-user-guide/messaging-features/automated-messaging.md) for complete automation guidance. Use [Segments](/netmera-user-guide/targeting/segments.md) for reusable audiences.

### Step 1: Setup

Mobile widgets are automated messages. Select the user action or schedule that makes one eligible.

| Trigger                        | Use it when                                                | Example                                                    |
| ------------------------------ | ---------------------------------------------------------- | ---------------------------------------------------------- |
| **Increase Retention**         | You want to re-engage users after activity or inactivity.  | Display a widget two hours after app installation.         |
| **Increase App Conversion**    | Users complete one event but miss the next expected event. | Prompt users who click a notification but do not purchase. |
| **Handle Special User Action** | You want to react to a repeated action.                    | Display a widget after a second in-app purchase.           |
| **Merge Events**               | Display depends on several events in a specific order.     | Target users who complete a defined event sequence.        |
| **Periodic**                   | The widget should run on a recurring schedule.             | Send a birthday widget every day.                          |

#### Increase Retention

Choose the event or inactivity condition. Then set the delay before display.

You can target all user devices or only the last-used device.

<figure><img src="/files/0WIPhkd5Wbhdd0XlmWqM" alt=""><figcaption></figcaption></figure>

#### Increase App Conversion

Choose the event that starts the journey. Then choose the event that represents conversion.

This trigger uses the presence or absence of events over a selected period. You can target all devices or only the last-used device.

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

#### Handle Special User Action

Choose the event, its required occurrence count, and its capture period.

You can target all user devices or only the last-used device.

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

#### Merge Events

Choose the required events and event attributes. Assign an event key to each event.

The widget can display when users complete the sequence in its configured order.

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

#### Periodic

Periodic widgets run on a daily, weekly, or monthly schedule. Set a specific display time.

Use periodic delivery for recurring reminders, offers, and birthday campaigns.

<figure><img src="/files/m2ZtkIMKtTTGp05QtwJP" alt=""><figcaption><p>Periodic</p></figcaption></figure>

### Set timing and delivery limits

Set the campaign period and frequency controls before selecting the audience.

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

<table><thead><tr><th width="240.65625">Setting</th><th>Controls</th><th>Example</th></tr></thead><tbody><tr><td><strong>Start Time and End Time</strong></td><td>The campaign's active period.</td><td>Run a promotion for one week.</td></tr><tr><td><strong>When Selected Scenario Occurs</strong></td><td>Whether the widget displays every time or only once.</td><td>Stop displaying after the first matching event.</td></tr><tr><td><strong>User Limit</strong></td><td>Displays per user, daily, weekly, monthly, or over a custom period.</td><td>Limit each user to one display daily.</td></tr><tr><td><strong>Total Limit</strong></td><td>The total campaign message count.</td><td>Limit a promotion to 10,000 messages.</td></tr><tr><td><strong>Message Limit</strong></td><td>Overall hourly, daily, weekly, or monthly volume.</td><td>Display up to 100 messages each hour.</td></tr><tr><td><strong>Message Expire In</strong></td><td>How long the widget remains deliverable after its trigger.</td><td>Expire a time-sensitive reminder after six hours.</td></tr><tr><td><strong>Push Time Restriction</strong></td><td>Allowed days, hours, delays, and user time zones.</td><td>Send from 09:00 to 18:30, Monday through Friday.</td></tr><tr><td><strong>Instant Show</strong></td><td>Immediate display after the triggering condition. This applies only to widgets. If display fails at the trigger moment, it does not retry in later sessions or screens.</td><td>Show a cart reminder directly after abandonment.</td></tr><tr><td><strong>Quiet Dates</strong></td><td>Dates when campaign delivery pauses.</td><td>Exclude public holidays from delivery.</td></tr><tr><td><strong>Sending Queue</strong></td><td>Queued campaign delivery.</td><td>Manage delivery when campaigns run concurrently.</td></tr></tbody></table>

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

### Step 2: Setup

In **Setup**, choose **In-app Message/Widget**. Then choose the format that fits the campaign.

<figure><img src="/files/m6fxhYBDvf7ZniGrM6rF" alt="In-app message and widget format selection"><figcaption><p>Select the format that supports the campaign goal.</p></figcaption></figure>

### Step 3: What

In **What**, select a saved widget or create the campaign content. For a limited sale, use a clear headline, product imagery, and a direct call to action.

Use a widget anywhere in the app interface. You can set its size, position, and design.

Select a pre-designed widget or select **Edit** before continuing.

<figure><img src="/files/V23uKVrsDXNIBJxEPr3X" alt=""><figcaption><p>Widget</p></figcaption></figure>

{% hint style="info" %}
Configure interactions in [Configure widget actions and validation](/netmera-user-guide/omnichannel-engagement/widgets/build-a-widget/configure-widget-actions-and-validation.md). Review results in [Analyze widget performance](/netmera-user-guide/omnichannel-engagement/widgets/measure-performance/analyze-widget-performance.md).
{% endhint %}

### Step 4: Who

In **Who**, send the widget to all users or narrow the audience.

Use **Select Users** for individual criteria. Use **Advanced** for combined conditions and groups.

<figure><img src="/files/UuYEAr3OpreRJZKSWR7b" alt="Audience selection settings"><figcaption><p>Set the widget audience in Who.</p></figcaption></figure>

{% tabs %}
{% tab title="Select Users" %}
Filter users by stored targeting data, past engagement, location, or device information.

Criteria can be created or edited in **Targeting**.

<table><thead><tr><th width="186.01953125">Criteria</th><th>Target users by</th></tr></thead><tbody><tr><td><strong>Tag</strong></td><td>Tags created in <strong>Targeting → Tags</strong>. Combine two or more tags with logical operators.</td></tr><tr><td><strong>Segment</strong></td><td>Dynamic user groups that update as user behavior changes. See <a href="/spaces/X6uilbEAw42gqsudlclY/pages/SJcOCrjfS2ksQBgcHsWY">Segments</a>.</td></tr><tr><td><strong>Profile</strong></td><td>A profile attribute with a matching value, such as <code>gender = female</code> or <code>age = 25</code>.</td></tr><tr><td><strong>Response</strong></td><td>Whether users interacted with a previous push notification.</td></tr><tr><td><strong>Location</strong></td><td>A city, state, country, or other geographic region.</td></tr><tr><td><strong>Last Used Device</strong></td><td>Users who recently used, or did not use, a selected device.</td></tr><tr><td><strong>Location Preferences</strong></td><td>Whether users granted location access.</td></tr><tr><td><strong>Device</strong></td><td>Device type, such as iPhone or Android phone.</td></tr><tr><td><strong>Operator</strong></td><td>Mobile network operator.</td></tr><tr><td><strong>App Version</strong></td><td>Installed app version, including users with outdated versions.</td></tr><tr><td><strong>Operating System</strong></td><td>Device operating system, such as iOS or Android.</td></tr><tr><td><strong>Installation Source</strong></td><td>The Adjust campaign that drove the app installation.</td></tr><tr><td><strong>By App Tracking</strong></td><td>Android in-app behavior, usage frequency, or user actions.</td></tr><tr><td><strong>Advertising ID Permission</strong></td><td>Whether users granted advertising identifier permission. iOS requires permission after iOS 14.</td></tr><tr><td><strong>Android Provider</strong></td><td>Android provider, such as Google or Huawei.</td></tr><tr><td><strong>Promotion</strong></td><td>Whether users have a promotion code.</td></tr></tbody></table>
{% endtab %}

{% tab title="Advanced" %}
Select **Advanced** to create conditions and groups. Use **Add Condition** or **Add Group** to add criteria.

<table><thead><tr><th width="128.5234375">Operator</th><th>Audience result</th></tr></thead><tbody><tr><td><strong>AND</strong></td><td>Includes users who match every condition and group.</td></tr><tr><td><strong>OR</strong></td><td>Includes users who match any condition or group.</td></tr></tbody></table>

Combine more than one condition or group when the campaign needs a precise audience. For example, target customers who purchased a product, subscribed to a newsletter, or browsed the website.

<figure><img src="/files/Mg28xuzISohrLY6nCGe2" alt=""><figcaption><p>Advanced Option</p></figcaption></figure>
{% endtab %}
{% endtabs %}

#### Ignore User Message Limits

Enable **Ignore User Message Limits** only for urgent or time-sensitive widgets. This setting bypasses user frequency limits.

{% hint style="info" %}
For cart abandonment, target users who added items but did not complete checkout. Use this override only when the reminder must display.
{% endhint %}

### Step 5: Go

Use preview and testing options to check the widget on different devices and screen sizes.

Before publishing, verify the trigger, content, action, audience, schedule, and delivery limits. Click **Publish** or **Go** when each check passes.


---

# 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://user.netmera.com/netmera-user-guide/omnichannel-engagement/widgets/target-and-publish/publish-a-mobile-widget.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.
