Language selection

Search

Patent 2518109 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2518109
(54) English Title: ASSOCIATING WEBSITE CLICKS WITH LINKS ON A WEB PAGE
(54) French Title: PROCEDE POUR ASSOCIER DES CLICS SUR DES SITES WEB A DES LIENS SUR UNE PAGE WEB
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 17/00 (2006.01)
  • G06F 3/14 (2006.01)
  • H04L 12/16 (2006.01)
  • H04L 12/26 (2006.01)
(72) Inventors :
  • ERROR, BRETT M. (United States of America)
  • ERROR, CHRISTOPHER REID (United States of America)
  • ZINN, RICHARD (United States of America)
(73) Owners :
  • OMNITURE, INC. (United States of America)
(71) Applicants :
  • OMNITURE, INC. (United States of America)
(74) Agent: SIM & MCBURNEY
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 2004-03-04
(87) Open to Public Inspection: 2004-09-16
Examination requested: 2009-02-11
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US2004/006898
(87) International Publication Number: WO2004/079551
(85) National Entry: 2005-09-02

(30) Application Priority Data:
Application No. Country/Territory Date
60/452,085 United States of America 2003-03-04
60/452,084 United States of America 2003-03-04
10/795,079 United States of America 2004-03-03
10/794,809 United States of America 2004-03-03

Abstracts

English Abstract




Objects on a web pages are associated with stored records indicating
historical objects usage (304). Associations between objects and records take
into account discrepancies in object identifiers resulting from authorial
edits and/or differences in browser assignment of object identifiers. An
object having an object identifier that differs from that of a stored record
by not more than a predetermined tolerance value, and that has other indicia
that match the stored record (306), is considered to match the stored record
(307). Reports are generated quantifying web page object usage, for example by
supperimposing color shadings or other visual indicia on a representation of a
web page.


French Abstract

Selon la présente invention, des objets situés sur une page Web sont associés à des enregistrements stockés qui indiquent une utilisation historique des objets. Des associations entre des objets et des enregistrements tiennent compte de différences entre des identificateurs d'objet, résultant d'éditions d'auteur et/ou de différences d'attribution de navigateur d'identificateurs d'objet. Un objet présentant un identificateur d'objet qui diffère de celui d'un enregistrement stocké de pas plus d'une valeur de tolérance prédéfinie et qui présente d'autres indices correspondant à l'enregistrement stocké est considéré comme correspondant à l'enregistrement stocké. Des rapports quantifiant une utilisation d'objet de page Web sont établis, par exemple en superposant des teintes de couleur ou d'autres indices visuels sur une représentation d'une page Web.

Claims

Note: Claims are shown in the official language in which they were submitted.




Claims
[0070] What is claimed is:
1. A method of identifying an object on a web page, comprising:
receiving a communication indicating user activation of an object, the
communication comprising an object identifier and additional
identifying indicia for the object;
comparing the object identifier and the additional identifying indicia of the
user-activated object with records comprising object identifiers and
additional identifying indicia; and
responsive to the object identifier of the user-activated object being within
a
predetermined tolerance factor with respect to an object identifier of
a stored record, and the identifier of the stored record having
additional identifying indicia matching the additional identifying
indicia of the user-activated object:
indicating a match between the user-activated object and the stored
record.
2. The method of claim 1, further comprising:
responsive to the object identifier and additional identifying indicia of the
user-activated object matching the object identifier and additional
identifying indicia of a stored record:
indicating a match between the user-activated object and the stored
record.
3. The method of claim 1, wherein the additional identifying indicia comprises
at least one of an action and a type.
4. The method of claim 1, wherein the additional identifying indicia comprises
an action and a type.
-17-




5. The method of claim 1, further comprising generating a report including
statistics for user-activated objects.
6. The method of claim 1, further comprising generating a report including a
representation of the web page, and for superimposing visual indicators
quantifying
user activations for objects on the web page.
7. The method of claim 6, wherein the visual indicators are color-coded.
8. A method of identifying an object, the object having an object identifier
and
additional identifying indicia, comprising:
comparing the object identifier and the additional identifying indicia of the
object with records comprising object identifiers and additional
identifying indicia;
responsive to the object identifier of the object being within a predetermined
tolerance factor with respect to an object identifier of a stored record,
and the identifier of the stored record having additional identifying
indicia matching the additional identifying indicia of the object:
indicating a match between the object and the stored record.
9. The method of claim 8, further comprising:
responsive to the object identifier and additional identifying indicia of the
object matching the object identifier and additional identifying
indicia of a stored record:
indicating a match between the object and the stored record.
10. The method of claim 8, wherein the additional identifying indicia
comprises at least one of an action and a type.
11. The method of claim 8, wherein the additional identifying indicia
comprises an action and a type.
-18-



