Track custom variables
General principles
Section titled General principlesUsage
Section titled UsageCustom variables are additional information on the page, the user or the session, and which can be used to create mappings.
For example, they can include information on the current layout of a screen, like day/night mode.
Limits
Section titled LimitsOn the server side
Section titled On the server side- It is possible to save up to 20 distinct custom variable per screenview. If more are received, only the first 20 custom variables, based on their
indexvalue, will be kept. - The
indexvalue of the custom variable is used to determine which custom variables to be kept. Onlyindexvalue between 1 and 20 will be taken into account.
On the SDK side
Section titled On the SDK side- Every custom variable is composed of
index,nameandvalue. - If you are using the same
indextwice in the same screen, only the first (name,value) pair associated with theindexwill be kept. - In case
name(max. 512 characters) orvalue(max. 255 characters) maximum character length is reached, the SDK will automatically trim the exceeding characters. - If
nameorvalueare empty, the SDK will instead send the literal string"cs-empty". - Use a consistent index for a given custom var within an application — for instance, if the “screen layout” is collected with an
indexof 3, use the slot 3 for this information on every screen of the application.
Defining custom variables
Section titled Defining custom variablesTo define and send custom variables, follow this:
CSQ.trackScreenview("screen_name", cvars: [ CustomVar(key: "key1", value: "value1"), CustomVar(key: "key2", value: "value2"),])[CSQ trackScreenview:@"screen_name" cvars:@[ [CustomVar customVarWithKey:@"key1" value:@"value1"], [CustomVar customVarWithKey:@"key2" value:@"value2"],]];