Setting Up the In-App distribution with Trigger Conditions

Updated 

You can use In-App Surveys to collect solicited feedback from your customers during key interactions in your mobile app. You can choose from predesigned formats such as micro-surveys or customize pop-ups to match your brand. You can also embed surveys in any section of the app.

For each distribution, you configure a single intercept that includes the creative, trigger conditions, translations, and schedule in one place.

You can trigger creatives using predefined conditions, such as browsing behavior or session duration, or use custom events to capture specific feedback. You can also refer to the In-Apps article for use cases and value additions.

Prerequisites

You would need access to the Survey Level View and Edit Distribution in order to access In-Apps distribution.

Setting up the In-App distribution with Trigger Conditions

  1. Select a Survey and go to Distribution section.​

  2. Click on More Actions click Create Distribution and select In-App distribution.

  3. Go to Details section and fill in the details:

    1. Distribution Name: Enter a meaningful name to the distribution.

    2. Expiration Date: Enter an expiry date.

    3. Live Chat Application: You can select an existing LiveChat application or create a new one. Any proactive prompts related to the chosen LiveChat will be displayed in the dropdown menu. If you select an existing LiveChat, you will also be able to see all other distributions tied to that particular LiveChat instance. You can view all Website or In-App distributions associated with LiveChat in the dropdown.

      Note: Selecting a LiveChat here does not immediately display a live chat on the Mobile App. Instead, it links the proactive prompts to the appropriate code required to render the creative within the app.

      The LiveChat ID is utilized during the SDK installation process.

  4. Click Next and Go to Intercept Setup section and fill in the details:

    1. Select Creative: Select a creative from the drop-down or create a new one. The following creative types are supported:

      1. Pop-up: A full-screen or modal survey overlay.

      2. PopOver Rating: A lightweight rating prompt that appears as a popover.

      3. Embedded Rating: A rating component embedded directly into a section of the app.

    2. Select Trigger: Go to select trigger section and set up trigger conditions and select the value. You can add multiple trigger conditions by clicking + Add Condition.

      Conditions

      The following conditions are supported to create In-App intercepts.

      Operating System

      These conditions allow targeting users based on the operating system or its version.

      Condition

      Value

      Definition

      Device and App Info

      iOS and Android

      Select the operating system for running the survey

      App Version

      iOS and Android

      Select App Version for iOS and Android

      App Usage During a Session

      These conditions track how frequently and actively users engage with the app during a session.

      Condition

      Value

      Definition

      Screen Views

      Numeric value. Dependent condition: App Screen ID

      Number of views on the screen. Views are reset after every app session.

      Button Click Count

      Dependent conditions: App Button ID, operator, value

      Number of times a button is clicked

      Session Duration

      Time duration in minutes and seconds

      Duration of one mobile app session. A session refers to a period of continuous interaction, starting when a user opens the app and ending when they close it or become inactive for a set amount of time.

      App Usage Over Time

      These conditions track the frequency of app engagement over different time intervals.

      Not enabled by default. Due to certain architectural considerations, these conditions are not enabled by default. Please reach out to the product team with a specific use case, and we can assist you in enabling them if required.

      Condition

      Value

      Definition

      Daily App Usage

      Time duration in minutes and seconds

      Frequency of app engagement on a daily basis, calculated using a 90-day rolling average

      Weekly App Usage

      Time duration in minutes or seconds

      Frequency of app engagement on a weekly basis, calculated using a 90-day rolling average

      Monthly App Usage

      Time duration in minutes and seconds

      Frequency of app engagement on a monthly basis, calculated using a 90-day rolling average

      Geographic Region

      These conditions allow targeting based on the user's geographical area.

      Condition

      Value

      Definition

      Geographic Region

      Select value from dropdown

      Country the customer is located in

      User Country

      Select country from dropdown

      Country the customer is located in

      Manage Repeated Displays

      Control how often creatives or surveys are shown to users, preventing repetition within a specified timeframe.

      Condition

      Value

      Definition

      Creative Shown

      "Last Shown" greater than time (minutes/seconds/days)

      Control repeat displays. Example: prevent triggering if a creative was shown in the last 30 days

      Survey Completed

      "Survey Completed" greater than time (minutes/seconds/days)

      Control repeat survey displays. Example: prevent showing if survey was completed in the last 30 days

      Creative Dismissed

      Time in minutes/seconds/days

      Control displays based on when a creative was last dismissed

      User Authentication

      Target users based on their authentication status.

      Condition

      Value

      Definition

      User Authenticated

      True / False

      Target users based on whether they have been authenticated via profile authentication in the SDK. See the SDK Support for In-App Surveys for details on profile authentication.

      Note: Conditions can be combined using AND or OR operators, or both. Additionally, condition groups can be created using the same combination of operators to tailor targeting criteria more precisely.


      Operators

      The following operators are available when setting up conditions. Available operators change depending on the condition type.

      Operator

      Description

      Operator

      Description

      Containing

      Verifies if the value exists in the parameter

      Not Containing

      Verifies if the value does not exist in the parameter

      Greater Than

      Value is larger than the specified parameter

      Greater than or equal to

      Value is larger than or exactly equal to the specified parameter

      Less than

      Value is smaller than the specified parameter

      Less than or equal to

      Value is smaller than or exactly equal to the specified parameter

      Equals

      Value is the same as the specified parameter

      Not Equals

      Value is different from the specified parameter

      Contains

      A specified value is present within a set, string, or collection

      Regex

      A pattern used for matching text in strings

      Does not contain

      A specified value is absent from a set, string, or collection

      Note: You can add multiple condition by clicking + Add Condition Group. Conditions can be incorporated by utilizing a mix of AND and OR operators, or a combination of both. Furthermore, groups of conditions can be established using the same mix of operators to refine targeting criteria more accurately.

    3. Deactivate the Auto Trigger for the Variant to halt the automatic display of the creative when the variant is evaluated and the criteria are met, allowing the client application to control when to show the creative. Activate this feature to stop the creative from appearing automatically once the intercept conditions are fulfilled.

      By turning off the auto trigger, you can utilize the displayByInterceptId method within the SDK to manually initiate the creative at the preferred time. You can obtain the Intercept ID from the post-save pop-up or via the Copy Embed Details option found in the 3-dot menu of the Distribution Record Manager.

      For SDK method details, refer to this article.

  5. Go to Translation section where you can configure multilingual support for your In-App survey, with this setting enabled by default and controlled through the SDK. The SDK determines the language displayed based on the user’s locale, which you set using the updateLocale method.

    1. If a translation is available in the creative for the selected language, the survey displays in that language.

    2. If a translation is not available, the survey falls back to the base language.

      Note: Ensure that you add translations to the creative in the Builder module beforehand. The distribution step only controls how the language is applied at runtime.

  6. Go to Scheduling section and fill in the details:

    1. Go to Intercept Activation Details, where you can plan the timing for sending your survey to the recipients.

      1. Start Date and Time: You can select the start date and time to schedule the survey.

      2. End Date: You can select the end date the distribution.

      3. Business Hours: Optionally restrict distribution to specific business hours.

      4. Time Zone: Select the time zone for the schedule.

    2. Navigate to the Distribution Sampling option and switch it on to determine what percentage of all eligible recipients will receive this intercept. Additionally, Sampling is not applicable to custom programmatic triggers.

    3. Go to the Distribution Tagging section where you can configure custom tags for reporting associated with this distribution by selecting a response custom field and value, then click Update. At this stage, you can assign static values to response custom fields, which will be automatically applied to each survey response collected from this distribution.

      This enables you to classify responses by distribution. For example, you can label a distribution with values such as:

      • source = "checkout_flow"

      • campaign = "Q3_NPS"

      Response Custom Field Enrichment

      Response custom fields allow you to attach contextual metadata to each survey response — either statically (at the distribution level) or dynamically (via the SDK at runtime).

      Static Tagging (Distribution Level)

      • Set up in Step 4: Planning the distribution form

      • The tagged values apply to all responses from this distribution

        Example: campaign = "Summer_2026", channel = "mobile_app

      Dynamic Tagging (SDK)

      • Set at runtime using the SDK's updateSurveyResponseContext and clearSurveyResponseContext methods

      • Allows passing real-time context such as screen name, user tier, session ID, or cart value

      • Dynamic values override static values for the same custom field

    Usage of Response Custom Fields

    • Survey Question Personalization: Insert response custom field values as placeholders within survey questions and special pages to create a more contextual survey experience.

    • Display and Skip Logic: Use response custom field values to control survey flow through display conditions and skip logic.

    • Custom Reporting and Analytics

      • Plot response custom fields as dimensions in Custom Reports and Distribution Reports for deeper analysis and segmentation.
  7. Click Save and deploy to save the distribution, after saving, a popup appears displaying:

    1. LiveChat ID: Used during SDK installation and configuration.

    2. Intercept ID: Used for manually triggering surveys through displayByInterceptId.

      Replaces the legacy Variant ID.

    3. Environment: Specifies the environment in which the intercept is configured.

      Available options: Production or QA.

  8. This will open into a pop for Copy Embedded Details, where you can copy the Livechat ID, Intercept ID, Product Environment details. This popup is available at any time through the Vertical Ellipsis (⋮) in the Distribution Record Manager by selecting "Copy Embed Details."

    Click Done and install SDK. Follow this article for more details on installing SDK.

