You will learn

Learn how to show a form to users directly in your mobile app. You can use these forms to share information about new or back-in-stock products, sales, app updates, and more.

Your mobile app must use the SDK for its platform: at least v4.2.0 of the iOS SDK, v3.2.0 of the Android SDK, or v1.2.0 of the React Native SDK.

Before you begin

In-app forms are messages displayed to mobile app users while they are actively using an app.

Klaviyo supports announcement-style in-app forms that share information with app users. In-app forms:

  • Are available as popups, full-page forms, and flyouts.
  • Target all of your mobile app users or specific profiles in a list or segment
  • Display based on triggers like opened app, opened a push notification or performed an event

You cannot use in-app forms to collect consent or profile information.

You will see the option to create an in-app form only if you have already set up push notifications in Klaviyo. For guidance, see our iOS, Android, or React Native guides.

Build an in-app form from the form library

Klaviyo provides a library of in-app form templates intended to provide design inspiration for a variety of form types and use cases. Filter the options by form style or template type to find the right template. Then easily edit the default designs to match your brand.

  1. From Klaviyo's main navigation, select Website > Sign-up forms.
  2. Select Create form from the top right corner.
  3. In the right sidebar, name the form and select In-app. Then click Create.
A "Create form" dialog with "Summer Collection" entered for the name, "In-app" selected as the channel.
  1. Browse the library of pre-built in-app form templates. You can also use the Form style and Template type dropdowns at the top to filter for templates by style, use case, or both.
The Sign-up form library in Klaviyo showing two dropdowns for filtering the library by Types and Categories.
The Sign-up form library in Klaviyo showing two dropdowns for filtering the library by Types and Categories.
  1. Select your form template.
  2. On the preview modal that appears, confirm or update the name of your form.
The preview modal that appears when you select a form template and allows you to choose a name and submit list for your form.
The preview modal that appears when you select a form template and allows you to choose a name and submit list for your form.
  1. Select Create form to enter the in-app form editor where you can edit the content and design to fit your brand.

Create a blank in-app form

To start with a basic in-app form to customize instead of a library template, follow these steps.

  1. Navigate to the Website > Sign-up forms tab.
  2. Select Create form.
  3. In the right sidebar, name the form and select In-app. Then click Create.
  4. In the top right corner, select Create blank form.
  5. On the details modal that appears, choose the following:
    • A name for your in-app form
    • The form style: popup, full page, or flyout.
A "Create form" dialog box with a field for "Form name" (Summer Collection) and an open dropdown menu to "Choose a form type" with options for Popup, Full page, and Flyout. "Save and design" and "Cancel" buttons are at the bottom.
  1. Click Save and design to enter the form editor where you can customize your form's content and design.

Design your form

Once you've created your form, you can use the Add content and Edit styles sections in the editor to customize the design and content of your form.

Add blocks to your in-app form

Choose content blocks based on the message you want to share with app users. To add a block, select Add content in the form editor, then drag the block into the form preview.

There are a variety of content blocks that you can drag and drop into your form. These include:

Elements:

  • Text block
  • Button block
    • To send users to a specific screen in your app, configure the button’s Go to app screen action with a deep link, such as a link to the collection you’re advertising. Deep linking must already be set up in your app; ask your developer if you are unsure. For more information, see using deep links in push notifications.
  • Image block
  • Coupon block (static codes only)
  • Countdown timer block
  • Review quote block

Style your in-app form

In the form editor, select the Edit styles section. Here, you can edit:

  • Form type
    • Popup
      Appear in the middle of the app screen. Popups draw attention but can interrupt a user’s experience.
    • Flyout
      Appear to "fly out" from the edge of the screen. Flyouts are still noticeable, but they generally allow a visitor to keep browsing without having to interact with the form.
    • Full page
      Display over the entire app screen, capturing your shoppers’ full attention. These forms are more intrusive because shoppers must interact with the form to close it.
  • Form size
  • Background colors
  • Form styles
Styling options for an in-app form
Styling options for an in-app form

Adjust a form's display options

In the form editor, select Targeting & behavior, then Display to configure display priority, triggers, timing, and frequency.

Display priority

Use display priority to control which form appears first when multiple eligible forms could display for the same app user at the same time. Klaviyo compares queued forms by priority and shows the highest-priority form first.

This setting is most useful when you have overlapping forms, such as a general announcement form and a more specific promotion that can both qualify for the same user at the same time.

Choose from 4 priority levels:

  • Low: The form appears after other eligible forms.
  • Medium: The form follows standard behavior. This is the default.
  • High: The form appears before Medium and Low forms.
  • Highest: The form appears before all other eligible forms.

If multiple forms share the same priority level, Klaviyo does not guarantee the order in which they appear.

