Tagging Mobile Features

This article details how to tag features in your mobile application, and how to troubleshoot feature tagging.

Tag a New Feature

Tagging features can either be done when tagging a page or by accessing the designer via Manage Pages:

  1. Go to Pages  and filter to your mobile app.
  2. Select the page you want to tag features on.
  3. Select Manage Page and start tagging your Features.

To tag a feature in your app, select any feature in the screenshot on the right. The feature will show up in a table on the left, where you can name it, group it, edit it's attributes, and then save it.


Code-base solution for tagging features

Note: Currently available for native iOS and Android apps, and React-Native apps only. We plan on adding this feature to Xamarin Forms in the future.

Pendo might not always recognize a feature in your apps. It can either render it as untaggable in Pendo or it does show as taggable but doesn't show any analytics. Our code-based solution solves this problem by allowing your mobile developers to tag and get analytics for any feature using an API.

To implement this, your developer must do the following:

For native applications:

  • For iOS Use`enableClickAnalytics` API to mark a feature as taggable and collect its analytics.
  • For Android, make sure the feature's property is `clickable:true, as Pendo’s UI only allows tagging on clickable views. If you've tagged a feature but you aren’t getting any analytics for it, use `sendClickAnalytic` API to fix this.

Once features have been tagged in this way, you must install that app version on your device and tag the page or update an existing one.

For React Native applications:

  • To mark any element as clickable, the “nativeID“ property is used.
  • The “nativeID“ must match the regex template. The default one is 'pendoClickable' as a prefix for “nativeID“ and does not require any setup. For any other Regex template, if the customer already has defined“nativeID“s, their developer configures Regex as follows:
    • For React Native Navigation lib via navigationOptions.clickableElementsNativeIDsRegex:
const navigationOptions = {library: NavigationLibraryType.ReactNativeNavigation, navigation: Navigation, clickableElementsNativeIDsRegex: '^clickable|^pendo_|customRegex'};
PendoSDK.setup(pendoKey, navigationOptions, options);
    • For React Navigation lib via traversalOptionsObject.clickableElementsNativeIDsRegex:
let traversalOptionsObject: RNTraverseOptions = {clickableElementsNativeIDsRegex: '^clickable|^pendo_|...'};

export default withPendoRN(RootNavigator, traversalOptionsObject);
  • If a customer configures Regex on their own, they must make sure that all regex templates are included the default template, are included 'pendoClickable' i.e clickableElementsNativeIDsRegex: '^clickable|^pendoClickable|customRegex'

  • If the click analytic is not generated after marking the element, the developer needs to call to “sendClickAnalytics“ API and pass the “nativeID“ as a parameter. Our native SDK then finds this view in a layout hierarchy to gather element info and send its analytics.

