Skip to main content.

What can be tracked?

So what can be tracked? Basically anything that can be found out using Javascript. Here is a description of the variables that are currently tracked using pdftracker and their meaning:

id

The id value is a pseudorandom number that is generated the first time a tracking PDF is openend. This value can be made persistent using Javascript and is used any time the user opens another tracked PDF. Basically it is the same as a HTTP cookie, it enables us to track the user over different sessions (e.g. different document, different network).

sessionid

The sessionid value is a pseudorandom number that is generated at the beginning of a session. It is used to identify requests that belong together.

timestamp

The timestamp is created at the server side once the HTTP request is received. Note that this server is in Darmstadt, Germany, so it is on CEST.

localdate

This is the local date at the client. Using it you can guess the timezone of the user or see if his clock is off.

ip

This is the IP address of the viewer.

host

For convenience reasons, a DNS reverse lookup is done at the server, so this is the hostname of the client.

viewertype

This indicates the client application type. For a detailed description, please see page 82 of the Acrobat JavaScript Scripting Reference.

viewervariation

This indicates the variation of the client application type. For a detailed description, please see page 83 of the Acrobat JavaScript Scripting Reference.

viewerversion

This indicates the version number of the viewer.

formsversion

This indicates the version of the forms software within the client. For a detailed description, please see page 76 of the Acrobat JavaScript Scripting Reference.

platform

This indicates the platform the viewer is running on.

language

This indicates the language that is used by the application. For a detailed description, please see page 77 of the Acrobat JavaScript Scripting Reference.

plugins

This shows the number of plugins that are available to the viewer. Actually, the names of the plugins and whether they are enabled could be tracked, too. But this list is mostly huge and boring, so at the moment is left out.

useragent

This shows the user agent that is used to submit the request. If the PDF is viewed inside a browser, this is actually the browser's user agent string.

url

This shows the url at which the PDF is located. This is especially interesing if it starts with file:///, as one can then see where the file is saved on the computer.

external

This shows whether the PDF was opened in an external window (true, mostly a browser window) or using the standalone application (false).

pagenum

This shows the page number the user currently views. At the moment this is updated every 10 seconds.

zoom

This shows the zoom level the user currently users. At the moment this is updated every 10 seconds.

mouseX

This shows the x-coordinate of the mouse position. At the moment this is updated every 10 seconds. It seems to be relative to/within the document coordinates.

mouseY

This shows the y-coordinate of the mouse position. At the moment this is updated every 10 seconds. It seems to be relative to/within the document coordinates.

layout

This shows the layout mode the user is currently in. At the moment this is updated every 10 seconds.

fullscreen

This shows whether the viewer is currently in fullscreen mode or not. At the moment this is updated every 10 seconds.