🔴 High priority
No. Mobile SDK targeting rules work fundamentally differently from web targeting rules.
Web:
- Includes behavioral criteria (URL patterns, time on page, scroll depth, visitor segments)
- Fires automatically based on configuration in the iAdvize Admin
- iAdvize detects visitor behavior and triggers the chat button display
Mobile SDK:
- Targeting rules are routing identifiers only with no behavioral criteria
- Your development team must detect all user behavior (screen navigation, idle time, button taps, etc.)
- Your app code decides when to show the chat button and calls activateTargetingRule() when YOUR conditions are met
- The SDK then checks if an operator/bot is available for that targeting rule and displays the button accordingly
What this means for implementation:
Your development team must implement:
- User behavior detection (e.g., "user has been idle on product page for 10 seconds")
- Business logic for when to activate rules (e.g., "show on homepage but not on checkout")
- Frequency control (e.g., "maximum 3 times per session")
- The call to activateTargetingRule(uuid) when YOUR conditions are met
The iAdvize Mobile SDK then:
- Checks if an operator/bot is available for that targeting rule
- Shows/hides the chat button based on availability
- Updates availability automatically every 30 seconds
Best practice: Create one targeting rule per app context (Homepage, Product page, Cart, etc.). Each rule can route to different teams or bots, while your app controls when to activate each rule based on user behavior.
Learn more:
- Technical documentation: Activating a targeting rule
- See also: Q2 - Creating and associating targeting rules with routing rules
Yes. Chatbots work identically on Mobile SDK and Web - the configuration is channel-agnostic.
Supported chatbot types:
- AI Shopping Assistant (iAdvize's generative AI bot)
- Workflows
- External chatbots
Chatbot behavior:
- Bots are configured once in the iAdvize Admin and work across all channels (web, mobile, social/messaging)
- Same knowledge base, same conversation flows, same routing rules
- Use the Custom Data API to pass context (productId, category, cart info) for personalized responses
⚠️ Important: Understanding "Proactive" Bots
The Mobile SDK is reactive-only, meaning:
- ✅ The visitor must tap the chat button to start a conversation
- ✅ Once the conversation starts, the bot can "proactively" greet first and guide the conversation
- ❌ The bot cannot push messages to trigger conversation start
- ✅ Push notifications work for ongoing conversations (when operator/bot replies)
"Proactive bot" refers to the bot's behavior within the conversation (greeting first, asking questions, guiding the visitor), not to triggering the conversation start.
Implementation:
- Configure your chatbot in the iAdvize Admin (same as for web)
- Associate the chatbot with a routing rule
- Link the routing rule to a targeting rule
- In your app, call activateTargetingRule() when YOU want to make the chat button available
- The visitor taps the button → conversation starts → bot greets and assists
Using Custom Data with Chatbots:
The AI Shopping Assistant and other chatbots can use this context (e.g., productId) to retrieve relevant information from your configured knowledge sources and provide personalized answers.
Learn more:
No, the Mobile SDK does not provide built-in frequency capping or cooldown controls.
Your development team must implement frequency control in your app, including:
- Tracking how many times the chat button has been shown per session/day
- Implementing cooldown periods (e.g., "don't show for 24 hours after visitor dismisses")
- Storing visitor preferences (e.g., "don't show again" option)
- Session counting and time-based restrictions
What about analytics?
While the SDK doesn't control frequency, iAdvize does track targeting rule displays and triggers for reporting purposes only:
- TARGETING_RULE_DISPLAY_NUMBER - How often the chat button was displayed
- TARGETING_RULE_TRIGGERED - How often conversations were started
These metrics are available via the iAdvize GraphQL API for historical analysis and optimization, but they are not available in real-time and cannot be used to control button display in your app.
Learn more:
- Technical documentation: Understanding triggers and targeting
- See also: Q1 - How targeting rules work in Mobile SDK
Yes, but only for authenticated (logged-in) visitors using Authenticated Messaging.
With Authenticated Messaging (Simple or Secured mode):
✅ The same visitor maintains conversation history across:
- Multiple devices (phone, tablet, desktop)
- Multiple channels (mobile app, website, social/messaging platforms)
- Multiple sessions (conversation persists even after app/browser close)
The visitor is identified by your unique user ID (e.g., customer ID, email), allowing iAdvize to recognize them across all touchpoints.
Use cases:
- A visitor starts a conversation on your mobile app, logs in on your website later, and continues the same conversation
- A visitor switches between their phone and desktop while shopping
- A returning customer can access their full conversation history from any device
Without Authenticated Messaging (Guest/anonymous visitors):
❌ Mobile app and website are treated as separate visitors
❌ No conversation history sharing
❌ No IP-based bridging or device fingerprinting available
Each anonymous session is independent.
Implementation:
Authenticated Messaging requires:
- Implementation in your mobile app (SDK configuration)
- Implementation on your website (Tag configuration)
- Passing your unique user ID to iAdvize when the visitor logs in
- (Secured mode only) JWT token generation for enhanced security
Learn more:
Note: This feature is available on all iAdvize plans. Secured mode (with JWT) is recommended for production environments.
What are the different steps required to integrate the mobile SDK?
Analytics for mobile conversations are available through multiple tools depending on your needs.
In the iAdvize admin dashboard (reports section):
You can filter mobile conversations using:
- Targeting rule - Name your rules clearly (e.g., "Mobile - Homepage", "Mobile - Product Page", "Mobile - Cart") for easy filtering
- Routing rule - Track performance by team or bot
- Campaign - If using campaign-based routing
Available metrics:
- Number of conversations
- Response time (average, median)
- CSAT (Customer Satisfaction Score)
- NPS (Net Promoter Score)
- Conversation resolution rate
- Agent/bot utilization
For advanced analytics (iAdvize GraphQL API):
Access detailed metrics via the GraphQL API:
- TARGETING_RULE_DISPLAY_NUMBER - How often the chat button was displayed
- TARGETING_RULE_TRIGGERED - How often conversations were started from a targeting rule
- Pre-aggregated indicators for historical analysis and periodic exports
- Conversation-level data (messages, timestamps, outcomes)
⚠️ Important: These are historical/reporting metrics optimized for periodic exports, not real-time data retrieval.
For App-specific behavior tracking:
The iAdvize SDK does not track or report:
- When/why your app calls activateTargetingRule()
- User behavior leading to trigger activation (idle time, screen navigation, etc.)
- Button display frequency per individual visitor
- Session tracking and user engagement patterns
- A/B test results for different trigger strategies
You must instrument these metrics in your own analytics platform (Google Analytics, Firebase, Mixpanel, etc.) by:
- Logging when you activate/deactivate targeting rules
- Tracking button visibility events
- Measuring conversion funnels (button shown → tapped → conversation started → conversion)
- Segmenting by app version, user type, screen, etc.
Recommended approach:
Combine all three data sources for comprehensive insights:
- iAdvize Dashboard - Overall conversation performance and quality metrics
- GraphQL API - Detailed conversation data for custom reporting
- Your analytics platform - User behavior, trigger effectiveness, and app-specific metrics
Learn more:
Proactive bots can also offer rich content such as images, attachments, emoji, generic maps.
- Maximum size: 10MB
As an Admin I can :
- Open the reception of visitor conversations in the conversation queues of my choice, each one being attached to each distribution group. This allows me to engage visitors even if my agents are busy or offline.
- Define a specific number of slots for each conversation queue associated with distribution groups :
- 0 : there is no conversation queue; the operation remains in synchronous mode, visitors are engaged only if agents are available to answer visitors in real time.
- 1 or more : the conversation queue exists; asynchronous operation is activated and visitors are engaged as long as there are still slots available in the conversation queue.
- Continue to choose when to display the chat button thanks to a targeting strategy implemented on the app side when integrating the iAdvize SDK.
- Choose to set up qualification bots to handle conversations in the first level and escalate them in the second level to humans whose distribution rules are configured with a queue of conversations in asynchronous mode.
- Customize the automatic message sent to the visitor when the notification button is clicked, indicating that the visitor will not necessarily get an instant response:
“👋 Hello ! Leave us a message and we will respond as soon as possible. If you don't get an answer right away, come back later, our consultants usually respond within a few hours!”
I can not :
- Customize for each agent the number of slots in his or her conversation queue, as conversations queues are managed by distribution group.
- Show the visitor the average response time or the position in the conversation queue
15. ?
- Either the agent decides to definitively end the conversation : in this case, if the visitor answers afterwards, a new conversation will be created and assigned to one of the available advisors.
- Or he decides to snooze the conversation for the duration of his choice : when snoozing the conversation, the option "keep this conversation when the snooze period ends" is checked by default for ibbü experts, unchecked by default for agents. If the expert/agent does not wish to keep this conversation/wishes to keep it, he or she can uncheck or tick this option.
For more informations, please read this article : Transactions tracking
24. Which languages is the mobile SDK UI localized in?
This doesn’t refer to the language of the conversation, but rather to the language used in the SDK’s user interface — that is, fixed text elements such as “Load previous conversations” or “Sending” (message status indicators).
The language displayed is automatically selected based on the visitor’s device language. If the device language is not supported, the SDK defaults to English.
Here is the full list of languages currently supported by the SDK:
cs – Czech
da – Danish
de – German
en – English
es – Spanish
fr – French
it – Italian
lt – Lithuanian
nl – Dutch
pl – Polish
pt – Portuguese
sk – Slovak
sv – Swedish
