This article provides tips for troubleshooting common issues encountered with Conversation campaigns and covers the following areas:
- Expected behavior
- Testing Conversations
- Conversation impressions
- Campaign display
- Displaying multiple Conversations
- Low impression count
- Video loading issues
- Campaign 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 uses audience filters to display the message to only the subset of users who trigger that event.
Conversations are automatically available 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 criteria. Note that it's 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 select. Swrve uses these events to track how many users engaged with a particular Conversation 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 active, your QA device needs to meet the audience requirements 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 if same user installs the app on different devices, they will see the messages multiple times.
The Conversation campaign is not showing on a device
If the Conversation is not displaying as expected, first QA test it by adding your device as a QA user for the campaign. This bypasses the audience filter and 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
autoDownloadCampaignsAndResourcessetting 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]/conversation_campaigns/12345.
- Is there another active campaign with the same trigger and audience filter? Messages using the same trigger and 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 Conversation? 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 using 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 message. It may reach the heap limit and eventually crash.
Can a user see more than one Conversation 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 for app- and campaign-level limits, and remember that most restrictive of the two applies. It's possible that the user is only able to see the message once and has already seen it.
- Check the audience filter for the Conversation. 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 Conversation campaign is not showing on device.
Why isn't video loading for Conversation?
If Conversations are not displaying video, 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 drafting the Conversation campaign you try to launch it but the Launch button is not active, review the Conversation content editor and check whether you're missing any required values.
Dismiss button is not displayed for Conversations on Android devices
On Android, there is no extra dismiss button displayed for Conversations and best practice is to let the user use the device's "Back" button to dismiss.
This follows Android developer guidelines to not include a close button in the app's UI. For more information, see the Android developer guide Design navigation graphs. Specifically, the pop-up notifications section dictates that you should make use the back button to dismiss pop-ups to ensure a consistent user experience across all apps.
Number of pages counts for multi-page Conversation
For multiple page Conversations, the number of individual page views might not add up the total number of Conversations that were finished or completed. It is considered completed or finished only if the user goes through all the pages in the Conversation, as the user can leave the app or Conversation in the middle without completing it.