Track custom variables
Custom variables attach additional information about the screen, user, or session to screenview events. For example, they can include information on the current layout of a screen, like day/night mode.
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"],]];Limits
Section titled LimitsOn the server side
Section titled On the server side- It is possible to save up to 20 distinct custom variables 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.