Appearance
User Properties
Managing user-level properties that can be used for segmentation and conditional logic in Streams.
Properties can be defined at the user-level and later used for segmentation and conditional logic in Streams.
Updates via Browser
User properties can be managed from the browser by pushing commands to Fanplayr's Data Layer array. The following operations are supported:
user.set
Sets a property on the user record. It overwrites any existing value for the same property name.
Usage:
javascript
fanplayr_api.push({
"_type": "user.set",
"key": "email"
"value": "user@domain.com",
// Optionally expire the property after 7 days
"maxAge": 7 * 60 * 60 * 24
});
Argument | Type | Description |
---|---|---|
key | String (required) | The name of the property to store. |
value | any (required) | The value to store for the given property name. |
maxAge | Number (optional) | Specifies the maximum duration in seconds to store the property. |
user.setOnce
Sets a property on the user record, only if it does not already exist.
Usage:
javascript
fanplayr_api.push({
"_type": "user.setOnce",
"key": "firstSeen"
"value": new Date()
});
Argument | Type | Description |
---|---|---|
key | String (required) | The name of the property to store. |
value | any (required) | The value to store for the given property name. |
maxAge | Number (optional) | Specifies the maximum duration in seconds to store the property. |
user.increment
Increments or decrements a numeric property. If the property does not exist it is created and set to the amount specified.
Usage:
javascript
fanplayr_api.push({
"_type": "user.increment",
"key": "counter1"
"value": 1
});
fanplayr_api.push({
"_type": "user.increment",
"key": "remainingCount"
"value": -1
});
Argument | Type | Description |
---|---|---|
key | String (required) | The name of the property to store. |
value | Number (optional) | The amount to increment by. Defaults to 1. |
maxAge | Number (optional) | Specifies the maximum duration in seconds to store the property. |
user.unset
Removes a property on the user record.
Usage:
javascript
fanplayr_api.push({
_type: 'user.unset',
key: 'email'
});
Argument | Type | Description |
---|---|---|
key | String (required) | The name of the property to remove. |
Updates via Streams
User properties can also be updated via the Update User Data action in streams:
The Update User Data action interface in Streams
Limitations
Maximum storage size
An overall limit of approximately 20 KB can be stored for each user. Any updates to the user data that would exceed this limit are ignored and not persisted. The names, values and expiry information for each property count towards the overall limit.