Analyze Distribution Report

Once the surveys have been distributed, you can examine the metrics in the Distribution Record Manager. Click on the summary metrics to view detailed reports that include the following widgets:

Widget
Metrics / Content
Informational Widget
Displays distribution details, including Distribution Name, Description, LiveChat Application, and Creative.
Key Metrics Widget
Provides a summary of core performance metrics, including Intercept Triggered Count, Engagement Count, Abandonment Count, Completed Count, Abandonment Rate, Engagement Rate, and Completion Rate.
Funnel Widget (Absolute Values)
Visualizes the survey journey using absolute counts across stages: Triggered → Engaged → Completed.
Funnel Widget (Conversion Rates)
Shows conversion rates across key stages, including Engagement Rate and Completion Rate.
Trend Widget (Absolute Values)
Tracks Triggered, Engaged, and Completed counts over time to monitor survey performance trends.
Trend Widget (Rates)
Tracks Abandonment Rate, Engagement Rate, and Completion Rate over time to identify changes in user behavior and survey effectiveness.

Testing an In-App Survey Distribution

  1. Create a Creative

    • Navigate to the Creative Library and create a Pop-up creative.
    • Add translations if you want to test multilingual survey support.
    • You can also use the system-provided PopOver Rating or Embedded Rating creatives.
  2. Create a Distribution

    • Configure the distribution using the four-step setup process.
    • For testing purposes, use simple trigger conditions, such as Session Duration > 0 seconds, to ensure the survey is triggered easily.
  3. Copy the Embed Details

    • After saving the distribution, copy the LiveChat ID and Intercept ID from the confirmation popup.
  4. Install the SDK

    • Integrate the SDK into your test application using the LiveChat ID.
    • Refer to the Installing the SDK documentation for setup instructions.
  5. Configure Profile Authentication (Optional)

    • If you are testing authenticated surveys, configure HMAC-based profile authentication through the SDK.
    • Refer to SDK Support for In-App Surveys for more details.
  6. Set the Locale (Optional)

    • If you are testing translated content, call

      with the required language code before triggering the survey.

    • Refer to the SDK localization documentation for supported languages and configuration details.
  7. Trigger the Survey

    • Launch the application and perform the action that satisfies the configured trigger conditions.
    • If automatic triggering is disabled, manually trigger the survey using

      with the corresponding

      Intercept ID

  8. Complete the Survey

    • Submit a test response and verify that all response custom fields, including both static and dynamic values, are captured correctly.
  9. Validate Reporting

    • Navigate to Distribution Record Manager and open the distribution.
    • Verify that the report widgets display the expected survey metrics and response data.

Key points to note

  • Each distribution supports only one intercept. Multi-variant distributions are no longer supported for new distributions.

  • Translation language selection is controlled exclusively via the SDK, there is no server-side or distribution-level language override.

  • Sampling (showing the survey to only a percentage of qualifying users) is not currently supported.

  • Response custom fields set via SDK (updateSurveyResponseContext) will override any static values configured at the distribution level for the same field.

  • The "App Usage Over Time" conditions (Daily, Weekly, Monthly) are not enabled by default and require product team assistance to activate.


FAQs

They were automatically migrated. Only the first variant was retained, and its schedule/timezone settings were moved to the distribution level. No action is needed on your part.

No. As of release 26.7, each distribution supports exactly one intercept. To test different creatives, create separate distributions.

If no locale is set, the survey will display in the base language configured in the creative.

It appears in the post-save popup. You can also access it later from the 3-dot menu → Copy Embed Details in the Distribution Record Manager.

Yes. Response custom fields (both static and dynamic) can be inserted as placeholders in question text and special pages within the Builder.

User Context enriches the user profile and persists across sessions. Response Custom Fields enrich individual survey responses and are specific to a single survey submission. Refer to this article for more details.