Display priority setting with "Medium (default)" selected, explaining standard priority for forms.

Trigger

Your mobile app must be using at least v5.1.0 of the iOS SDK, v4.1.0 of the Android SDK, or v2.1.0 of the React Native SDK to use trigger settings.

You can choose which action triggers the display of forms in your application.

  • The default trigger is Opened app, meaning the form will display on app launch. You can also select Opened a push notification or Performed an event
  • If you select Opened a push notification:
    • Enter the title of the push notification which will trigger the form when opened.
    • You can also select a title from a dropdown of your recently created scheduled or draft campaigns.
  • If you select Performed an event:
    • Use the dropdown to select an event from your account.
    • The form will only trigger if the event was sent to Klaviyo’s mobile SDK via your mobile application. Events sent server-side will not trigger a form.
    • To narrow the trigger further, you can add an event property filter. This filter causes the form to display only when the selected event occurs with a specific property value. For example, when a Viewed Product event occurs where Product Name equals Essential Running Shorts.
      • Select Add property filter below the event dropdown.
      • Choose an Event property from the dropdown. Then enter the Value it must equal for the form to trigger.
      • The filter uses an equals operator. Matching is case-sensitive and ignores leading and trailing whitespace in text values.
      • Both the event property and value fields must be filled in together. If either is empty, you will see a validation error when you try to publish the form.
      • You can add 1 property filter per event trigger.
      • To remove the filter, select the trash icon next to the property filter.

Timing

Your mobile app must be using at least v5.0.0 of the iOS SDK, v4.0.0 of the Android SDK, or v2.0.0 of the React Native SDK to use timing settings.

You can choose when forms are displayed in your application.

  • By default, Immediately is selected, so the form can display as soon as the selected trigger occurs. With Opened app, this is when the user opens the app.
  • To wait before displaying the form, select After time delay and enter a delay from 0 to 86,400 seconds (1 day).

The display timer persists across app screens. This means that when users navigate to other pages within your app, the display timer continues to count down from when the trigger criteria is met.

Note that if the app session ends before your time-delayed form is shown, the form will not be displayed during the next session. The form will be shown again based on its current settings.

Screenshot 2025-10-15 at 1.04.22 AM.png
Screenshot 2025-10-15 at 1.04.22 AM.png

Frequency

Use If closed, show again in to set how many days to wait before showing the form again after a user closes it. Set this to 0 to remove that waiting period. The form’s trigger, timing, and targeting settings still apply.

Check Don’t show again if profile taps go to app screen button if you would like to prevent the form from showing for app users who have clicked through to another app screen.

Adjust a form's targeting settings

Targeting by app users

Your mobile app must be using at least v5.0.0 of the iOS SDK, v4.0.0 of the Android SDK, or v2.0.0 of the React Native SDK to use targeting.

In the form editor, select Targeting & behavior, then Targeting. Under Audience, choose who is eligible to see your form:

  • Show to all mobile app profiles - This form will show to all app profiles that exist in your Klaviyo account.
  • Show to specific profiles in a list or segment - Select whether to include specific profiles, exclude specific profiles, or both. You can choose a single list or segment, or multiple.

If a profile belongs to both an included and an excluded list or segment, the exclusion takes precedence and the profile will not see the form.

targeting-behavior.png
targeting-behavior.png

Publish your in-app form

  1. When your form looks and behaves the way you want, select Publish or schedule to open the publishing panel.
  2. Resolve any blocking alerts. To set the form live immediately, keep Publish now selected and click Publish now.

Outcome

Once your form is published, app users who meet its targeting and display conditions can see it. The form continues to appear according to its frequency settings until you unpublish it. If you enabled the option to stop showing it after a user taps a Go to app screen button, it will stop appearing for that user after they tap the button.

Additional resources

  • Understanding form blocks and fields

    Learn how to use various content blocks from the form editor (i.e., elements and input fields) in your sign-up form to customize its appearance and the type of information you collect from subscribers.

  • Understanding in-app forms

    Learn about in-app forms and how you can use them to share important messaging with your mobile app users.

  • How to use deep links in push notifications

    Learn how to use deep linking in Klaviyo push notifications so that you can direct customers to a specific in-app screen. Deep links make it easy for your profiles to access the content they want with a simple tap.

Was this article helpful?
Use this form only for article feedback. Learn how to contact support.

Explore more from Klaviyo

Community
Connect with peers, partners, and Klaviyo experts to find inspiration, share insights, and get answers to all of your questions.
Partners
Hire a Klaviyo-certified expert to help you with a specific task, or for ongoing marketing management.
Support

Access support through your account.

Email support (free trial and paid accounts) Available 24/7

Chat/virtual assistance
Availability varies by location and plan type