12. The method of claim 8, wherein the object is a component of a web page,
the method further comprising generating a report including a representation
of the
web page, and for superimposing visual indicators thereon quantifying user
activations for objects on the web page.
13. The method of claim 12, wherein the visual indicators are color-coded.
14. A report displaying web page object usage, comprising:
a representation of a web page including objects; and
superimposed on the representation of the web page, visual indicators
quantifying user activations of the objects.
15. The report of claim 14, wherein the visual indicators are color-coded.
16. A method for displaying a report depicting web page object usage,
comprising:
generating a representation of a web page including objects; and
superimposing on the representation of the web page, visual indicators
quantifying user activations of the objects.
17. The method of claim 16, wherein the visual indicators are color-coded.
18. A computer program product for identifying an object on a web page,
comprising:
a computer-readable medium; and
computer program code, encoded on the medium, for:
receiving a communication indicating user activation of an object, the
communication comprising an object identifier and additional
identifying indicia for the object;
comparing the object identifier and the additional identifying indicia of
the user-activated object with records comprising object
identifiers and additional identifying indicia; and
-19-


responsive to the object identifier of the user-activated object being
within a predetermined tolerance factor with respect to an
object identifier of a stored record, and the identifier of the
stored record having additional identifying indicia matching
the additional identifying indicia of the user-activated object:
indicating a match between the user-activated object and the
stored record.

19. The computer program product of claim 18, further comprising computer
program code, encoded on the medium, for:
responsive to the object identifier and additional identifying indicia of the
user-activated object matching the object identifier and additional
identifying indicia of a stored record:
indicating a match between the user-activated object and the stored
record.

20. The computer program product of claim 18, wherein the additional
identifying indicia comprises at least one of an action and a type.

21. The computer program product of claim 18, wherein the additional
identifying indicia comprises an action and a type.

22. The computer program product of claim 18, further comprising computer
program code, encoded on the medium, for generating a report including
statistics for
user-activated objects.

23. The computer program product of claim 18, further comprising computer
program code, encoded on the medium, for generating a report including a
representation of the web page, and for superimposing visual indicators
quantifying
user activations for objects on the web page.



-20-


24. The computer program product of claim 23, wherein the visual indicators
are color-coded.
25. A computer program product of identifying an object, the object having an
object identifier and additional identifying indicia, comprising:
a computer-readable medium; and
computer program code, encoded on the medium, for:
comparing the object identifier and the additional identifying indicia of
the object with records comprising object identifiers and
additional identifying indicia;
responsive to the object identifier of the object being within a
predetermined tolerance factor with respect to an object
identifier of a stored record, and the identifier of the stored
record having additional identifying indicia matching the
additional identifying indicia of the object:
indicating a match between the object and the stored record.
26. The computer program product of claim 25, further comprising computer
program code, encoded on the medium, for:
responsive to the object identifier and additional identifying indicia of the
object matching the object identifier and additional identifying
indicia of a stored record:
indicating a match between the object and the stored record.
27. The computer program product of claim 25, wherein the additional
identifying indicia comprises at least one of an action and a type.
28. The computer program product of claim 25, wherein the additional
identifying indicia comprises an action and a type.
-21-


29. The computer program product of claim 25, wherein the object is a
component of a web page, the computer program product further comprising
computer program code, encoded on the medium, for generating a report
including a
representation of the web page, and for superimposing visual indicators
thereon
quantifying user activations for objects on the web page.
30. The computer program product of claim 29, wherein the visual indicators
are color-coded.
31. A computer program product for displaying a report depicting web page
object usage, comprising:
a computer-readable medium; and
computer program code, encoded on the medium, for:
generating a representation of a web page including objects; and
superimposing on the representation of the web page, visual indicators
quantifying user activations of the objects.
32. The computer program product of claim 31, wherein the visual indicators
are color-coded.
33. A system for identifying an object on a web page, comprising:
a communication device, for receiving a communication indicating user
activation of an object, the communication comprising an object
identifier and additional identifying indicia for the object;
an object comparator, coupled to the communication device, for comparing the
object identifier and the additional identifying indicia of the user-
activated object with records comprising object identifiers and
additional identifying indicia; and
a match indicator, coupled to the object comparator, for, responsive to the
object identifier of the user-activated object being within a
predetermined tolerance factor with respect to an object identifier of

-22-


a stored record, and the identifier of the stored record having
additional identifying indicia matching the additional identifying
indicia of the user-activated object:
indicating a match between the user-activated object and the stored
record.
34. The system of claim 33, wherein:
responsive to the object identifier and additional identifying indicia of the
user-activated object matching the object identifier and additional
identifying indicia of a stored record, the match indicator indicates a
match between the user-activated object and the stored record.
35. The system of claim 33, wherein the additional identifying indicia
comprises at least one of an action and a type.
36. The system of claim 33, wherein the additional identifying indicia
comprises an action and a type.
37. The system of claim 33, further comprising a report generator, for
generating a report including statistics for user-activated objects.
38. The system of claim 33, further comprising a report generator, for
generating a report including a representation of the web page, and for
superimposing visual indicators quantifying user activations for objects on
the web
page.
39. The system of claim 38, wherein the visual indicators are color-coded.
40. A system for identifying an object, the object having an object identifier
and additional identifying indicia, comprising:
-23-


