2. General parameters
- 2.1 Setting the endpoint
- 2.2 Setting the application ID
- 2.3 Setting the cookie domain
- 2.4 Setting the user ID
- 2.5 Setting the URL as a custom value
- 2.6 User privacy
- 2.7 User fingerprinting
Of them, the collector endpoint is essential - Snowplow will not function if this is not set. The other two global parameters (application ID and cookie domain) are optional. We will discuss in which cases these should be set below.
When set, these are global parameters should be set as part of the Snowplow pageview tracking tags, before the actual
trackPageView method is called e.g.
2.1 Setting the endpoint
It is essential that the Tracker end point is set for data generated by the Tracker to pass successfully to the Snowplow collector.
If you are using a Cloudfront collector you can use setCollectorCf to set the endpoint. If you are using any other collector (e.g. the Clojure Collector or the Scala Stream Collector), then you should use setCollectorUrl.
2.1.1 Setting a Cloudfront endpoint using
You can set the collector endpoint for the Cloudfront collector using:
So if your domain is
d3rkrsqld9gmqf, you would include:
in your Snowplow tag.
2.1.2 Setting a collector endpoint (e.g. for the Clojure collector) using
If you are running a different collector (not the Cloudfront collector) then you set the collector endpoint using:
E.g. if your collector endpoint is at 'my-company.c.snplow.com' then you would include:
in your Snowplow tags.
2.2 Setting the application ID
You can set different application IDs on different parts of your site. You can then distinguish events that occur on different applications by grouping results based on
2.2.1 Setting the application ID using
To set the application ID, use the
setAppId method i.e.:
2.3 Setting the cookie domain
If your website spans multiple subdomains e.g.
You will want to track user behaviour across all those subdomains, rather than within each individually. As a result, it is important that the domain for your first party cookies is set to '.mysite.com' rather than 'www.mysite.com'. By doing so, any values that are stored on the cookie on one of subdomain will be accessible on all the others.
2.3.1 Setting the cookie domain using
Snowplow will, as standard, set the cookie domain to the current domain. So if your visitor is on 'www.mysite.com', that will be the default domain the cookie is assigned to.
To assign the cookie to '.mysite.com' instead, execute:
2.4 Setting the user ID
domain_userid based on a first party cookie.
There are many situations, however, when you will want to identify a specific user using an ID generated by one of your business systems. To do this, you use the
2.4.1 Setting the user ID using
To set the user ID, use the
setUserId method i.e.:
Typically, companies employ this method at points in the customer journey when the user identifies him / herself e.g. if he / she logs in.
Note: this will only set the user ID on further events fired while the user is on this page; if you want events on another page to record this user ID too, you must call
setUserId on the other page as well.
2.5 Setting a custom URL
However, in certain situations, you may want to override the actual URL with a custom value. (For example, this might be desirable if your CMS spits out particularly ugly URLs that are hard to unpick at analysis time.) In that case, you can override the default value using the
2.5.1 Setting a custom URL using
To set a custom URL, use the
setCustomUrl method i.e.:
2.6 User privacy
2.6.1 Respecting a user's privacy preferences using
respectDoNotTrack method like so:
2.7 User fingerprinting
The Tracker generates a user fingerprint based on various browser features. This fingerprint is likely to be unique and so can be used to track anonymous users.
2.7.1 Turning off user fingerprinting using
User fingerprinting is turned on by default. To switch it off, use the
2.7.2 Setting the user fingerprint seed using
You can change the hash seed used to generate the user fingerprint with the