mod_usertrack
Clickstream logging of user activity on a site
Extension
mod_usertrack.c
usertrack_module

Provides tracking of a user through your website via browser cookies.

# Logging

mod_usertrack sets a cookie which can be logged via mod_log_config configurable logging formats:

LogFormat "%{Apache}n %r %t" usertrack CustomLog logs/clickstream.log usertrack
CookieDomain
The domain to which the tracking cookie applies
CookieDomain domain
server config
virtual host
directory
.htaccess
FileInfo

This directive controls the setting of the domain to which the tracking cookie applies. If not present, no domain is included in the cookie header field.

The domain string must begin with a dot, and must include at least one embedded dot. That is, `.example.com` is legal, but `www.example.com` and `.com` are not.

Most browsers in use today will not allow cookies to be set for a two-part top level domain, such as `.co.uk`, although such a domain ostensibly fulfills the requirements above.

These domains are equivalent to top level domains such as `.com`, and allowing such cookies may be a security risk. Thus, if you are under a two-part top level domain, you should still use your actual domain, as you would with any other top level domain (for example `.example.co.uk`).

CookieDomain .example.com
CookieExpires
Expiry time for the tracking cookie
CookieExpires expiry-period
server config
virtual host
directory
.htaccess
FileInfo

When used, this directive sets an expiry time on the cookie generated by the usertrack module. The expiry-period can be given either as a number of seconds, or in the format such as "2 weeks 3 days 7 hours". Valid denominations are: years, months, weeks, days, hours, minutes and seconds. If the expiry time is in any format other than one number indicating the number of seconds, it must be enclosed by double quotes.

If this directive is not used, cookies last only for the current browser session.

CookieExpires "3 weeks"
CookieName
Name of the tracking cookie
CookieName token
CookieName Apache
server config
virtual host
directory
.htaccess
FileInfo

This directive allows you to change the name of the cookie this module uses for its tracking purposes. By default the cookie is named "`Apache`".

You must specify a valid cookie name; results are unpredictable if you use a name containing unusual characters. Valid characters include A-Z, a-z, 0-9, "_", and "-".

CookieName clicktrack
CookieStyle
Format of the cookie header field
CookieStyle Netscape|Cookie|Cookie2|RFC2109|RFC2965
CookieStyle Netscape
server config
virtual host
directory
.htaccess
FileInfo

This directive controls the format of the cookie header field. The three formats allowed are:

- Netscape, which is the original but now deprecated syntax. This is the default, and the syntax Apache has historically used.
- Cookie or RFC2109, which is the syntax that superseded the Netscape syntax.
- Cookie2 or RFC2965, which is the most current cookie syntax.

Not all clients can understand all of these formats, but you should use the newest one that is generally acceptable to your users' browsers. At the time of writing, most browsers support all three of these formats, with `Cookie2` being the preferred format.

CookieStyle Cookie2
CookieTracking
Enables tracking cookie
CookieTracking on|off
CookieTracking off
server config
virtual host
directory
.htaccess
FileInfo

When mod_usertrack is loaded, and `CookieTracking on` is set, Apache will send a user-tracking cookie for all new requests. This directive can be used to turn this behavior on or off on a per-server or per-directory basis. By default, enabling mod_usertrack will not activate cookies.

CookieTracking on