This article provides tips for troubleshooting common issues encountered with conversations campaigns.
What you'll see:
- Expected Behavior
- Testing Conversations
- Conversation Impressions
- Campaign Display
- Displaying Multiple Conversations
- Low Impression Count
- Video Loading Issues
- Launch Button Inactive
- Android Dismiss Buttons
- Number Of Pages Counts
Conversations are triggered by events. The conversation workflow enables you to create and deliver interactive in-app messages using any combination of text, images, video, surveys, or rich button actions. This flexible in-app campaign channel comes with a default set of customizable templates for the most common scenarios and it uses an audience filter so that the message is only shown to a subset of users who trigger that event.
Conversations are automatically integrated after you complete the basic integration steps in the integration guide.
If conversations are not behaving as expected, check the event logs on the QA User Logging screen.
To preview a campaign before launching, add your QA device to a campaign. For preview purposes, your QA device does not need to meet the audience filter. Note that it is only possible to preview one campaign at a time and the QA device is automatically removed from any other campaigns you were previously QA testing.
Swrve automatically sends an impression event in the form of Swrve.Conversations.Conversation-[id].impression when a conversation is displayed, and a click event of the form Swrve.Conversations.Conversation-[id].done when the conversation is Dismissed. There are additional events that conversations send through depending upon the template you have been using. Swrve uses these events to track how many users engaged with a particular conversations message campaign.
Why are there multiple impressions for Conversations?
Some reasons why the impression count may be higher than expected include:
- Message limits – message limits are set at both app and campaign-level. The most restrictive of the two applies. One purpose of message limits is to prevent a user from seeing a campaign more than a certain number of times per device. Check that the correct message limits have been applied for the desired behavior.
- QA users behave differently:
- If you are previewing conversations, then your QA device does not need to fulfill audience filter requirements. However, once the campaign is launched, your QA device needs to meet the audience requirements in order to see the campaign.
- Conversations are displayed an unlimited number of times on a QA device across all sessions, provided Reset Device State is enabled on the QA Devices screen.
- For QA users, the campaign still follows the rules governing time after app start and time between impressions at the app or campaign-level, depending which is more restrictive.
- Swrve counts and stores the number of views on each device, so the same user installing on different devices will see the messages multiple times
The Conversation campaign is not showing on a device
If the conversations are not displayed as expected, first QA test it by adding your device as a QA user for the campaign. This bypasses the audience filter and a maximum number of times the campaign can be shown and ensures that the message can be displayed on the device.
Check the QA User Logging screen while testing. Logging information lets you know if there are throttling limits in place preventing the message from being shown.
Possible reasons for the issue are:
- Conversation display rules – these are set at both app and campaign-level; the most restrictive of the two applies.
- Auto-updating of campaigns disabled – by default Swrve downloads campaigns every 60 seconds. Check that this has not been turned off with the autoDownloadCampaignsAndResources setting on initializing the SDK.
- Check if the campaign was downloaded to the device by looking at the QA User Logging screen. You should see a message that says, “Campaign XXXXX downloaded successfully.” To find the ID of the campaign, check the URL when viewing the campaign in Swrve. For example, https://dashboard.swrve.com/apps/[app_ID]/in_app_messagesconversation_campaigns/12345.
- Is there another campaign launched with the same trigger and audience filter? Messages on the same trigger with the same message limits result in the higher priority message being shown first until the message limits are reached. If they have the same priority then Swrve randomly chooses which one to display.
- Is there another dialog hiding the conversations? Are you initializing the SDK in one activity, then showing another activity on top? This could prevent the Session Start trigger from working.
- Ensure that there is enough time to download the campaign to the device before the trigger event occurs in the app. Timing issues can prevent conversations from displaying as expected. Try to trigger the campaign on a QA device and watch the QA User Logging screen for the timing of the campaign download and trigger event. Try changing the trigger event, to see if the conversation is displayed upon a different event.
- Audiences filters are event-based – target audiences are not recalculated from scratch when the filters for campaigns are created or changed. Instead, when a user is active (that is, sends any event), they are added or removed from segments. If the user has not been active, they may not qualify for the segment and may not download the correct campaigns.
- Conversations are disabled on low memory (Android only) – if the device is running low on memory, it isn’t able to load the large assets that are needed to show the in-app message. It may reach the heap limit and eventually crash.
Can a user see more than one conversations at a time?
A user can qualify to see multiple conversations. If the messages are triggered by different events, they should display without issue, but it depends on setting the message limits to allow a reasonable amount of time between messages. This is where the message settings ‘Time between messages’ comes into play. Whatever event the user triggers first takes priority. If multiple conversations are triggered by the same event and have the same priority, then the Swrve SDK randomly chooses which one to display.
Why is the impression count so low?
The below points may help explain the impression count:
- Check the conversations display rules, both on app and campaign-level and remember that most restrictive of the two applies. It is possible that the user is only able to see the message once and has already seen it.
- Check the audience filter for the conversations. Is it too restrictive? Create a segment to review how many users are in the potential audience.
- QA test your message to make sure it is displaying as expected and that the trigger event is firing – see section The Conversations Campaign is not Showing on Device.
Why video is not loading for Conversation?
If conversations are not displaying video please check that the link included in the campaign is a Youtube Embed URL. For example "https://www.youtube.com/embed/XIplu-ZSNGA" Swrve does not support video link from any other platforms.
Launch button is not active
If after crafting the Conversation campaign you try to launch the campaign yet the Launch Button is not active please go back to the conversation templet and check you might be missing one or more required values.
Dismiss button is not displayed for Conversations on Android Devices
On Android, there is no extra dismiss button displayed for conversations and the best practice is to let the user use the "Back" button to dismiss.
We are following Android navigation guidelines by not including a close button in conversations on Android.
The guidelines can be found here: https://developer.android.com/design/patterns/navigation.html. Specifically, the Pop-up Notifications section dictates that you should make all pop-ups dismissable by the back button to ensure the user experience across all apps is consistent.
Number of pages counts for multi-page conversation
For multiple page conversations message, Number of page views will not add up the number of conversations that were finished/completed. It will be marked completed or finished only if the user will go through all the pages as the user can leave the app or conversation in the middle without completing it.