IP Library Granted Patent US 8,352,917
Granted Patent B2
US 8,352,917 · App. 11/426,556 · Granted Jan 8, 2013

Web-beacon plug-ins and their certification

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,352,917
App. No.
11/426,556
Granted
Jan 8, 2013
Kind
B2
Abstract

Tools and techniques are provided to allow partners of analytics providers and others who use web-beacons to submit web-beacon plug-ins for scrutiny, and for the plug-in to either be refused or else to be certified for use in a core JavaScript file or similar component. Analytics providers and others may also write web-beacon plug-ins. Certified plug-ins are executed in response to page loads, visitor clicks, and other visitor and programmatic actions at a website that has been tagged by the analytics provider's web-beacon, without requiring re-tagging of the website with a separate web-beacon for the partner. This allows the partner to obtain analytics data by piggybacking on the analytics provider, without re-tagging, and without compromising the availability and accuracy of the analytics data already being gathered. To be certified, web-beacon plug-ins must satisfy specific criteria as to their size, behavior, namespace, and the like.

Claims (63)

1. A computer-readable storage medium storing program instructions, wherein the program instructions, when executed by a computer, implement:

storing, at an analytics server, core analytics code configured to be invoked by execution of web-beacon code embedded within a web-page;

obtaining a web-beacon plug-in comprising web-beacon plug-in code configured to be executed in conjunction with the core analytics code, wherein the web-beacon plug-in code is invoked in response to at least one of the following events: page event, visitor action event, or programmatic event, and wherein the web-beacon plug-in code is configured to:

execute in conjunction with the core analytics code such that web-beacon plug-in code receives control from the core analytics code; and

cause transmission of analytics data to be provided to a partner server;

scrutinizing the web-beacon plug-in to determine whether the web-beacon plug-in complies with one or more predetermined certification criteria for interfacing with a core component of a web-beacon-based system;

storing, at the analytics server, the web-beacon plug-in code; and

enabling, upon determining that the web-beacon plug-in complies with the one or more predetermined certification criteria for interfacing with the core component of the web-beacon-based system, execution of the web-beacon plug-in code, such that, at a computer remote from the analytics server, upon execution of a web page comprising the web-beacon code, the web-beacon code invokes execution of the core analytics code, and execution of the core analytics code passes control to the web-beacon plug-in code such that the web-beacon plug-in code executes in conjunction with the core analytics code and causes transmission of analytics data to be provided to a partner server.

2. The computer-readable storage medium of claim 1 , wherein at least one of the one or more predetermined certification criteria comprises avoiding web-beacon plug-in changes to values of variables of the core component.

3. The computer-readable storage medium of claim 1 , wherein at least one of the one or more predetermined certification criteria comprises limiting web-beacon plug-in function names and web-beacon plug-in variable names to a specific namespace.

4. The computer-readable storage medium of claim 1 , wherein at least one of the one or more predetermined certification criteria comprises avoiding web-beacon plug-in execution errors.

5. The computer-readable storage medium of claim 1 , wherein at least one of the one or more predetermined certification criteria comprises avoiding web-beacon plug-in writes of HTML code to a web page after the web page has been loaded into a display memory of a user's device.

6. The computer-readable storage medium of claim 1 , wherein at least one of the one or more predetermined certification criteria comprises a size constraint of a combination of the web-beacon plug-in with the core component.

7. The computer-readable storage medium of claim 1 , wherein at least one of the one or more predetermined certification criteria comprises web-beacon plug-in compatibility with at least one of the following: a specified JavaScript level, a specified set of web browsers.

8. The computer-readable storage medium of claim 1 , wherein the program instructions, when executed by the computer, further implement:

upon determining that the web-beacon plug-in does not comply with the predetermined certification criteria for interfacing with the core analytics component of the web-beacon-based system, refusing to certify the web-beacon plug-in such that the web-beacon plug-in code is not permitted to execute in conjunction with the core analytics code.

9. The computer-readable storage medium of claim 8 , wherein the permitted execution has an execution order in which analytics provider server calls precede partner server calls.

10. The computer-readable storage medium of claim 8 , wherein the program-instructions, when executed by the computer, further implement: tracking at least one of: the number of executions of the web-beacon plug-in in conjunction with execution of the core analytics component in the web-beacon-based analytics system, the number of web pages from which execution of the web-beacon plug-in was invoked.

11. The computer-readable storage medium of claim 8 , wherein the permitted execution comprises at least one of:

making a web-beacon request to a server of the partner;

tracking website user behavior based on a query string;

tracking website user behavior based on interaction with a DOM object;

tracking website user behavior based on viewing of specific website content;

using an event listener;

writing data to a cookie;

reading data from a cookie;

placing an advertisement in a web page for display to a website user;

writing HTML to a web page;

submitting text to be displayed in a web page;

submitting an image to be displayed in a web page;

returning a value;

returning a base URL value;

returning an array of name-value pairs.

12. A method for using web-beacons, the method comprising:

sending, via electronic transmission, a web-beacon plug-in to an entity for scrutiny, the web-beacon plug-in comprising web-beacon plug-in code configured to be executed in conjunction with core analytics code of a core component, wherein the core analytics code resides on an analytics server and is configured to be invoked by execution of web-beacon code embedded within a web-page, wherein the web-beacon code is invoked in response to at least one of the following events: page event, visitor action event, or programmatic event, and wherein the web-beacon plug-in code is configured to:

