IP Library Granted Patent US 10,902,196
Granted Patent B1
US 10,902,196 · App. 14/460,142 · Granted Jan 26, 2021

Systems and methods for website optimization

Inventors: Dan Siroker (San Francisco, CA); Pete Koomen (San Francisco, CA); Elliot Kim (San Francisco, CA); Eric Siroker (San Francisco, CA)
Assignee: Optimizely, Inc.
G06F40/197G06F40/14
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 10,902,196
App. No.
14/460,142
Granted
Jan 26, 2021
Kind
B1
Abstract

Webpages are optimizing through the use of experiments that compare the responses of viewers that are either presented with the original webpage or a variant thereof. One or more variants are first defined through the use of a browser-based editor application that initially examines the webpage for a snippet of code. The snippet can be added to the webpage, if missing, and the webpage returned to the editor application. Changes made to the webpage to define a variant are saved in variation code. When the webpage is later requested by multiple viewers, in each instance the viewer receives the webpage with the snippet, the snippet instructs the browser to download a file, and the instructions of the file determine whether the viewer will see the variant or the original webpage. Tracking viewer responses to the webpage and the variant allow a statistical basis for comparison to be developed.

Claims (50)

1. A computer-implemented method of determining interactions with a web page, the method comprising:

transmitting, by a web browser of a client device, a request for a web page to a computing system that is distinct from the client device;

receiving, by the web browser, an experiment file from the computing system, the experiment file associated with a plurality of web pages including the requested web page and including code selecting either an original version of the requested web page or a variant of the requested web page for display on the client device, wherein the code specifies one or more modifications to the original version of the requested web page for the variant of the requested web page;

executing, by at least one processor associated with the web browser, the code included in the experiment file that selects either the original version of the requested web page or the variant of the requested web page for display on the client device, wherein selection of the variant of the requested web page causes the client device to apply the one or more modifications specified by the code to the original version of the requested web page; and

displaying, by the web browser, a selected-version of the requested web page based on the executed code included in the experiment file.

2. The computer-implemented method of claim 1 , wherein the one or more modifications are applied to elements of the original version of the requested web page.

3. The computer-implemented method of claim 1 , wherein executing the code included in the experiment file comprises:

randomly selecting, by the web browser, the version of the requested web page for display on the web browser from the original version of the requested web page and the variant of the requested web page.

4. The computer-implemented method of claim 3 , wherein the original version of the requested web page is selected more frequently than the variant of the requested web page.

5. The computer-implemented method of claim 3 , wherein the variant of the requested web page is selected more frequently than the original version of the requested web page.

6. The computer-implemented method of claim 1 , wherein displaying the selected version of the requested web page comprises:

responsive to the selection of the variant of the requested web page:

identifying variation code specifying modifications to one or more elements of the original version of the requested web page;

responsive to determining that the one or more elements are loaded in the web browser, applying the modifications specified by the variation code to the one or more elements; and

responsive to the selection of the original version of the requested web page, displaying the original version of the requested web page on the web browser.

7. The computer-implemented method of claim 1 , wherein the computing system comprises a first computing system and a second computing system that is distinct from the first computing system, wherein the request for the web page is transmitted to the first computing system and the experiment file is received from the second computing system.

8. The computer implemented method of claim 1 , further comprising:

receiving, by the web browser, a modified version of the web page from the computing system in response to transmitting the request for the web page, the modified version of the web page including code specifying instructions to request the experiment file from the computing system; and

requesting, by the web browser, the experiment file from the computing system responsive to executing the code included in the modified version of the web page.

9. The computer implemented method of claim 1 , further comprising:

tracking, by the web browser, interactions with the displayed version of the requested web page; and

transmitting the tracked interactions to the computing system, wherein the computing system calculates statistics based on the tracked interactions indicating performance of the original version of the requested web page with respect to the variant of the requested web page.

10. A computer-implemented method of determining interactions with a web page, the method comprising:

receiving, by a computer system, requests for an experiment file associated with a requested web page from a plurality of client devices;

transmitting, by the computer system, the experiment file to the plurality of client devices that requested the experiment file, the experiment file associated with a plurality of web pages including the requested web page received by the plurality of client devices and including code that selects either an original version of the requested web page or a variant of the requested web page on the plurality of the client devices, wherein selection of the variant of the requested web page causes the plurality of client devices to apply one or more modifications to the original version of the requested webpage to generate the variant of the requested web page, wherein each of the plurality of client devices executes the code included in the experiment file that displays either the original version of the requested web page or the variant of the requested web page on the plurality of the client devices; and

receiving, by the computer system, tracking results from the plurality of client devices, the tracking results from each of the plurality of client devices describing interactions with either the original version of the requested web page or the variant of the requested web page displayed on.

11. The computer-implemented method of claim 10 , wherein determining performance comprises:

calculating statistics based on the tracked results;

evaluating performance of the original version of the requested web page with respect to the variant of the requested web page using the statistics; and

