> For the complete documentation index, see [llms.txt](https://docs.digia.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digia.tech/digia-engage/user-guides/moengage/survey.md).

# In-App Survey

This guide walks you through creating a simple **NPS Survey**, attaching it to a Digia Survey campaign, connecting that campaign to **MoEngage**, and testing it on a device.

Unlike a Nudge or Guide, a Survey has two parts: the reusable Survey content and the campaign that delivers it.

{% hint style="info" %}
This guide keeps the Survey itself intentionally simple. For deeper survey design, read [Understanding and Building Surveys](/digia-engage/experience-guides/surveys/understanding-surveys.md), [Survey Blocks Reference](/digia-engage/experience-guides/surveys/blocks-reference.md), [Survey Branching and Logic](/digia-engage/experience-guides/surveys/branching-logic.md), and [Survey Global Settings](/digia-engage/experience-guides/surveys/global-settings.md).
{% endhint %}

{% hint style="info" %}
Prefer a quick visual walkthrough first? Watch [Creating Native NPS Survey Experiences](https://www.youtube.com/watch?v=UFR8_nYLyfk).
{% endhint %}

***

## Before You Start

Make sure you have:

* Access to the correct **Digia Engage project** created with **MoEngage** as the CEP integration.
* Access to the matching **MoEngage project**.
* Your app must already be integrated with Digia Engage and MoEngage. Share the [MoEngage developer integration guide](/digia-engage/developer-guides/moengage.md) with your app team if this setup is not complete yet.
* The audience and trigger event decided in MoEngage.
* If you plan to target specific app screens, review usable pages in [Component Registry](/digia-engage/user-guides/component-registry.md).
* A test profile or test segment in MoEngage so you can verify the campaign before launch.

{% hint style="info" %}
This guide is written for product managers and marketers. Developer-only setup is linked above so you know what must already be complete before campaign testing.
{% endhint %}

For this walkthrough, we will build a default Numeric 0-10 NPS Survey with **Until completed** delivery.

***

## 1. Create the Survey

Go to **Surveys** and choose **New survey**. Use an internal name such as:

```
NPS Feedback Survey
```

<figure><img src="/files/559FPeLxi4ZEKozNN5Jh" alt="Digia Engage New survey modal with survey name and create button highlighted"><figcaption><p>Create the reusable Survey before creating the campaign that will deliver it.</p></figcaption></figure>

***

## 2. Add the Default NPS Block

In the Survey builder, choose **Add a block**, open the **NPS** category, and select **Numeric 0-10**. Keep the default scale and update the question copy.

<figure><img src="/files/x2OCl8Zx1LZAPrFtRRtJ" alt="Digia Engage Survey block picker with NPS and Numeric 0-10 highlighted"><figcaption><p>Use the Numeric 0-10 block for a standard NPS-style question.</p></figcaption></figure>

The builder has blocks on the left, mobile preview in the middle, and properties on the right. Keep the default welcome screen, Numeric 0-10 block, and result page for this first test.

<figure><img src="/files/EBfTH3GZOxS9c09Sqvq8" alt="Digia Engage Survey builder with blocks, preview, and properties highlighted"><figcaption><p>Edit the NPS question in the preview and keep defaults unless you need a visual adjustment.</p></figcaption></figure>

***

## 3. Check Logic and Survey Settings

For this default NPS Survey, keep **Logic** set to **Linear**. Every respondent should see the welcome screen, answer the NPS question, and then see the result page.

<figure><img src="/files/y0OSUHMGf0BNQDozrsjG" alt="Digia Engage Survey Logic tab with flow and branching controls highlighted"><figcaption><p>Keep the flow linear for the default NPS Survey.</p></figcaption></figure>

***

## 4. Create a Survey Campaign

After the Survey is ready, go to **Campaigns** and choose **New Campaign**. Use a campaign name such as:

```
NPS Feedback Survey - MoEngage
```

On the **Basics** step, select **Survey** and continue.

<figure><img src="/files/wAXuafQEUkdyIm7P5wa4" alt="Digia Engage campaign Basics step with campaign name and Survey type highlighted"><figcaption><p>Select <strong>Survey</strong> as the campaign type so you can attach survey content.</p></figcaption></figure>

***

## 5. Attach the NPS Survey

On the **Choose UI** step, select the **NPS Feedback Survey** you created earlier. The Survey content stays reusable; the campaign controls delivery and the campaign key.

<figure><img src="/files/MPtmMpuRA786M4XtDHIs" alt="Digia Engage Attach a survey step with NPS Feedback Survey selected"><figcaption><p>Attach the saved NPS Survey to this campaign.</p></figcaption></figure>

{% hint style="info" %}
Once the Survey is attached and saved, use [Live Testing Campaigns](/digia-engage/user-guides/live-testing.md) to send it to a connected debug device and confirm the prompt, result page, and submit flow before moving into delivery, review, and MoEngage setup.
{% endhint %}

***

## 6. Set Delivery Rules in Digia

For most feedback Surveys, **Until completed** is a good starting point. It lets the Survey show again in a later session until the user submits it, then stops.

<figure><img src="/files/E5NPYD7u5vgEs47arL9i" alt="Digia Engage Delivery step with frequency controls highlighted"><figcaption><p>Use a frequency cap that avoids repeatedly asking users after they complete the Survey.</p></figcaption></figure>

***

## 7. Review and Copy MoEngage Config

Check that the correct Survey is attached and the frequency cap matches your feedback plan. You can save as draft while MoEngage setup is pending, or activate when ready.

<figure><img src="/files/4TxXkRb9fwXfafNxFls1" alt="Digia Engage Survey campaign Review step with summary and launch checks highlighted"><figcaption><p>Review the campaign summary and launch checks before saving or activating.</p></figcaption></figure>

Copy the Digia campaign key from the MoEngage setup section.

***

## 8. Create the MoEngage Self-Handled In-App Campaign

Create a MoEngage Self-Handled In-App campaign. MoEngage decides the audience, trigger event, schedule, and priority. Digia decides what renders after the campaign fires.

<figure><img src="/files/QrYNMT2UiqrqaxPPnpi8" alt="MoEngage Target users step for the NPS Feedback Survey campaign"><figcaption><p>Name the MoEngage campaign, choose platforms, select the trigger, and define the audience.</p></figcaption></figure>

On the content step, switch to **Start from scratch** if MoEngage opens the template gallery first.

<figure><img src="/files/suzOlyHVwN7LI7TCg9eX" alt="MoEngage content template gallery"><figcaption><p>If you land on the template gallery, move to Start from scratch before choosing the content type.</p></figcaption></figure>

Choose **Self-Handled** content so MoEngage can pass the Digia Survey campaign key to the app.

<figure><img src="/files/xwbIRHqxmoPM6jDPTe0C" alt="MoEngage content step with the Self-Handled option"><figcaption><p>Select Self-Handled for the campaign content.</p></figcaption></figure>

***

## 9. Link MoEngage to the Digia Survey

In MoEngage, go to the campaign data or key-value pairs section and add the Digia payload. Survey campaigns currently require only `digia_campaign_key`.

```json
{
  "digia_campaign_key": "nps_feedback_survey_moengage"
}
```

Keep the Survey questions, answer options, branching, and result pages in Digia. MoEngage should only carry the campaign key.

<figure><img src="/files/UQv5e6z6af4QSepWq0vs" alt="MoEngage Self-Handled content editor with Digia Survey campaign key"><figcaption><p>Paste the Survey campaign key into the MoEngage Self-Handled payload.</p></figcaption></figure>

***

## 10. Test the Survey End to End

1. Use a test audience in MoEngage.
2. Activate or preview the MoEngage campaign for that audience.
3. Trigger the event from a test device.
4. Confirm the Survey appears in the app.
5. Select an NPS score and submit.
6. Confirm the result page appears.
7. Confirm the Survey does not appear again after completion, if you selected **Until completed**.

<figure><img src="/files/7RHF06Cvn5s96c69BtFA" alt="MoEngage test campaign modal"><figcaption><p>Use MoEngage's test campaign flow to send the Survey to a test user or device.</p></figcaption></figure>

<figure><img src="/files/B2r32fQwJaciUWaMcUmM" alt="MoEngage schedule and goals step"><figcaption><p>Before publishing, confirm schedule, priority, delivery controls, and goals.</p></figcaption></figure>

### If the Survey does not appear, check:

| What to check                                      | Why it matters                                             |
| -------------------------------------------------- | ---------------------------------------------------------- |
| The Digia campaign is active                       | Draft campaigns will not render                            |
| The NPS Survey is attached                         | The campaign needs saved Survey content                    |
| `digia_campaign_key` matches exactly               | The key is case-sensitive                                  |
| The MoEngage campaign uses **Self-Handled In-App** | The Digia plugin only receives the expected payload format |
| The user qualifies in MoEngage                     | MoEngage owns audience and trigger rules                   |
| Frequency cap has not already been reached         | Digia may suppress repeat renders after completion         |

{% hint style="info" %}
MoEngage can sometimes take time to start delivering a newly activated campaign. If the campaign still does not appear after your usual campaign propagation window, reach out to Digia support.
{% endhint %}

***

## Launch Checklist

* Survey content is complete.
* Digia Survey campaign is active.
* The correct NPS Survey is attached.
* MoEngage campaign uses **Self-Handled In-App**.
* `digia_campaign_key` matches the Digia campaign key.
* Audience and trigger rules are correct in MoEngage.
* The Survey was tested on at least one real device.