onTouchEnd={()=> {
  Alert.alert("Wohoo I love react native");

Note: Analytics are not retroactive when using the API. Data is collected only after using this API (similar to a track event).

Edit an Existing Feature

You can access all features tagged on a specific page via the page in the designer.

An alternative way to edit an already-tagged feature: go to 'Product' in the left-hand navigation and click 'Features'. Then choose 'Manage Features In-App' to open the Designer on the page where the feature has been tagged. 



Feature Attributes

Note: upon editing feature attributes, wait 5 minutes for the new attributes to take effect in guides, due to caching.


All Text Excluded   

Toggle this attribute if you want to exclude all text fields from feature’s rule.

Best for tracking features regardless of the text they may contain. For example:

  • In multi-lingual apps where button texts are different for different users
  • When a button does not have consistent text across users or times

App-wide Feature

Used for features that appear across your mobile app, such as on the navigation menu or a tab bar button. Using App-Wide will allow Pendo to collect click events for these features regardless of the page it was tagged in your app.

As a best practice, tag the App-Wide Feature from the home screen or use a naming convention that will help you (or others) easily locate it (ie: "Info (tagged on Home)"). 

Note: You can edit an app-wide feature from the original page it was tagged on. The feature won't appear as tagged when managing other pages that include the same feature at this point.

Tag all items in the list as a single feature 

Pendo automatically tags the feature by the position/index of the item in the list when tagging a list item in your Application (a line in a table, a menu entry, etc).

For example:
If the 1st list item is tagged, Pendo collects analytics only on clicks on the 1st item. If the 3rd item is tagged, Pendo collects analytics only on clicks the 3rd item, and so on. This usually works well with static lists.

"Tag all items in the list as a single feature" attribute can be used for dynamic lists where the content of the list changes per user each time a user logs into the Application. This will allow you to collect analytics of any click on a list element, regardless of its position.

  • Choosing List-item as Guide Activation would launch the guide by clicking on any of the list items
  • Targeting a List-item with a Tooltip Guide will point at the first item in the list 

Advanced feature attributes  

Pendo identifies the mobile feature based on its attributes. At times, the automatically-selected default attributes may not identify the feature precisely. You can refine feature rules by toggling the attributes that best identify the feature. 

Note: that not all attributes appear for all features. Each feature has different set of attributes.

Bundle Name Excluded (iOS only)

A bundle name uniquely identifies an application in Apple's ecosystem. This means that no two applications can have the same bundle identifier. Bundle name is sometimes part of the element ID and is sometimes different for different version of your app, for example - for production app and testing app. If you want the feature to be identified disregarding the bundle name, it's recommended to exclude it from the feature rule.

Click Action (iOS and React Native only)

Click action is the signature of the method that is called in-app code when the feature is clicked. Enable this attribute if this method's feature click action uniquely identifies the feature.

Displayed Text

The feature's displayed text. Enable this attribute if this text uniquely identifies this feature.

Accessibility Label

A text is used by assistive technology (voiceover) to describe what the feature does, without having to rely on implied context. Enable this attribute if this text is unique for all accessibility hints on this page.

Accessibility Hint (iOS only)

A text that contains a description of the result of performing an action on the accessibility element. Enable this attribute if the text is unique for all accessibility hints on this page.

Accessibility Identifier (iOS only)

A string that is developer-facing only and is used to identify an accessible element to UI automation and testing tools. Enable this attribute if this text is unique for all accessibility identifiers on this page.

Nested Texts

The feature's child elements' displayed text. Enable this attribute if the texts of the child elements are unique on this page.

Index in Parent

This feature is part of an ordered collection of items, where each item has its unique position. Enable this attribute if the position of the feature in the collection (Index) is static. Note: index list starts with 0. Do not use it if the feature is located inside a table view.

Feature ID (Android only)

Feature ID assigned by the developer in the code. Enable this attribute since it's a unique identifier of this feature on the page it's located on How to identify issues with feature analytics

Identifying Issues with Feature Analytics

Does it look like there are too few or too many clicks on a specific feature? Or are features showing identical clicks? 

This could mean the default rule which Pendo selected may be too strict, or not strict enough. We recommend refining a feature's rules if you notice a potential issue with the analytics. 

How to update:

  1. Go to Pages and filter to your mobile app.
  2. Select the page where the feature is on, and click Manage Page.
  3. Select Edit (pencil icon) on the feature you want to update.


You can always see how the changes are affecting the feature rule before applying them:


Note: Changes can take up to 90 minutes to process and correctly reflect in the UI.

Tagging 'below-the-fold' Features

If some of your features reside "below the fold" (they don't exist in the original page's screenshot), follow these instructions:

  • Capture the page in its scrolled state and save it as a new page. The name can indicate that this is a 'below-the-fold' capture.
  • Tag features on this new page.
  • Note that the page analytics of this 'below-the-fold' page will be the same as the original page.

Frequently Asked Questions

How are my features identified?

  • A feature is always tagged in the context of a page.
  • A rule is created for each tagged feature that relates to the "class" of the element, the element's text if such exists, its position in the list, its position on the page, and many other parameters.
  • If a feature is not identified correctly, contact Pendo Support. so that we can modify the feature's rule to match your needs.
  • Features will usually be identified correctly across your app versions. However, if you performed User Interface changes to your app and specifically changed button texts, you might need to Update the Mobile Page in order to make sure all features are identified correctly and fix the tagging if needed. 

I hover above a feature, but more than one feature is highlighted instead of the desired one. What should I do? 

We now highlight all matching features upon tag in order to prevent situations where Pendo's automatic feature-identifier (rule) isn't enough to distinguish between several features on the page. This means, that without refining the automatic rules, these features would count as the same feature.
To fix this, tag the first feature, refine its rules to be more specific to this feature, and then tag the other feature.

I can’t tag some of the features in my application. What do I do?

There are many ways to implement mobile buttons within an App and we are optimizing the way our SDK identifies features. However, if you’re unable to tag and receive analytics for specific mobile features, contact Pendo Support. A possible workaround is using Track Events to track specific features to collect that data.

I stopped getting new analytics for some of the tagged pages. Why is that?

Have you released a new app version to the store recently? If some of your pages/features changed in the newly released app version, you can update them by Updating the Mobile Page.