determining revisions to incorporate into the original version of the requested web page based on the evaluation.

12. The computer implemented method of claim 10 , wherein receiving the requests for the experiment file associated with the requested web page from the plurality of client devices is responsive to the plurality of client devices executing code included in a modified version of the requested web page that instructs the plurality of client devices to request the experiment file from the computer system.

13. A computer program product comprising a non-transitory computer readable storage medium storing executable code to determine interactions with a web page, the code when executed by at least one processor causes the at least one processor to perform:

transmitting, by a web browser of a client device, a request for a web page to a computing system that is distinct from the client device;

receiving, by the web browser, an experiment file from the computing system, the experiment file associated with a plurality of web pages including the requested web page and including code selecting either an original version of the requested web page or a variant of the requested web page for display on the client device, wherein the code specifies one or more modifications to the original version of the requested web page for the variant of the requested web page;

executing, by the at least one processor with the web browser, the code included in the experiment file that selects either the original version of the requested web page or the variant of the requested web page for display on the client device, wherein selection of the variant of the requested web page causes the client device to apply the one or more modifications specified by the code to the original version of the requested web page; and

displaying, by the web browser, a selected version of the requested web page based on the executed code included in the experiment file.

14. The computer program product of claim 13 , wherein the variant of the requested web page includes one or more modifications to elements of the original version of the requested web page.

15. The computer program product of claim 13 , wherein executing the code comprises:

randomly selecting, by the web browser, the version of the requested web page for display on the web browser from the original version of the requested web page and the variant of the requested web page.

16. The computer program product of claim 15 , wherein the original version of the requested web page is selected more frequently than the variant of the requested web page.

17. The computer program product of claim 15 , wherein the variant of the requested web page is selected more frequently than the original version of the requested web page.

18. The computer program product of claim 13 , wherein displaying the selected version of the requested web page comprises:

responsive to the selection of the variant of the requested web page:

identifying variation code specifying modifications to one or more elements of the original version of the requested web page; and

responsive to determining that the one or more elements are loaded in the web browser, applying the modifications specified by the variation code to the one or more elements; and

responsive to the selection of the original version of the requested web page, displaying the original version of the requested web page on the web browser.

19. The computer program product of claim 13 , wherein the computing system comprises a first computing system and a second computing system that is distinct from the first computing system, wherein the request for the web page is transmitted to the first computing system and the experiment file is received from the second computing system.

20. The computer program product of claim 13 , wherein executing the code comprises:

receiving, by the web browser, a modified version of the web page from the computing system in response to transmitting the request for the web page, the modified version of the web page including code specifying instructions to request the experiment file from the computing system; and

requesting, by the web browser, the experiment file from the computing system responsive to executing the code included in the modified version of the web page.

Assignments (10)
TERMINATION AND RELEASE OF SECURITY INTEREST Recorded Oct 31, 2024
From: GOLUB CAPITAL MARKETS LLC
To: OPTIMIZELY NORTH AMERICA INC.
Reel/Frame 069285/0225 →
SECURITY INTEREST Recorded Oct 31, 2024
From: OPTIMIZELY NORTH AMERICA, INC.
To: GOLUB CAPITAL MARKETS LLC
Reel/Frame 069089/0588 →
MERGER Recorded Jul 3, 2023
From: OPTIMIZELY OPERATIONS HOLDCO INC.
To: OPTIMIZELY NORTH AMERICA INC.
Reel/Frame 064139/0628 →
MERGER Recorded Jun 20, 2023
From: OPTIMIZELY OPERATIONS INC.
To: OPTIMIZELY OPERATIONS HOLDCO INC.
Reel/Frame 063995/0874 →
CHANGE OF NAME Recorded Jun 8, 2023
From: OPTIMIZELY, INC.
To: OPTIMIZELY OPERATIONS INC.
Reel/Frame 063939/0656 →
CORRECTIVE ASSIGNMENT TO CORRECT THE UNDERLYING DOCUMENT PREVIOUSLY RECORDED ON REEL 056588 FRAME 0075. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL. Recorded Jul 22, 2021
From: HERCULES CAPITAL, INC., AS COLLATERAL AGENT
To: OPTIMIZELY, INC.
Reel/Frame 056958/0064 →
PATENT SECURITY AGREEMENT Recorded Jul 6, 2021
From: OPTIMIZELY, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 056768/0917 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Jun 14, 2021
From: HERCULES CAPITAL, INC., AS COLLATERAL AGENT
To: OPTIMIZELY, INC.
Reel/Frame 056588/0075 →
SECURITY INTEREST Recorded Oct 19, 2020
From: OPTIMIZELY, INC.
To: HERCULES CAPITAL, INC., AS COLLATERAL AGENT
Reel/Frame 054093/0019 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2015
From: SIROKER, DAN; KOOMEN, PETE; KIM, ELLIOT; SIROKER, ERIC
To: OPTIMIZELY, INC.
Reel/Frame 034928/0534 →