an object comparator, for comparing the object identifier and the additional
identifying indicia of the object with records comprising object
identifiers and additional identifying indicia;
a match indicator, coupled to the object comparator, for, responsive to the
object identifier of the object being within a predetermined tolerance
factor with respect to an object identifier of a stored record, and the
identifier of the stored record having additional identifying indicia
matching the additional identifying indicia of the object:
indicating a match between the object and the stored record.
41. The system of claim 40, wherein:
responsive to the object identifier and additional identifying indicia of the
object matching the object identifier and additional identifying
indicia of a stored record, the match indicator indicates a match
between the object and the stored record.
42. The system of claim 40, wherein the additional identifying indicia
comprises at least one of an action and a type.
43. The system of claim 40, wherein the additional identifying indicia
comprises an action and a type.
44. The system of claim 40, wherein the object is a component of a web page,
the system further comprising a report generator for generating a report
including a
representation of the web page, and for superimposing visual indicators
thereon
quantifying user activations for objects on the web page.
45. The system of claim 44, wherein the visual indicators are color-coded.
46. A system for displaying a report depicting web page object usage,
comprising:
-24-



a report generator, for generating a representation of a web page including
objects; and
an object highlighter, for superimposing on the representation of the web
page, visual indicators quantifying user activations of the objects.
47. The system of claim 46, wherein the visual indicators are color-coded.
-25-

Description

Note: Descriptions are shown in the official language in which they were submitted.




CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
ASSOCIATING WEBSITE CLICKS WITH LINKS ON A WEB
PAG E
n~~~,~~~-~:
~hri~~~~C~~~- ~ei~ ~~~-~r
i~i~h~r~ ~i~n
~I~~Alo~~~l~~~s
[000] This application claims priority from United States Provisional
Application Serial No. 60/452,084, dated March 4, 2003, entitled "Associating
Website
Clicks with Links on a Web Page," (Attorney Docket No. 7651), the contents of
which
are incorporated by reference.
[0002] This application further claims priority from United States
Provisional Application Serial No. 60/452,085, dated March 4, 2003, entitled
"Delayed
Data Collection Using Web Beacon-Based Tracking Methods," (Attorney Docket No.
7652), the contents of which are incorporated by reference.
[0003] This application is related to U.S. Patent Application Serial No.
10/ 608,515 entitled "Efficient Click-Stream Data Collection" (Attorney Docket
No.
7132), filed June 26, 2003; U.S. Patent Application Serial No.10/ 608,442
entitled
'°Custom Event and Attribute Generation for Use in Website Traffic Data
Collection'°
(Attorney Docket No. 7133), filed June 26, 2003; U.S. Patent Application
Serial No.
10/ 609,008 entitled "Capturing and Presenting Site Visitation Path Data"
(Attorney
Docket No. 8054), filed June 27, 2003; and U.S. Application Serial No.
entitled
"Delayed Transmission of Website Usage Data' (Attorney Docket No. 7761), filed
on
the same date as the present application. The contents of these related patent
applications are incorporated herein by reference.



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
Field of the Invention
[0004] The present invention is related to tracking website usage, and more
particularly to accurately identifying and associating objects activated by a
user
during the course of navigating a website.
~~~~~o~~i~r~ ~f ~~~ f~~~~~c~r~~a~~~Q~ ~ ~t
[000] In an on-line environment, website usage and other customer
behavior may be tracked by a website server, or by another server such as a
data
C~lleCtl~11 Server (also known as a data collector), which may be remotely
located.
The data collection server is notified of activity on a website so that it can
monitor
and track the activity. One method of achieving this notification is through
the use of
a request for embedded content.
[0006] Embedded content is part of a web page, such as an image, that is
requested as a separate file from the file containing the web page. The
separate file
may be r equested from the website server or from a r emote server, such as a
remote
content server or data collection server. For example, when a user requests a
web
page from a website server, the website server sends the web page file to the
user's
client. The client, such as a web br owser, then attempts to render the file
as a
viewable web page. However, upon rendering the web page file, the client may
find
a reference to a separate file located on the website server or a remote
server. After
the content is located and sent to the client, the client renders the separate
file
containing the embedded content along with the original web page.
[0007] A web beacon (also known as a web bug) is a particular type of
embedded content where the content itself is irrelevant, but the request for
content
carries useful information. For example, a web beacon is often a transparent
image
haVlTlg very small dimensions, such as 1 pixel by 1 pixel. This image is small
enough
to be invisible to the user. vllhen a client is rendering a web page that
includes a vela
beacon, the web beacon causes the client to send a resource request to a
server such as
a data collection server. The web beacon may include a script (or otl-~er
code) that



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
causes the client to include, in the resource request, additional information
about the
user and the user's environment. The additional information can include the
data
from a cookie, or other information about the client's operating environment
or
status. Where the server indicated by the web beacon code is a data collection
server,
the data collection server may, in response to the request, cause the client
to set an
additional cookie for identification for tracking purposes. In this manner,
the web
beacon request can be used to indicate to a data collection server that a
particular web
page is being rendered.
[0008] One method for including the request is to write the request as a
static image tag in Hypertext Markup Language (HTML). The following is an
example of an image tag in HTML:
[0009] <img
src="http:/ / ad. datacollectionserver.com/tr
acker.exe?AID=14658&PID=259294~bann
er=0.gif" width=1 height=1 border=0>
[0010] Here, the term "ad.datacollectionserver.com" refers to the address of
the data collection server.
[0011 ] Another common method of including the request is to use a
scripting language such as JavaScript so as to cause the browses to
dynamically
generate a request to the data collection server. One advantage of using a
script
instead of a static image tag is that the script can cause the browses to
perform other
functions including gathering additional data and sending it along with the
request.
In either case, the result is a request sent to the data collection server
upon the
occurrence of an event, such as the loading and rendering of a web page.
[0012] Once the request has been sent to the data collection server, the data
collection server can perform various types of tracking functions. For
example, the
data collection server can count the number of requests associated with a web
page so
as to monitor traffic on the web page. Fy counting the number of times the web
beacon element lzas been requested from the data collection server, the server
can
determine the number of times a particular page was viewed. Fy using
JavaScript to
-3-



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
dynamically construct the request for the web beacon and encode additional
information, other identifying information can be obtained for further
analysis.
[0013] Other types of website usage tracking are also well known, such as
for example log file analysis. In such an approach, statistical analysis is
performed on
server logs in order to detect and analyse website traffic, and usage
patterns.
[0014] In addition to tracking web page visits, it is often desirable to track
user actions, such as object activations, on web pages. In general, existing
approaches
for collecting and tracking website usage fail to provide a means for tracking
the
actual links a user clicks on during the course of navigating a site. In some
circmnstances, the link clicked 011 Can be inferred if the start page has only
one link
that leads to the destination page. However, where there is mor a t11a11 one
link
between pages, the determination of which link was clicked is more difficult
or
impossible. Additionally, even when there is only one link between two pages,
it is
often difficult or impossible to determine whether the user actually clicked
on the link
or navigated to the page via some other method (such as typing in the URL).
[0015] Such information is useful in many ways, including for example
collecting feedback that leads to improved web page design; determining the
effect of
various degrees of prominence of links and graphic elements on web pages; and
the
like. What is needed, then, is a method and system for reliably and accurately
tracking the actual links a user clicks on (and other objects the user
activates) during
the course of navigating a site. What is further needed is a mechanism for
automatically and uniquely identifying links on a page so that the user s
interactions
with the links can be accurately tracked. What is further needed is a
mechanism for
accurately reporting web page object usage statistics. What is further needed
is an
improved report format that visually depicts web page object usage statistics.
~~~fi ~ ~ e~A~~
[0016] According to the present invention, objects (sucl-~ as links) on a web
page are uniquely identified by virtue of Object ID (assigned to the element
by some
-4-



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
browsers as a part of the Document Object Model), as well as other identifying
indicia, such as an element type descriptor and an action descriptor.
(0017] Using the combination of these indicia, the present invention allows
a web tracking system to associate historical clicks on various objects of a
web page
vrith the objects currently being viewed in the browses. If an exact match is
not found
for an object, a search factor can be applied in order to account for slight
variations in
Object IDs; such variations are comunon, particularly when ~bject IDs are
assigned by
different browsers or on different platforms, or when a web page has been
altered or
edited. Accordingly, the present invention accounts for such differences and
allows
matches to be made even when Object IDs are not identical. In addition, if
~bject IDs
are not present (for example, if the browses in use does not generate Abject
IDs),
objects are matched using the other identifying indicia.
(001 ~] Sy identifying objects according to the techniques of the present
invention, web behavior tracking systems can more accurately detect, record,
and
analyze user actions with respect to objects (such as links) on a web page. A
report
can then be generated, showing indications of relative popularity of various
objects
on a web page by superimposing visual indicators, such as color-coded shading,
on a
r epresentation of the web page.
Brief Description of the Drawings
[0019] Fig.1 is a block diagram depicting a system for website traffic data
collection.
(0020] Fig. 2 is a screen shot depicting an example of a page analysis report
facilitated by the present invention.
[0021 ] Fig. 3 is a flow diagram depicting a method of associating website
clicks with links, according to an embodiment of the present invention.
[0022] Fig. 4 is an example of a vela page having objects to be associated
with user actions.
[0023] The Figures depict a preferred embodiment of the present invention
for purposes of illustration only. ~ne skilled in the art will readily
recogo..nze from the
-5-



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
following discussion that alternative embodiments of the structures and
methods
illustrated herein may be employed without departing from the principles of
the
invention described herein.
~c~~~~ro~~o~~ ~~ ~r~ '~-~C~~~~~~~r~~~ ~~ ~~ ~~ ~r~~~~~~~o~r~
~~~~~~r ~rchi~~c$~ar~
(002~~] Referring now to Fig.1, there is shown a blocle diagram depicting a
system for website traffic data collection according to one embodiment of the
present
invention. User 112 interacts with client machine 107, whicl-~ runs a software
application such as browses 110 for accessing and displaying web pages. Client
machine 107 lnay be an ordinary personal computer, including well-known
components such as a CPU running an operating system such as Microsoft
Windows,
a keyboard, mouse, display screen, and Internet connection (not shown). Client
machine 10'7 may run various software applications in addition to browses 110.
Browses 110 includes scripting engine 116, such as JavaScript, as is commonly
found
in commercially available browsers. In response to a user 112 action sueh as
clicking
on a link or typing in a URL, client maclune 107 issues a web page request 111
that is
transmitted via the Internet to content server 101. In response to request
111, content
server 101 transmits web page 102 (in the form of HTML code, for example) to
client
machine 107. Browses 110 displays the requested web page 102 on client machine
107.
(0025] Web page 102 includes beacon code, which in one embodiment is a
pointer to a beacon (such as a 1 pixel by 1 pixel transparent image). The
beacon is
typically invisible to the user, such as a transparent one-pixel image. For
purposes of
the following description, a beacon is any element that is embedded in a web
page
102 which is loaded automatically by browses 110 that references an external
server
106 and is used to monitor traffic. The beacon code can be provided as a
script (such
as a JavaScript script) to be executed by scripting engine 116. The beacon
code causes
client machine 10~ to generate resource requests 105 to data collection server
106.
-6-



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
These resource requests 105 are usually dynamically generated according to the
script
instructions. Data collection server 106 records such requests in a log 108,
and can
also record additional information associated with the request (such as the
date and
time, alld possibly some identifying information that may be encoded in the
resource
request). Thlus, tracking server 106 records the occurrence of a "hit'°
to web page 102.
Tracking server 106 also transmits the requested one-pixel Image to client
machine
10~ so that the resource request is satisfied.
[0026] Analysis module 113 retrieves stored iTacking data from log 108,
filters the data, and outputs reports 114. Reports 114 may be provided in hard
copy,
or via a display screen (not shown), or by some other means. Reports 114
include, for
example, overviews and statistical analyses describing the relative frequency
with
which various site paths are being followed through the website. Examples of
such
reports are described below.
[0027] Module 113 may be implemented in software running on server 106
or on another computer that can access log 108.
[0028] In one embodiment, communications between client machine 107,
content server 101, and data collection server 106 are accomplished using well
known
network protocols, such as TCP/IP and HTTP, for communication across the
Internet.
Other communication methodologies and protocols can also be used.
Method
[0029] In the following description, the invention is set forth in the context
of identifying user-activated objects on a web page; however, one skilled in
the art
will recognize that the techniques described herein can be used in any context
where
it is desirable to determine a match between a web page object and stored
records.
[0030] In one embodiment, the present invention is implemented using a
client-side script encoded in the beacon code that is sent as part of web page
102. This
script iterates through the Document Object Model (DOM) of the web page 102,
tooling for actionable items such as HREF° linles alld form submit
buttons. The script
overrides the default action of tllese limes to inchude a call to a click-
tracking function
111 addltloTl to the executing the normally expected action.



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
[0031 ] The click-tracking function is called, for example, when the user 112
activates an HTML object on page 102 by clicking on it. This function sends to
data
collection server 106 a unique identifier of the page 102 where the object is
found
(such as a LTRL or unique page name), the action performed by the user-
activated
object, an OBJECT ID of the user-activated object, and a TYPE associated with
tlve
user-activated object.
[003] In one embodiment, the action performed by the user-activated
object is specified in terms of a target referenced by the object. The action
of an HREF
tag, t~r exalllple, is the page pointed to by the tag. For a form submit
button, the
action is the document that the form will be submitted to, as defined in the
<FORM>
tag. Alternatively, the action can be specified as an I1CTION parameter of a
form, or
alternatively a JavaScript fullctloll.
[0033] In one embodiment, the OBJECT ID is an identifier assigned to the
object by browser 110 as a part of the Document Object Model (DOM). The OBJECT
ID may be, for example, an integer sequentially assigned to each element as it
is
encountered by browser 110, according to teclviiques that are well known in
the art.
[0034] In one embodiment, the TYPE is an indication of the type of object
the user has activated. For example, it rnay be the TYPE parameter of an HTML
element. The TYPE of the object may be, for example, an image, a form element,
a
standard HREF tag, a JavaScript element, or the like. By checking the TYPE of
a link,
the method of the present invention ensures, for example, that image and text
links
pointing to the same location can be easily distinguished from one another.
[0035] One skilled in the art will recognize that these information items are
merely illustr ative of the data sent to server 106 accor ding to one
embodiment, and
that other information may be sent to server 106, including or omitting any of
these
and/ or any other types of information describing the user-activated object.
[0036] Using the provided items of information, the present invention is
able to detect matches between user-activated objects and stored records of
previous
activity such as historical clicks on various links in the page. I~ccording to
the
techniques of the present invention, matches can be found even if an exact
OBJECT ID
-g_



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
match may not exist. For any of a variety of reasons, an OBJECT ID as
indicated in a
stored record for an object may not exactly hatch a detected OBJECT ID for the
salve
object when the user activates it. This OBJECT ID "drift" may occur, for
example,
wheel page content is changed (for example by a web author) and particularly
when
elements are added to or removed from a web page. Also, different browser
models,
and even different versions of the same browses, cal assign OBJECT IDs
slightly
differently or may not assign OBJECT IDs at all. Accordingly, as described
below, the
present invelltiol~ provides techniques for using other identifying lndlcla,
such as
TYPE and action, to more effectively match user-activated web page objects.
[003 i ] Referring now to Fig. 3, there is shown a flow diagram illush sting a
method of associating website clicles with limes according to one embodiment.
In one
embodiment, the steps of Fig. 3 are performed by data collection server 106;
in
another embodiment, the steps may be performed by client machine 107 or by
some
other component of the system.
[0038] Server 106 detects 302 user activation of an object on web page 102,
for example by receiving a request 105 or other message from client machine
107.
Server 106 obtains 303, from the received request 105, information
describing.the
user-activated object, including for example an OBJECT ID, a TYPE, and an
action.
[0039] Server 106 then searches 304 stored records that have a TYPE that
matches the TYPE of the user-activated object. In one embodiment, server 106
performs this search on records in log 108 or in some other repository of
historical
usage data. In one embodiment, server 106 searches 304 all stored records,
without
restricting the search to r ecords having a matching TYPE.
[0040] If, in 305, any of the stored records have an OBJECT ID, Action and
TYPE matching those of the user-activated object, server 106 indicates 307
that a
match has been found.
[0041] If no match is fouled 111305, server 106 searches for stored records
that have a matching Action slid TYPE, and have an OBJECT ID that is close to
the
OBJECT ID of the user-activated object. In one embodiment, this search is
performed
iteratively using successively larger '°search factors": First, a
search is made for
-9-



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
stored records having an OBJECT ID that differs by 1 or less from the user-
activated
object°s OBJECT ID and having matching Action and TYPE. Then (assuming
no
match has yet been found), a search is made for stored records having an
OBJECT ID
that differs by 2 or less from the user-activated object's OBJECT ID and
leaving
matching Action and TYPE. This process is repeated with successively larger
search
factors until a match is found, or until the search factor exceeds a
predetermined
tolerance.
[004] If, in 306, any matches are found, server 106 indicates 30'7 that a
match has been found. Otherwise, server 106 indicates 308 that no match was
found.
[00~.~] One skilled in the art will recognize that the method can be
generalized by considering the comparison performed in 305 to be a special
case of
that performed in 306, but with a search factor of zero (in other words, the
difference
in OBJECT IDs must be zero for a match to be found in step 305).
[0044] One skilled in the art will further recog~lize that, in an alternative
embodiment, the search is performed non-iteratively, so that any records
having an
OBJECT ID within the predetermined tolerance (and having matching action and
TYPE) are considered potential matclles. In one embodiment, server 106
identifies as
a match the stored records) that, among potential matches, has (have) an
OBJECT ID
closest to that of the user-activated object.
[0045] In one embodiment, server 106 records the user action in log 108
according to whether a match was indicated. For example, if a match was
indicated,
server 106 increments a value in the matching record indicating the number of
times
the object was activated. If no match was indicated, server 106 creates a new
record
for the object.
[0046] Links may optionally be tagged with a unique "name°'. In this
case,
in one embodiment, neither the OBJECT ID nor the search factor is employed,
but
rather only the page name and link name are used to make the association.
[004] If Object IDs are not present (for example, if browses 110 does not
generate Object IDs), objects are matched using whatever identifying indicia
are
available, such as action and TYPE.
-10-



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
[0048] The values stored in log 108 can then be used to generate reports
indicating statistics summarizing historical website usage. One example of a
type of
report that can be generated is a representation of a web page wherein visual
,
indicators of usage are superimposed. For example, the report can depict links
on a
web page colored with different color densities and/or hues t~ indicate
relative
frequency with which the links have been activated.
[00~.~] I11 one embodiment, the steps of Fig. 3 are performed in response to
individual user actions (such as web page clicks). In another embodiment, the
steps
of Fig. 3 are performed after a number of user actions have taken place,
rather than
after each individual action. For example, data describing user actions can be
stored
locally at client machine 107 (using, for example, the tecl~u~iques described
in related
U.S. Application Serial No. entitled "Delayed Transmission of Website Usage
Data" (Attorney Docket No. 761), filed on the same date as the present
application),
and can be transmitted to server 106 when a new page is loaded or upon
detection of
some other triggering event. The object matching teclmique can thus be used to
determine which stored records) match a number of user-activated objects or a
number of user activations of a single object.
Example
[0050] The tecluliques of the present invention are applicable in any
situation where it is desirable to identify and associate a web page object,
particularly
where OBJECT IDs may not exactly match.
[0051 ] The following example depicts an embodiment of the invention
where user interactions with a number of objects are being matched with
objects on a
web page. As described above, the method of the present invention can be
performed
in response to each individual user interaction, or after a series of user
interactions
has taken place.
[005] Referring now to Fig. 4, there is shown an example of a web page
x.02 having three objects 401A~ 4018, 401C. Object 401A has an OBJECT ID of 1
and
an action of http://www.one.com. Object 4018 has an OBJECT ID of 2. and an
action
-11-



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
of http://www.two.com. Object 401C has an OBJECT ID of 3 and an action of
http://www.three.com. Web page 202 has a Page ID of "Page A".
[0053] The present invention provides a tecluiique for matching the objects
on page 202 with a record of user activity. For example, the invention can be
used in
response to an individual user action, in order to update stored data with
current user
activity.
[005~~] Suppose, for example, that the following data is to be associated
with the objects on page 202 as shown in Fig. 4. For illustrative purposes,
all the
objects have a TYPE of IMG (irnage).
Page ID OBJECT ID Action TYPE # of
Clicks


