US2015163116A1PendingUtilityA1

Client-side click tracking

Assignee: DING ZHONGLIPriority: Jul 29, 2011Filed: Jul 29, 2011Published: Jun 11, 2015
Est. expiryJul 29, 2031(~5 yrs left)· nominal 20-yr term from priority
H04L 43/0876H04L 43/10G06F 16/958H04L 67/535
43
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for performing client-side click tracking. In one aspect, a method includes receiving, by a client, a resource from one or more servers. The resource includes (i) a link, (ii) click tracking code, and (iii) local storage monitoring code. The method includes invoking, by the client, the click tracking code and the local storage monitoring code, detecting, by the invoked click tracking code, a selection of the link, and generating, by the invoked click tracking code, a representation of the selection of the link. The method includes storing, by the invoked click tracking code, the representation of the selection of the link in a local storage on the client, determining, by the invoked local storage monitoring code, to communicate the representation of the selection of the link; and communicating, by the invoked local storage monitoring code, the representation of the selection of the link to the one or more servers.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method comprising:
 receiving, by a client, a resource from one or more servers, wherein the resource includes (i) a link, (ii) click tracking code for detecting a selection of the link, and (iii) local storage monitoring code;   invoking, by the client, the click tracking code and the local storage monitoring code;   detecting, by the invoked click tracking code, the selection of the link;   generating, by the invoked click tracking code, a representation of the selection of the link;   storing, by the invoked click tracking code, the representation of the selection of the link in a local storage on the client;   determining, by the invoked local storage monitoring code, to communicate the representation of the selection of the link; and   communicating, by the invoked local storage monitoring code, the representation of the selection of the link to the one or more servers.   
     
     
         2 . The method of  claim 1 , wherein the link is decorated with a client-side click tracking attribute. 
     
     
         3 . The method of  claim 2 , wherein the client-side click tracking attribute comprises a click tracking Uniform Resource Locator string. 
     
     
         4 . The method of  claim 2 , wherein detecting the selection of the link comprises:
 registering, by the invoked click tracking code, an event listener to listen for a selection of a link that is decorated with the client-side click tracking attribute.   
     
     
         5 . The method of  claim 4 , wherein the event listener is a capture-phase event listener. 
     
     
         6 . The method of  claim 1 , wherein the link is decorated with a synchronization flag. 
     
     
         7 . The method of  claim 6 , wherein:
 determining to communicate the representation of the selection of the link comprises determining that the synchronization flag has a particular value, and   communicating the representation comprises communicating the representation synchronous to storing the representation of the selection of the link in the local storage, in response to determining that the synchronization flag has a particular value.   
     
     
         8 . The method of  claim 7 , wherein communicating the representation synchronous to storing the representation of the link in the local storage comprises communicating the representation without waiting a predetermined period of time after the representation of the link has been stored in the local storage. 
     
     
         9 . The method of  claim 6 , wherein:
 determining to communicate the representation of the selection of the link comprises determining that the synchronization flag has a particular value, and   communicating the representation comprises:
 determining that a predetermined time interval has elapsed; and 
 communicating the representation in response to (i) determining that the synchronization flag has a particular value, and (ii) determining that the predetermined time interval has elapsed. 
   
     
     
         10 . The method of  claim 1 , wherein the link comprises a link to a phone dialer. 
     
     
         11 . The method of  claim 1 , wherein the link comprises a link to an intra-page link. 
     
     
         12 . The method of  claim 1 , wherein the link does not include a redirect attribute. 
     
     
         13 . The method of  claim 1 , comprising:
 receiving, by the invoked local storage monitoring code, an acknowledgement that the representation of the selection of the link has been received by the one or more servers, then clearing the local storage.   
     
     
         14 . The method of  claim 1 , wherein the local storage comprises an HTML5 local storage. 
     
     
         15 . The method of  claim 1 , wherein the representation identifies a Uniform Resource Identifier (URI) associated with the link, and specifies a time that the link was selected. 
     
     
         16 . The method of  claim 1 , wherein communicating the representation comprises:
 building a ping URL that includes the representation, and   transmitting the ping URL to the one or more servers.   
     
     
         17 . A system comprising:
 one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
 receiving, by a client, a resource from one or more servers, wherein the resource includes (i) a link, (ii) click tracking code for detecting a selection of the link, and (iii) local storage monitoring code; 
 invoking, by the client, the click tracking code and the local storage monitoring code; 
 detecting, by the invoked click tracking code, the selection of the link; 
 generating, by the invoked click tracking code, a representation of the selection of the link; 
 storing, by the invoked click tracking code, the representation of the selection of the link in a local storage on the client; 
 determining, by the invoked local storage monitoring code, to communicate the representation of the selection of the link; and 
 communicating, by the invoked local storage monitoring code, the representation of the selection of the link to the one or more servers. 
   
     
     
         18 . The system of  claim 17 , wherein the link is decorated with a client-side click tracking attribute. 
     
     
         19 . The system of  claim 18 , wherein the client-side click tracking attribute comprises a click tracking Uniform Resource Locator string. 
     
     
         20 . The system of  claim 18 , wherein detecting the selection of the link comprises:
 registering, by the invoked click tracking code, an event listener to listen for a selection of a link that is decorated with the client-side click tracking attribute.   
     
     
         21 . The system of  claim 20 , wherein the event listener is a capture-phase event listener. 
     
     
         22 . The system of  claim 17 , wherein the link is decorated with a synchronization flag. 
     
     
         23 . The system of  claim 22 , wherein:
 determining to communicate the representation of the selection of the link comprises determining that the synchronization flag has a particular value, and   communicating the representation comprises communicating the representation synchronous to storing the representation of the selection of the link in the local storage, in response to determining that the synchronization flag has a particular value.   
     
     
         24 . The system of  claim 23 , wherein communicating the representation synchronous to storing the representation of the link in the local storage comprises communicating the representation without waiting a predetermined period of time after the representation of the link has been stored in the local storage. 
     
     
         25 . The system of  claim 22 , wherein:
 determining to communicate the representation of the selection of the link comprises determining that the synchronization flag has a particular value, and   communicating the representation comprises:
 determining that a predetermined time interval has elapsed; and 
   communicating the representation in response to (i) determining that the synchronization flag has a particular value, and (ii) determining that the predetermined time interval has elapsed.   
     
     
         26 . The system of  claim 17 , wherein the link comprises a link to a phone dialer. 
     
     
         27 . The system of  claim 17 , wherein the link comprises a link to an intra-page link. 
     
     
         28 . The system of  claim 17 , wherein the link does not include a redirect attribute. 
     
     
         29 . The system of  claim 17 , wherein the operations comprise:
 receiving, by the invoked local storage monitoring code, an acknowledgement that the representation of the selection of the link has been received by the one or more servers, then clearing the local storage.   
     
     
         30 . The system of  claim 17 , wherein the local storage comprises an HTML5 local storage. 
     
     
         31 . The system of  claim 17 , wherein the representation identifies a Uniform Resource Identifier (URI) associated with the link, and specifies a time that the link was selected. 
     
     
         32 . The system of  claim 17 , wherein communicating the representation comprises:
 building a ping URL that includes the representation, and
 transmitting the ping URL to the one or more servers. 
   
     
     
         33 . A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
 receiving, by a client, a resource from one or more servers, wherein the resource includes (i) a link, (ii) click tracking code for detecting a selection of the link, and (iii) local storage monitoring code;   invoking, by the client, the click tracking code and the local storage monitoring code;   detecting, by the invoked click tracking code, the selection of the link;   generating, by the invoked click tracking code, a representation of the selection of the link;   storing, by the invoked click tracking code, the representation of the selection of the link in a local storage on the client;   determining, by the invoked local storage monitoring code, to communicate the representation of the selection of the link; and   communicating, by the invoked local storage monitoring code, the representation of the selection of the link to the one or more servers.   
     
     
         34 . The medium of  claim 33 , wherein the link is decorated with a client-side click tracking attribute. 
     
     
         35 . The medium of  claim 34 , wherein the client-side click tracking attribute comprises a click tracking Uniform Resource Locator string. 
     
     
         36 . The medium of  claim 34 , wherein detecting the selection of the link comprises:
 registering, by the invoked click tracking code, an event listener to listen for a selection of a link that is decorated with the client-side click tracking attribute.   
     
     
         37 . The medium of  claim 36 , wherein the event listener is a capture-phase event listener. 
     
     
         38 . The medium of  claim 33 , wherein the link is decorated with a synchronization flag. 
     
     
         39 . The medium of  claim 38 , wherein:
 determining to communicate the representation of the selection of the link comprises determining that the synchronization flag has a particular value, and   communicating the representation comprises communicating the representation synchronous to storing the representation of the selection of the link in the local storage, in response to determining that the synchronization flag has a particular value.   
     
     
         40 . The medium of  claim 39 , wherein communicating the representation synchronous to storing the representation of the link in the local storage comprises communicating the representation without waiting a predetermined period of time after the representation of the link has been stored in the local storage. 
     
     
         41 . The medium of  claim 38 , wherein:
 determining to communicate the representation of the selection of the link comprises determining that the synchronization flag has a particular value, and   communicating the representation comprises:
 determining that a predetermined time interval has elapsed; and 
   communicating the representation in response to (i) determining that the synchronization flag has a particular value, and (ii) determining that the predetermined time interval has elapsed.   
     
     
         42 . The medium of  claim 33 , wherein the link comprises a link to a phone dialer. 
     
     
         43 . The medium of  claim 33 , wherein the link comprises a link to an intra-page link. 
     
     
         44 . The medium of  claim 33 , wherein the link does not include a redirect attribute. 
     
     
         45 . The medium of  claim 33 , wherein the operations comprise:
 receiving, by the invoked local storage monitoring code, an acknowledgement that the representation of the selection of the link has been received by the one or more servers, then clearing the local storage.   
     
     
         46 . The medium of  claim 33 , wherein the local storage comprises an HTML5 local storage. 
     
     
         47 . The medium of  claim 33 , wherein the representation identifies a Uniform Resource Identifier (URI) associated with the link, and specifies a time that the link was selected. 
     
     
         48 . The medium of  claim 33 , wherein communicating the representation comprises:
 building a ping URL that includes the representation, and   transmitting the ping URL to the one or more servers.

Join the waitlist — get patent alerts

Track US2015163116A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.