Track screens

Contentsquare aggregates user behavior and engagement at the screen level. To do so, it is required to track screen transitions by calling a dedicated API. When the API is called, the SDK logs a screenview event that identifies the new screen with the screen name provided.

import Contentsquare from '@contentsquare/react-native-bridge';
// Contentsquare.send(string);
Contentsquare.send("ScreenName");

The screen name length is not limited on the SDK side. However, the limit is 2083 characters on the server side.

Screenview after app in background

Section titled Screenview after app in background

The SDK triggers a screenview automatically after the app is put in background and foreground, as long as a screenview with a screen name has been triggered previously. It will use the last screen name set.

Implementation recommendations

Section titled Implementation recommendations

From a functional standpoint, we expect a screenview to be sent:

  • When the screen appears
  • When a modal/pop-up is closed and the user is back on the screen
  • When the app is put in the foreground (after an app hide)

As a general rule, keep distinct screen names under 100. As they are used to map your app in Contentsquare, you will want something comprehensive.

Separate words with space, dash or underscore characters

Section titled Separate words with space, dash or underscore characters

If you want to generate screen names including more than one word, it is best to separate them and to do so using space, dash or underscore characters. Contentsquare handles automatically the formatting for them.

Example: For a sub-category list of a retail app, use Home & Living - Home Furnishings instead of homeLivingHomeFurnishings.

Use screen template/layout names

Section titled Use screen template/layout names

As a general recommendation, use names referring to the screen template/layout rather than referring to the specific content (data). This will help:

  • To keep the number of distinct screen names low and therefore make Contentsquare easier to use
  • Remove the risk of sending Personal Data to Contentsquare

List of screen types falling into that category: Product detail, Event detail, Conversation/Chat, User profile…

Screens with multiple states/layouts

Section titled Screens with multiple states/layouts

Screens can have different layouts or states depending on the user context. In this case, append its value to the screen name.

Home screen

StateScreen name
App landing layoutHome
Women products layoutHome - Women
Men products layoutHome - Men
Sales layoutHome - Sales

Product Detail screen (PDP)

StateScreen name
Users on a Top for Women PDPPDP - Clothing - Women - Tops
Users on a Microwave PDPPDP - Kitchenware - Electrics - Microwave
Users on a Hotel details screenPDP - Holiday type - Season - Board

User account screen

StateScreen name
OverviewMy Account - Dashboard
Order historyMy Account - Order history
ReturnsMy Account - Returns

Search screen

StateScreen name
SearchSearch
Search results for “Skincare” productsSearch - Skincare
Search results error screenSearch - Error

Cart screen

StateScreen name
Empty cartCart - Empty
Items have been added to the cartCart - Populated
Issues with availability or pricingCart - Error

Checkout screen

StateScreen name
User provides name, surname, and date of birthCheckout - User Details
User provides shipping addressCheckout - Shipping Details
User inputs their credit card informationCheckout - Payment