execute in conjunction with the core analytics code such that web-beacon plug-in code receives control from the core analytics code; and

cause transmission of analytics data to be provided to a partner server; and

storing, at the analytics server, the web-beacon plug-in code;

receiving, from the entity scrutinizing the web beacon plug-in, an indication of whether the web-beacon plug-in complies with one or more predetermined certification criteria for interfacing with the core component of a web-beacon-based system;

upon receiving an indication that the web-beacon plug-in does not comply with the one or more predetermined certification criteria for interfacing with the core component of the web-beacon-based system, modifying the previously scrutinized web-beacon plug-in to bring it into compliance with at least one of the one or more certification criteria that it did not previously comply with; and

sending, via electronic transmission, the modified web-beacon plug-in to the entity for additional scrutiny,

wherein if the additional scrutiny results in determining that the web-beacon plug-in complies with the one or more predetermined certification criteria for interfacing with the core component of the web-beacon-based system, execution of the modified web-beacon code is enabled, such that upon execution, at a computer remote from the analytics server, of a web page comprising the web-beacon plug in code, the web-beacon code invokes execution of the core analytics code, and execution of the core analytics code passes control to the modified web-beacon plug-in code such that the modified web-beacon plug-in code executes in conjunction with the core analytics code and causes transmission of analytics data to be provided to a partner server.

13. The method of claim 12 , further comprising receiving an accounting indicating at least one of: the number of executions of the web-beacon plug-in in conjunction with execution of the core analytics component in the web-beacon-based system, the number of web pages from which execution of the web-beacon plug-in was invoked.

14. The method of claim 12 , wherein modifying the previously scrutinized web-beacon plug-in comprises modifying the web-beacon plug-in to comply with at least one of the following criteria:

the web-beacon plug-in shall avoid changing the value of any variable that is defined outside the web-beacon plug-in;

the web-beacon plug-in shall limit its own function names and variable names to an assigned namespace;

the web-beacon plug-in shall avoid writing any HTML code to a web page after the web page has been loaded into a display memory of a user's device, if that HTML code can change what is displayed to the user;

the web-beacon plug-in shall meet a specified size constraint.

15. A method for use in certifying web-beacons, the method comprising:

storing, at an analytics server, core analytics code configured to be invoked by execution of web-beacon code embedded within a web-page;

obtaining a web-beacon plug-in comprising web-beacon plug-in code configured to be executed in conjunction with the core analytics code, wherein the web-beacon plug-in code is invoked in response to at least one of the following events: page event, visitor action event, or programmatic event, and wherein the web-beacon plug-in code is configured to:

execute in conjunction with the core analytics code such that web-beacon plug-in code receives control from the core analytics code; and

cause transmission of analytics data to be provided to a partner server;

scrutinizing the web-beacon plug-in to determine whether the web-beacon plug-in complies with one or more predetermined certification criteria for interfacing with a core component of a web-beacon-based system;

storing, at the analytics server, the web-beacon plug-in code; and

enabling, upon determining that the web-beacon plug-in complies with the one or more predetermined certification criteria for interfacing with the core component of the web-beacon-based system, execution of the web-beacon plug-in code, such that upon execution, at a computer remote from the analytics server, of a web page comprising the web-beacon code, the web-beacon code invokes execution of the core analytics code, and execution of the core analytics code passes control to the web-beacon plug-in code such that the web-beacon plug-in code executes in conjunction with the core analytics code and causes transmission of analytics data to be provided to a partner server.

16. The method of claim 15 , wherein the web-beacon plug-in code consists essentially of a JavaScript function.

17. The method of claim 15 , wherein at least one variable defined and written by the core analytics code, is read by the web-beacon plug-in code, and is not written by the web-beacon plug-in code.

18. The method of claim 15 , wherein the web-beacon plug-in code comprises a permitted execution means for providing analytics information flow control.

19. The method of claim 15 , wherein execution of the webpage is configured to generate an image request to an analytics server of an analytics provider, and execution of the web-beacon plug-in code is configured to generate a different image request to a server of a partner of the analytics provider.

20. The method of claim 15 , further comprising a co-customer generating unique visitor IDs that are used by the core analytics code and the web-beacon plug-in code.

21. The method of claim 15 , wherein the web-beacon plug-in code is configured to return a base URL and an array of name-value pairs.

22. The method of claim 15 , further comprising storing the web-beacon plug-in code at a content server configured to serve web-pages to a browser of a user computer system.

Assignments (5)
CHANGE OF NAME Recorded Mar 6, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048525/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2009
From: OMNITURE, INC.
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 023538/0077 →
RELEASE OF SECURITY INTEREST Recorded Nov 17, 2009
From: WELLS FARGO FOOTHILL, LLC
To: OMNITURE, INC.
Reel/Frame 023525/0335 →
SECURITY AGREEMENT Recorded Jan 8, 2009
From: OMNITURE, INC.
To: WELLS FARGO FOOTHILL, LLC, AS AGENT
Reel/Frame 022078/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2006
From: WONG, CATHERINE; ERROR, BRETT MICHAEL
To: OMNITURE, INC.
Reel/Frame 017845/0341 →