Clickthrough Package Requirements Template

by Nuno Santos

I. Introduction

The following is a requirements document for the Clickthrough package, an ACS service.

II. Vision Statement

The Clickthrough package provides a service that allows a site or subsite to monitor how its users exit the site, by recording which links are followed to external sites. Any link can be clickthrough-enabled by embedding special information in its destination address.

Clickthrough collects information about each pair of local (origin) and foreign (destination) addresses, including a daily count of clickthroughs between each such pair of addresses.

This clickthrough log can be used to provide external sites with a measure of how much traffic originated from the local site, which can be useful for auditing or confirming revenue generating clickthroughs (e.g., referrals).

III. Clickthrough Package Overview

The Clickthrough package, as a service, has no user interface: in fact, the clickthrough functionality is totally transparent to the end user, who simply follows links as if they were regular, direct links to external sites. The bulk of the package is composed of admin pages that build reports about the collected information.

The Clickthrough package is subsite aware and can be mounted under any other package mount point to provide clickthrough logging service for that package (such a package becomes the parent package). If site-wide clickthrough logging is desired, a Clickthrough instance can be mounted under the site root. Namely, this can be done to emulate the functionality and behavior of the legacy clickthrough module, which used /ct/ as its "mount point".

The allowed transitions in the Clickthrough package are:

Clickthrough-enabled links to external sites can be embedded in dynamic pages (e.g., Tcl, ADP) by using a procedure that automatically wraps a plain link with the appropriate clickthrough information.

Embedding links in static HTML pages, although supported in previous versions, is no longer a requirement for this version of Clickthrough. In fact, the embedded link would have to contain hardcoded clickthrough information. This has the disadvantage of making such a clickthrough-enabled link dependent on the location (the mount point) of the Clickthrough instance.

IV. Use-cases and User-scenarios

The Clickthrough package is used by three possibly overlapping classes of users:

Clickthrough-enabling links

David Developer wants a link on a page to be clickthrough-enabled. This means that when the user clicks on the link she will be taken to the external site as soon as possible, and the clickthrough will be logged in the background.

To clickthrough-enable a link in a dynamic page (e.g., a Tcl or ADP page), David wraps the href part of the link as an argument to a procedure that automatically provides all the necessary information for the clickthrough to be logged, namely the location of the local page (i.e., the origin of the clickthrough), as well as the location of the appropriate clickthrough instance in the sitemap. In this case, David does not need to be aware of the final location of the page he's writing nor be aware of whether and where the clickthrough instance will be mounted on the sitemap, because he does not need to provide any information to the procedure other than the destination URL.

Following clickthrough-enabled links

Ursula User is browsing the site and follows a clickthrough-enabled link to an external site. To Ursula, this link is indistinguishable from a regular link. By clicking on it, Ursula is taken to the destination page as soon as possible, with only a slight delay. In the background, the Clickthrough package has logged this clickthrough, by incrementing the daily click count for this particular local-URL/foreign-URL/parent-package tuple.

Obtaining reports about clickthroughs

Albert Admin wants to know how users are exiting a specific part of the site by following links to external sites. If a Clickthrough instance has been previously mounted under the package that Albert is interested in (meaning that the package has been recording clickthroughs for clickthrough-enabled links), he visits the admin pages for that Clickthrough instance and is able to see reports about when and how frequently users have left that section by following clickthrough-enabled links to external sites. Albert is shown a daily click count for each local page, for each external site and/or for each local-URL/foreign-URL pair. Albert can see raw totals or agreggated data (summary reports).

V. Related Links

VI.A Requirements: Data Model

VI.B Requirements: Developer Support

VI.C Requirements: Internal Transactions

VI.D Requirements: Administrator Interface

VII. Revision History

Document Revision # Action Taken, Notes When? By Whom?
0.1 Creation 2000/11/20 Nuno Santos


nuno@arsdigita.com
Last modified: $Date: 2002/01/11 18:30:36 $