To get the most out of Klaviyo for your app, it is important to understand which push notifications and in-app messages are supported, how to configure them correctly, and which settings, lists, and segments will help you target the right users.
This guide explains the key use cases supported by JMango360, links to relevant Klaviyo documentation, and shares practical recommendations to help you build effective messaging flows for engagement, conversion, and retention.
Klaviyo Prerequisites and Implementation Steps: A step-by-step guide to preparing your account and completing the initial setup.
Klaviyo for Push Notifications and In-App Messaging: Overview of push and in-app messaging capabilities supported by JMango360, best practices, and instructions for engaging your app users directly.
Klaviyo & JMango360 Data Reference: Detailed information on the events and properties synced between the two platforms.
For the core information about the push- and in-app messaging capabilities, we’re referring to the Klaviyo support documentation.
Segments
Push messaging
In-app messaging
Analytics
The JMango360 integration automatically pushes specific mobile events (Metrics) to Klaviyo, enabling you to build segments based on app behavior. Use segments rather than lists for behavioral targeting, since segments update automatically based on profile data and events
Segment: Total app users.
Use this segment to identify everyone with app activity.
Settings: What someone has done (or not done) > Opened App > at least once > over all time.
Example:
Segment: Push opted-in users
Use this segment for all push campaigns and push flows. Push consent is managed separately per channel and device, so only opted-in users are eligible to receive push.
Settings:
What someone has done (or not done) > Opened App > at least once > over all time. AND
What someone has done (or not done) > Received Push > at least once > over all time.
Segment: Engaged push subscribers
Use this segment for promotional pushes and reactivation campaigns when you want to target users who actively engage with push. Klaviyo recommends creating this segment only after push is set up and you already have push engagement data.
Settings: Start with push subscribed as the first condition. Add one or more engagement conditions, for example users who received/opened push or were active in a recent period.
What someone has done (or not done) > Opened Push/Received Push > at least once in the last 14/30 days
Segment: Inactive users (14 / 30 / 60 days)
Use these segments for win-back and reactivation flows.
Settings:
What someone has done (or not done) > Opened App > zero times in the last 14 days AND
What someone has done (or not done) > Opened App at least once > over all time.
Repeat the same logic for 30 days and 60 days.
Segment: Recent (app) purchasers
Use this segment for post-purchase targeting, exclusions, and loyalty messaging.
Settings: Add a condition such as: What someone has done > Placed Order > at least once in the last 30 days. Adjust the timeframe based on your purchase cycle. Optionally add Opened App at least once over all time if you only want app purchasers.
What someone has done (or not done) > Opened App > at least once > over all time. AND
What someone has done (or not done) > Placed Order > at least once in the last 30 days
Segment: Logged-in users
Use this segment for account-based messaging, order status, and personalized in-app experiences.
Settings: Add a profile property condition is Email (is set). When users log in, the guest profile will merge with the user profile with the email address. This ensures that your message campaigns reach a real person with a valid contact method, rather than an anonymous app visitor. Optionally combine it with an app activity to closely trigger.
What someone has done (or not done) > Opened App > at least once > over all time. AND
Properties about someone > Email (is set) > Type: Text
Segment: Non-logged-in users
Use this segment for login reminder campaigns and in-app prompts.
Settings: Add a profile property condition as Email (is not set). When users install the app and are not logged in, they do not have Email in their profile. Optionally combine it with app activity, for example users who opened the app at least once in the last 30 days.
What someone has done (or not done) > Opened App > at least once > over all time. AND
Properties about someone > Email (is NOT set) > Type: Text
List: App Test group
Use this list for QA, internal testing, deep link validation, and previewing push or in-app messages before going live. Lists are static in Klaviyo, which makes them a good option for a controlled internal test audience.
Step 1: Create a new list “App test group”.
Step 2: Go to the required profile (search by email), action: Add to list.
If you operate in multiple countries, create separate segments per market so you can localize content, timing, and promotions. The easiest way is to add a country-based condition using an available profile property such as Country, Locale, or another market identifier synced to Klaviyo. For example, create segments such as Push opted-in users - US, Push opted-in users - UK, or Recent purchasers - NL. This makes it easier to send country-specific push campaigns, apply the right language, and control audience targeting per region.
To target users based on their specific country or language, follow these steps in the Klaviyo Segment Builder:
Define the Condition: In the "Definition" section, select Properties about someone from the first dropdown menu.
Select the Property: Choose either Locale: Language (to target by language) or Locale: Country (to target by geographic location) from the property list.
Enter the Value: Set the operator to equals and enter the corresponding code for your target market:
For Language: Use the standard ISO 639 language codes (e.g., en for English, nl for Dutch). Refer to ISO 639 Language Codes for a full list.
For Country: Use the standard ISO 3166 country codes (e.g., US for United States, NL for Netherlands). Refer to ISO 3166 Country Codes for details.
Finalize: Click Create Segment to save your audience. This ensures your push or in-app messages are delivered in the correct language and at the most relevant time for each specific market.
For more information and instructions, you can read the Klaviyo article: Multi-language messaging guide – How to send push or in-app messages in multiple languages based on a subscriber’s locale.
With Klaviyo, you can use push messaging for both one-time campaigns and automated lifecycle communication. See section 7. How to configure deeplinks for the full details.
Manual push campaigns are best used for one-time messages such as promotions, flash sales, product launches, seasonal campaigns, or holiday greetings. To create a manual push campaign in Klaviyo, follow the official Klaviyo guide on sending a push notification campaign.
Automated push notifications are triggered by user behavior or e-commerce events. They are ideal for sending timely, relevant messages without manually creating each campaign. In Klaviyo, push notifications can be added directly to flows, and only app users who have consented to notifications are eligible to receive them.
Recommended flow settings
enable Smart Sending to avoid over-messaging
use flow filters to exclude users who already converted
keep copy short with one clear CTA
test each flow with an internal QA audience first
Supported flow examples
Abandoned Cart
This type of push notification flow re-engages users who showed high intent by starting checkout/adding products to cart but didn't complete their purchase.
Prerequisites: * Klaviyo's "Started Checkout" and "Added to Cart" events must be correctly mapped from the mobile app. Ensure the "App ID" or "Source" property is tracked to distinguish app carts from web carts.
Configuration:
Trigger: Started Checkout (App).
Flow Filter: What someone has done > Placed Order = 0 times AND Started Checkout = 0 times since starting this flow.
Delay: Set a wait time of 1 to 2 hours (App users expect faster reminders than desktop users).
Deeplink: Yes, take the user directly back to their cart inside the app. The deeplinking format for the shopping cart destination is {{appSchema}}://cart (e.g: com.jmango360.app://cart)
Reactivation
Bring back users who have become inactive over a specific period, specifically who have not opened the app for 14, 30 or 60 days.
Prerequisites: * The "Opened App" event must be active and syncing. This identifies your typical purchase cycle to set meaningful windows (e.g., if users buy monthly, a 30-day reactivation is ideal).
Configuration:
Trigger: Segment-based (e.g., combine the "Inactive app users in 14/30/60 days" segments created earlier and “Push opted-in users).
Logic: When a user enters the segment, the flow triggers.
Deeplink: No, open the homepage
Back in Stock
Notify interested users the moment a product is available again.
Prerequisites:
Inventory Settings: In your Shopify/BigCommerce backend, you must NOT allow "Continue selling when out of stock." The item must be marked as out of stock for the "Notify Me" trigger to appear.
Configuration:
Trigger: Back in Stock (Metric-based).
Logic: Triggered when the inventory level for a specific SKU increases from 0.
Filter: Has not purchased this item since starting this flow & push opted-in.
Priority: Set a Minimum Inventory Threshold (e.g., only notify if you have at least 5 items in stock) to avoid frustrating users if it sells out again instantly.
Deeplink: E.g: com.jmango360.app://products/{{event.ProductID}}
Order Status (Transactional)
Provide real-time updates on order progress (such as order confirmed, shipped, or out for delivery), building trust and reducing support tickets.
Prerequisites: Integration with your shipping provider (e.g., ShipStation, AfterShip) or direct Shopify/BigCommerce order webhooks must be active in Klaviyo.
Configuration:
Trigger: Order Fulfilled / Out for Delivery / Delivered.
Filter: Only send to users where Last App Open is within the last 90 days to ensure it reaches your mobile-first customers.
Best Practice: Ensure these are marked as "Transactional" in Klaviyo settings so they bypass the global unsubscribe list (unless the user has opted out of Push specifically).
Deeplink: Yes, take the user directly back to their order overview. The deeplinking format for the shopping cart destination is {{appSchema}}://orders (e.g: com.jmango360.app://orders)
Unlike push, in-app messages appear only when the user is inside the app. They don't require system-level permissions.
In-app messages are most effective when they are timely, relevant, and presented in the right context within the customer journey. Common use cases include sales-driven messages such as exclusive app content and promotions, functional messages such as app update requests, login reminders, app rating requests, or push opt-in reminders, and engagement messages such as welcome messages for new users.
Manual in-app messages are great for promotional purposes or product introductions. To create a manual in-app message in Klaviyo, follow the official Klaviyo guide on how to create an in-app form
You can find a more detailed campaign configuration Guide for some particular automated templates. The triggers, frequency, and targeting are recommended settings; you can alter the settings to your business needs.
Goal: Greet first-time app users and encourage their first purchase.
Trigger: Opened App (Event).
Targeting: Segment where Placed Order is 0 over all time.
Frequency: Set to "Show only once per profile" to ensure a clean user experience.
Deep Link: No (Usually a brand introduction or general discount code).
Goal: Drive high-quality reviews from satisfied customers.
Trigger: Placed Order (Metric).
Condition: Filter where Placed Order is equal to 1or 2 (targets users after their first or second successful experience).
Delay: 3–5 days after the order is placed (allows time for delivery and product satisfaction).
Deep Link: Yes (Direct to App Store / Google Play).
Goal: Convert "Push-Disabled" users into "Push-Enabled" subscribers.
Trigger: Opened App (Best shown on the 2nd or 3rd session to build trust).
Targeting: Segment where Push Opted-in = False.
Format: Use a Banner or Sticky Footer layout (less intrusive).
Deep Link: No. Note: Klaviyo cannot deep link directly to OS Settings. Your message should provide clear instructions (e.g., "Go to Settings > Notifications > [App Name]").
iv. Account Creation / Login Reminder
Goal: Encourage guest users to register to save their wishlist and data.
Trigger: Filter where Received Push is 0 times (to target users not yet reachable via push).
Targeting: Segment where Profile Property is_logged_in = False.
Format: Modal or Slide-out message.
Deep Link: TBD (Recommended: yourbrand://login or yourbrand://account).
Goal: Migrate users to the latest version for better stability and features.
Targeting Logic:
Condition: Profile Property > App Version
Operator: is less than
Value: [Enter Current Live Version, e.g., 6.1.0]
Note: You must update this value in Klaviyo every time you release a new version.
Deep Link (External):
Android: market://details?id=[YOUR_PACKAGE_NAME]
Action: Set button to "Open External Content".
NOTE: The deeplinking format requires you to fill in your specific App ID/Package name (e.g., com.jmango360.app). If you are unsure about your Apple App ID or Android Package Name, please feel free to reach out to support@jmango360.com or your app developer for assistance. Providing the incorrect ID will cause deep links and store redirects to fail.
When setting up deep links in Klaviyo, the format of deeplinking information you use depends on whether Universal Links are enabled for your app.
With Universal Links: You can use standard Web Links (e.g., https://...). This provides the smoothest user experience and a seamless fallback to the browser if the app isn't installed.
Without Universal Links: You must use a URL Scheme (e.g., BundleID://...). If you're unsure of your Bundle ID, please contact us for assistance.
To ensure you land on the correct page within your app, you need to place your Deep Links (Web Links or URL Schemes) in specific fields within the Klaviyo editor. Below is a step-by-step guide, specifically designed to help you locate the deep link settings based on the Klaviyo interface for Push Notifications and In-App Messages.
Deeplinking Push Notifications
Push notifications are configured under the Behaviors tab of your campaign.
Step 1: Open your Push Notification campaign and navigate to the Behaviors section (next to "Content").
Step 2: Under Open Action, click the dropdown menu and select Deep Link.
Step 3: You will see two required fields: iOS Link and Android Link.
a. Linking to a Specific Product
Option A (Universal Links Enabled): Enter the full Web Link of the product. Example:
Shopify: https://shop.myshopify.com/products/blue-summer-dress
BigCommerce: https://mybigcommerce.com/products/blue-summer-dress
Option B (Universal Links NOT Enabled): Use the URL Scheme format with the Product ID. Example:
com.jmango360.app://products/123456789
b. Linking to a Specific Category or Collection
Option A (Universal Links Enabled): Enter the full Web Link of the collection/category. Example:
Shopify: https://shop.myshopify.com/collections/new-arrivals
BigCommerce: https://mybigcommerce.com/category/new-arrivals
Option B (Universal Links NOT Enabled): Use the URL Scheme format with the Collection/Category ID.Example:
Shopify: com.jmango360.app://collections/987654321
BigCommerce: com.jmango360.app://category/987654321
Step 4: Click Save & Continue to apply the settings.
Deeplinking for In-App Messages
In-app messages allow you to redirect users when they click a button inside a popup.
Step 1: Open the In-App Message Editor and click directly on the Button (e.g., "See what’s new") in the mobile preview.
Step 2: The Button settings panel will appear on the left.
Step 3: Under Button click action, ensure the dropdown is set to Go to app screen.
Step 4: In the Deep link input field, enter your URL: the format of Web Link or URL schema is the same as what was mentioned in Push notification deeplink above.
Step 5: Preview your changes and click Publish or schedule.