Behavior signals in a native Android app

Behavior signals capture user interactions in your Android app and feed them to Connect, where they drive contact activity, journeys, and analytics. Once the Connect SDK is initialized, you can send signals by calling Connect.logSignal with a signal type and the relevant data fields.

Availability: Pro, Premium and Ultimate


Available signals

The following behavior signals are available in the Connect Android SDK.

Pro, Premium, and Ultimate

SignalDescription
addToCartCaptures when a user adds an item to their cart or selection
removedFromCartCaptures when a user removes an item from their cart or selection
orderCaptures completed orders with totals and product breakdowns

Premium and Ultimate

SignalDescription
pageViewCaptures screen views as users navigate your app
productViewCaptures views of individual product or item detail screens
productConfigurationCaptures interactions on product screens — selecting size, color, or other options
onSiteSearchCaptures in-app search queries and result counts
richMediaInteractionCaptures user interactions with video and audio content — play, pause, complete, and others
errorCaptures errors users encounter during critical flows, such as payment failures or invalid promo codes

To identify users at sign-in or registration, use Connect.logIdentificationEvent instead of Connect.logSignal. See Enable user identification in a native Android app.


Prerequisites

The Connect SDK must be initialized via Connect.enable() before sending any signals. For setup instructions, see Integrate the Connect SDK into a native Android app (View-based) or Integrate the Connect SDK into a native Android app (Jetpack Compose).


Implementation

Each signal type has its own how-to guide with required and optional fields, code examples, and implementation guidance:


Important considerations

No pricing information

If your business does not display prices — for example, for insurance quotes or B2B requests — use placeholder values for required price fields such as unitPrice.

Third-party checkout

If users complete checkout in a separate payment processor flow — for example, Stripe or Braintree in a webview or external app — the SDK does not have access to those screens. Collect order data on your confirmation screen instead, or use a backend integration.

Identifier availability

Make sure user identifiers (email address, phone number, or customer ID) are accessible when a signal fires. A common pattern is to store the identifier in memory during sign-in and retrieve it from UserSession or SharedPreferences when building the audience object.


Verify signal capture

To confirm signals are flowing to Connect:

  1. Trigger signals in your app using a test account.
  2. Log in to your Connect subscription.
  3. Go to Data management > Audience.
  4. On the All contacts tab, select the contact you used for testing.
  5. In the activity feed, check for the signals you triggered.
📘

Note

The activity feed displays the last 1000 signals or signals from the last 30 days. Newly added signals may take a few minutes to appear.

To view all signals without limitations, go to Behavioral management > Signal management and select a signal type.


Related pages