Configuration
You may have additional information about your application's environment, current user and so on, which you want to send to your Snowplow pipeline with each event.
Setting event properties
The tracker
instance has a set of set...()
methods to attach extra data to all tracked events:
setPlatform()
setUserId()
setDomainUserId()
setSessionId()
setSessionIndex()
setNetworkUserId()
setScreenResolution()
setViewport()
setColorDepth()
setTimezone()
setLang()
setIpAddress()
`setUseragent()
`
Set the platform ID with setPlatform()
You can set the platform:
t.setPlatform('{{PLATFORM}}');
Example:
t.setPlatform('mob');
If the platform is not set manually, it defaults to 'srv'
(for server).
For a full list of supported platforms, please see the Snowplow Tracker Protocol.
Set user ID with setUserId()
You can set the user ID to any string:
t.setUserId('{{USER ID}}');
Example:
t.setUserId('alexd');
Set domain user ID with setDomainUserId()
You can set the domain user ID to any string:
t.setDomainUserId('{{DOMAIN USER ID}}');
Example:
t.setDomainUserId('e8091074-f197-4279-a92e-71a34171d477');
Set session ID with setSessionId()
You can set the session ID to any string:
t.setSessionId('{{SESSION ID}}');
Example:
t.setSessionId('s8091074-f197-4279-a92e-71a34171d477');
Set session index with setSessionIndex()
You can set the session index to any number:
t.setSessionIndex('{{SESSION INDEX}}');
Example:
t.setSessionIndex(10);
/* t.setSessionIndex('10'); will also work as long as input string can be converted to a valid number. */
Set network user ID with setNetworkUserId()
You can set the network user ID to any string:
t.setNetworkUserId('{{NETWORK USER ID}}');
Example:
t.setNetworkUserId('b98c76ad-e45c-45db-a101-224718064ac2');
Set screen resolution with setScreenResolution()
If your code has access to the device's screen resolution, then you can pass this in to Snowplow too:
t.setScreenResolution( {{WIDTH}}, {{HEIGHT}} );
Both numbers should be positive integers; note the order is width followed by height. Example:
t.setScreenResolution(1366, 768);
Set viewport dimensions with setViewport()
If your code has access to the device's screen resolution, then you can pass this in to Snowplow too:
t.setViewport( {{WIDTH}}, {{HEIGHT}} );
Both numbers should be positive integers; note the order is width followed by height. Example:
t.setViewport(300, 200);
Set color depth with setColorDepth()
If your code has access to the bit depth of the device's color palette for displaying images, then you can pass this in to Snowplow too:
t.setColorDepth( {{BITS PER PIXEL}} );
The number should be a positive integer, in bits per pixel. Example:
t.setColorDepth(32);
Set the timezone with setTimezone()
This method lets you pass a user's language in to Snowplow:
t.setTimezone( {{TIMEZONE}} );
Example:
t.setTimezone('Europe/London');
Set the language with setLang()
This method lets you pass a user's language in to Snowplow:
t.setLang( {{LANGUAGE}} );
The number should be a positive integer, in bits per pixel. Example:
t.setLang('en');
Set the IP Address with setIpAddress()
This method lets you set an IP Address on your events:
t.setIpAddress( {{IP ADDRESS}} );
Example:
t.setIpAddress('192.168.0.1');
Set the Useragent with setUseragent()
This method lets you override the default Useragent on your events:
t.setUseragent( {{USER AGENT}} );
Example:
t.setUseragent('myapp/0.1.0');