Page A 1 http://www.one.com IMG 2


Page A 2 http://www.one.com IMG 3


Page A 3 http://www.three.comIMG 8


[0055] In matching the indicated data with web page 202 as shown in Fig. 4,
the following steps are performed:
[0056] For the first listed data item, determine whether any of the objects
401 have matching OBJECT ID (1), action (http://www.one.com), and TYPE (IMG).
Object 401A satisfies these criteria; therefore object 401A is considered to
match the
first listed data item. Log 108 can thus be updated to indicate that object
401A has
been activated twice.
[0057] For the second listed data item, determine whether any of the objects
401 have matching OBJECT ID (2), action (http://www.one.com), and TYPE (IMG).
None of the objects 401 are an exact match; object 2018 has matching OBJECT ID
but
does not match the action. Therefore, search for objects 401 having an OBJECT
ID
-12-



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
that are within a search factor of 1 (in other words, objects 401 having an
OBJECT ID
of 1 or 3), and which match the action and TYPE listed above. Object 401A
satisfies
these criteria, having an OBJECT ID of 1, an action of http://www.one.com, and
a
TYPE of IMG. Log 108 can thus be updated to indicate that object 401A has been
activated an additional three times.
[00~~] For the third listed data item, determine whether any of the objects
401 have matching OBJECT ID (3), action (http://www.three.com), and TYPE (IMG)
Object 4010 satisfies these criteria; therefore object 401C is considered to
match the
first listed data item. Log 108 can thus be updated to indicate that object
4010 has
been activated eight times.
[00~~] After the above steps, therefore, log 108 would indicate activity for
objects 401A (five clicks) and 401C (eight clicks).
Output Format
[0060] Referring now to Fig. 2, there is shown an example of a page analysis
report 201, displayed alongside an image of the web page 102 being analyzed.
In one
embodiment, report 201 is provided to a site administrator or owner
interacting with
data collection server 106.
[0061 ] In the example of Fig. 2, report 201 includes identification 202 of
the
website and web page being analyzed; report date 203; report options and
settings
204; page metrics 205; and links 206 to related reports. In addition, variable
levels
and shades of color density are superimposed on the displayed view of web page
102,
in or der to visually r epresent the r elative number of clicks each item 208
or screen
region has received. Color key 207 is a legend to indicate the meaning of
various
superimposed colors.
[0062] One skilled in the art will recognize that other formats and output
mechanisms can be used, including for example hard copy output, text or
graphical
reports, and the like.
[0063] In the above description, for purposes of explanation, numerous
specific details are set forth in order to provide a thorough understanding of
the
-13-



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
invention. It will be apparent, however, to one skilled in the art that the
invention
can be practiced without these specific details. In other instances,
structures and
devices are shown in block diagram form in order to avoid obscuring the
invention.
[OOC4] Reference in the specification to "one embodiment" or "an
ei-nbodiment°' means that a particular feature, structure, or
characteristic described in
cormeetion with the embodiment is included in at least one embodiment of the
invention. The appearances of the phrase "in one embodiment" in various places
in
the specification are not necessarily all referring to the same embodiment.
[000] Some portions of the detailed description are presented in terms of
algorithms and symbolic representations of operations on data tilts withln a
computer
memory. These algorithmic descriptions and representations are the means used
by
those skilled in the data processing arts to most effectively convey the
substance of
their work to others skilled in the art. An algorithm is here, and generally,
conceived
to be a self-consistent sequence of steps leading to a desired result. The
steps are
those r equiring physical manipulations of physical quantities. Usually,
though not
necessarily, these quantities take the form of electrical or magnetic signals
capable of
being stored, transferred, combined, compared, and otherwise manipulated. It
has
proven convenient at times, principally for reasons of common usage, to refer
to these
signals as bits, values, elements, symbols, characters, terms, numbers, or the
like.
[0066] It should be borne in mind, however, that all of these and similar
terms are to be associated with the appropriate physical quantities and are
merely
convenient labels applied to these quantities. Unless specifically stated
otherwise as
apparent from the discussion, it is appreciated that tl-uoughout the
description,
discussions utilizing terms such as "processing" or "computing" or
"calculating" or
"determining" or "displaying" or the like, refer to the action and processes
of a
computer system, or similar electronic computing device, that manipulates and
transforms data represented as physical (electronic) quantities within the
computer
systerri s registers and memories into other data similarly represented as
physical
quantities within the computer systerri s memories or registers or other such
information storage, transmission or display devices.
-14-



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
[0067] The present invention also relates to an apparatus for performing the
operations herein. This apparatus may be specially constructed for the
required
purposes, or it may comprise a general-purpose computer selectively activated
or
reconfigured by a computer program stored in the computer. Such a computer
program may be stored in a computer readable storage medium, such as, but is
not
limited to, any type of disk including floppy disks, optical disks, CIA-R~Ms,
and
magnetic-optical disks, read-only memories (R~Ms), random access memories
(RAMS), EPR~MS, EEPROMs, magnetic or optical cards, or any type of media
suitable for storing electronic instructions, and each coupled. to a computer
system
bus.
[00~~] The algorithms and displays presented herein are not inherently
related to any particular computer, network of computers, or other apparatus.
Various general-purpose systems may be used with programs in accordance with
the
teachings herein, or it may prove convenient to construct a more specialized
apparatus to perform the required method steps. The required structure for a
variety
of these systems appears from the description. In additioi~, the present
invention is
not described with reference to any particular programming language. It will
be
appreciated that a variety of programming languages may be used to implement
the
teachings of the invention as described herein.
[0069] As will be understood by those familiar with the art, the invention
may be embodied in other specific forms without departing from the spirit or
essential characteristics thereof. For example, the particular architectures
depicted
above are merely exemplar y of one implementation of the present invention.
The
functional elements and method steps described above are provided as
illustrative
examples of one technique for implementing the invention; one skilled in the
art will
recognize that many other implementations are possible without departing from
the
present invention as recited in the claims. Likewise, the particular
capitalization or
llaln111g of the modules, protocols, features, attributes, or any other aspect
is not
mandatory or significant, and the mechanisms that implement the invention or
its
featur es may have different names or formats. In addition, the present
invention may
-15-



CA 02518109 2005-09-02
WO 2004/079551 PCT/US2004/006898
be implemented as a method, pr ocess, user interface, computer pr ogram pr
oduct,
system, apparatus, or any combination thereof. Accordingly, the disclosure of
the
present invention is intended to be illustrative, but not limiting, of the
scope of the
invention, which is set forth in the following claims.
-16-

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(86) PCT Filing Date 2004-03-04
(87) PCT Publication Date 2004-09-16
(85) National Entry 2005-09-02
Examination Requested 2009-02-11
Dead Application 2011-03-04

Abandonment History

Abandonment Date Reason Reinstatement Date
2010-03-04 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Registration of a document - section 124 $100.00 2005-09-02
Application Fee $400.00 2005-09-02
Maintenance Fee - Application - New Act 2 2006-03-06 $100.00 2005-09-02
Maintenance Fee - Application - New Act 3 2007-03-05 $100.00 2007-03-02
Maintenance Fee - Application - New Act 4 2008-03-04 $100.00 2007-10-25
Maintenance Fee - Application - New Act 5 2009-03-04 $200.00 2008-10-27
Request for Examination $800.00 2009-02-11
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
OMNITURE, INC.
Past Owners on Record
ERROR, BRETT M.
ERROR, CHRISTOPHER REID
ZINN, RICHARD
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Abstract 2005-09-02 2 75
Drawings 2005-09-02 4 197
Claims 2005-09-02 9 350
Description 2005-09-02 16 902
Representative Drawing 2005-11-03 1 12
Cover Page 2005-11-04 1 47
Correspondence 2010-02-25 1 26
Assignment 2005-09-02 9 359
PCT 2005-09-02 3 129
Fees 2008-10-27 1 56
Correspondence 2006-02-14 2 74
Prosecution-Amendment 2006-02-14 1 26
PCT 2005-09-03 5 215
Assignment 2005-09-02 10 406
Correspondence 2007-06-28 1 23
Fees 2007-10-25 1 56
Prosecution-Amendment 2009-02-11 1 56
Prosecution-Amendment 2009-06-23 1 25
Assignment 2005-09-02 11 430