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.
Screen name handlingSection titled Screen name handling
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 backgroundSection 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 recommendationsSection 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)
How to name screensSection titled How to name screens
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 charactersSection 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
Use screen template/layout namesSection 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…
Multiple layouts/states for one screenSection titled Multiple layouts/states for one screen
In some cases, there will be screen that can have different layouts/states depending on the user context. In this situation, it would be interesting to append the layout/state value to the screen name. Examples:
- Home screen of a travel app adapting its layout on the user context:
State Screen name No trip planned
Home - no trip
Home - trip planned
Trip about to start
Home - upcoming trip
Trip in progress
Home - trip in progress
- Product detail screen of an e-commerce app with different layouts depending on the type of product:
State Screen name Default template
Template with suggested products
Product detail - Suggestions
Template with bundled products
Product detail - Bundle