Tracking
Tracking is the practice of collecting information about website visitors – which may in turn be used to measure performance and setting business targets for a given solution or business.
Dynamicweb contains two distinct tracking frameworks:
- Statistics is the old implementation – it collects and stores data in StatV2 tables. While it has been deprecated for a while, certain features in Dynamicweb still rely on it.
- Tracking is the new implementation – it collects more accurate data about website visitors and is required in order to use more recent features like Reports
Both types of tracking can be enabled by going to Settings > Web and HTTP > Tracking and activating either framework as necessary (Figure 1.1).
As you can see, the Tracking framework can be further configured using these settings:
- Customize the session expiration time
- Customize the returning visitor expiration time
- Check Do not track personal information to anonymize IP adresses
- Check Do not track visits with DNT header to not track DNT=1 headers
Tracking Limits
The Tracking limits section is used to further configure the behavior of the Tracking framework (Figure 2.1).
You can:
- Set the tracking level
- All – all visits are tracked
- Do not track undetected devices and unknown bots – tries to ignore devices and bots which are not of interest
- Do not track if device is unknown – tries to ignore unknown devices
- Exclude certain request headers:
- Do not track 'accept=*/*' header – ignores the typically not very interesting accept header used on by all requests
- Do not track 'connection=close' header – ignores the typically not very interesting connection=close header. Don't use on solutions with SSL, as it interferes with the protocol.
- Do not track where header count <= {min header count} – most “real” request contains at least 5 headers, so requests with fewer headers are typically bots or other non-human actors
- Check Do not track internal IP addresses and specify a list of IP addresses to ignore
- Check Store ignored visits to track everything despite the settings above but mark them with excluded=true. Usually only enabled for debugging purposes.
Debug
The Debug section (Figure 3.1) allows you to enable logging – this logs tracking exceptions to the event viewer.
Tables
The Tables section (Figure 4.1) allows you to define an interval after which the tracking tables will be split.
Please note, that Daily is only for testing purposes, not for production(!)
TrackingSessions
Contains session information from all visitors
Field name | Data type | Length | |
---|---|---|---|
TrackingSessionId | int | 4 | |
TrackingSessionTimestamp | datetime | 8 | |
TrackingSessionUrl | nvarchar | 2048 | |
TrackingSessionHeaders | nvarchar | Max | |
TrackingSessionHeadersCount | int | 4 | |
TrackingSessionAreaId | int | 4 | |
TrackingSessionPageId | int | 4 | |
TrackingSessionReferrerUrl | nvarchar | 2048 | |
TrackingSessionReferrerDomain | nvarchar | 255 | |
TrackingSessionReferrerName | nvarchar | 255 | |
TrackingSessionReferrerType | int | 4 | |
TrackingSessionVisitorId | nvarchar | 36 | |
TrackingSessionVisitorIsReturning | bit | 1 | |
TrackingSessionLocationCountryCode | nvarchar | 2 | |
TrackingSessionSourceName | nvarchar | 255 | |
TrackingSessionSourceMedium | nvarchar | 255 | |
TrackingSessionSourceCampaign | nvarchar | 255 | |
TrackingSessionSourceTerm | nvarchar | 255 | |
TrackingSessionSourceContent | nvarchar | 255 | |
TrackingSessionDeviceIpAddress | nvarchar | 45 | |
TrackingSessionDeviceUserAgent | nvarchar | 255 | |
TrackingSessionDeviceType | int | 4 | |
TrackingSessionDevicePlatformType | int | 4 | |
TrackingSessionBotName | nvarchar | 255 | |
TrackingSessionBotType | int | 4 | |
TrackingSessionExcluded | bit | 1 | |
TrackingSessionExcludedReason | nvarchar | 255 | |
TrackingSessionDateYear | smallint | 2 | |
TrackingSessionDateMonth | tinyint | 1 | |
TrackingSessionDateDay | tinyint | 1 | |
TrackingSessionDateHour | tinyint | 1 | |
TrackingSessionDateMinute | tinyint | 1 | |
TrackingSessionDateWeek | tinyint | 1 | |
TrackingSessionDateWeekDay | tinyint | 1 | |
npViewCount | int | 4 | |
TrackingSessionPingBackReceived | bit | 1 |
TrackingView
Contains view information on all visits - which pages, products etc. that has been visited
Field name | Data type | Length | |
---|---|---|---|
TrackingViewId | int | 4 | |
TrackingViewTimestamp | datetime | 8 | |
TrackingViewSessionId | int | 4 | |
TrackingViewAreaId | int | 4 | |
TrackingViewPageId | int | 4 | |
TrackingViewUserId | int | 4 | |
TrackingViewAdminUserId | int | 4 | |
TrackingViewEntityType | nvarchar | 255 | |
TrackingViewEntityKey | nvarchar | 255 | |
TrackingViewEntitySubKey | nvarchar | 255 |
TrackingEvent
Contains events made by the visitor, like adding products to cart, downloads, submitting forms etc.
Field name | Data type | Length | |
---|---|---|---|
TrackingEventId | int | 4 | |
TrackingEventName | nvarchar | 255 | |
TrackingEventValue | float | 8 | |
TrackingEventEntityType | nvarchar | 255 | |
TrackingEventEntityKey | nvarchar | 255 | |
TrackingEventEntitySubKey | nvarchar | 255 | |
TrackingEventTimestamp | datetime | 8 | |
TrackingEventSessionId | int | 4 | |
TrackingEventViewId | int | 4 | |
TrackingEventIsConversion | bit | 1 |