IP Library Granted Patent US 12,455,676
Granted Patent B2
US 12,455,676 · App. 17/745,165 · Granted Oct 28, 2025

Determining variations of single-page applications

Inventors: Whelan Jefferson Boyd (San Francisco, CA); Zachary Leach (San Francisco, CA); James Frazier Fox (San Francisco, CA)
Assignee: Optimizely North America Inc.
G06F3/0483H04L67/146H04L67/60
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 12,455,676
App. No.
17/745,165
Granted
Oct 28, 2025
Kind
B2
Abstract

A method includes: displaying a graphical user interface (GUI) comprising one or more input elements to control a display of a variation of a web page on a client device, the input elements to configure a plurality of conditions and a trigger event defining when to evaluate the plurality of conditions for the web page; responsive to a user interaction, via the GUI, with the input elements, generating a set of instructions corresponding to the web page, the set of instructions comprising one or more of the plurality of conditions and the trigger event and specifying the variation of the web page to display at the client device responsive to the one or more of the plurality of conditions being met when the trigger event occurs; and transmitting the set of instructions to the client device responsive to an access of the web page by the client device.

Claims (43)

1. A computer-implemented method comprising:

generating, by an experiment system, a user interface comprising one or more input elements to control a display of a variation of a web page on a client device that is separate from the experiment system and to configure a plurality of conditions, parameters for the plurality of conditions, and a trigger event defining when to evaluate the plurality of conditions and the parameters for the web page, the web page being loaded with a client-side snippet for activating a smart page to run the variation of the web page,

wherein the one or more input elements of the user interface comprise a first predefined selectable list comprising the plurality of conditions, a second predefined selectable list comprising a variable selection of how many of the plurality of conditions are to be true for the variation of the web page to be displayed, and a third predefined selectable list comprising the parameters for the plurality of conditions, each of the plurality of conditions in the first predefined selectable list is capable of being true independent of any other of the plurality of conditions in the first predefined selectable list also being true;

responsive to a user interaction with the one or more input elements of the user interface, generating, by a computer processor, a set of instructions corresponding to the smart page, the set of instructions comprising one or more of the plurality of conditions, the parameters, and the trigger event and specifying the variation of the web page to display at the client device responsive to the one or more of the plurality of conditions and the parameters being true when the trigger event occurs; and

transmitting the set of instructions to the client device to display the variation of the web page responsive to an access of the web page by the client device and based on an occurrence of the trigger event causing the one or more of the plurality of conditions and the parameters to be evaluated, the plurality of conditions includes a uniform resource locator (URL) of the web page at least partially matching a URL string, the third predefined selectable list of parameters comprising a does match URL parameter in a dropdown element and a does not match URL parameter in the dropdown element, the dropdown element allowing for customization of a URL match condition to a specified URL.

2. The method of claim 1 , wherein the instructions are transmitted to the client device responsive to a request from client-side code instructions executing on the client device, the client-side code instructions transmitted with the web page.

3. The method of claim 1 , wherein the plurality of conditions comprise a URL condition that the URL of the web page at least partially matches the URL string, wherein the URL string is specified by the URL condition.

4. The method of claim 1 , wherein the one or more input elements of the user interface comprise a trigger event input for selection of the trigger event as one or more of the following:

at least a portion of the URL of the web page changing;

a document object model (DOM) of the web page changing;

execution of a function associated with the web page; or

expiration of a time interval.

5. The method of claim 1 , wherein the plurality of conditions comprise conditional logic comprising executable code to be executed by the client device to determine if the one or more of the plurality of conditions is true.

6. The method of claim 5 , wherein the conditional logic describes a state of the web page responsive to which the variation of the web page is to be displayed.

7. A computer system comprising:

a memory; and

a computer processor operatively coupled to the memory, the computer processor to:

generate, by the computer system, a user interface comprising one or more input elements to control a display of a variation of a web page on a client device that is separate from the computer system and to configure a plurality of conditions, parameters for the plurality of conditions, and a trigger event defining when to evaluate the plurality of conditions and the parameters for the web page, the web page being loaded with a client-side snippet for activating a smart page to run the variation of the web page,

wherein the one or more input elements of the user interface comprise a first predefined selectable list comprising the plurality of conditions, a second predefined selectable list comprising a variable selection of how many of the plurality of conditions are to be true for the variation of the web page to be displayed, and a third predefined selectable list comprising the parameters for the plurality of conditions, each of the plurality of conditions in the first predefined selectable list is capable of being true independent of any other of the plurality of conditions in the first predefined selectable list also being true;

responsive to a user interaction with the one or more input elements of the user interface generate a set of instructions corresponding to the smart page, the set of instructions comprising one or more of the plurality of conditions, the parameters, and the trigger event and specifying the variation of the web page to display at the client device responsive to the one or more of the plurality of conditions and the parameters being true when the trigger event occurs; and

transmit the set of instructions to the client device to display the variation of the web page responsive to an access of the web page by the client device and based on an occurrence of the trigger event causing the one or more of the plurality of conditions and the parameters to be evaluated, the plurality of conditions includes a uniform resource locator (URL) of the web page at least partially matching a URL string, the third predefined selectable list of parameters comprising a does match URL parameter in a dropdown element and a does not match URL parameter in the dropdown element, the dropdown element allowing for customization of a URL match condition to a specified URL.

8. The computer system of claim 7 , wherein the instructions are transmitted to the client device responsive to a request from client-side code instructions executing on the client device, the client-side code instructions transmitted with the web page.

9. The computer system of claim 7 , wherein the plurality of conditions comprise a URL condition that the URL of the web page at least partially matches the URL string, wherein the URL string is specified by the URL condition.

10. The computer system of claim 7 , wherein the one or more input elements of the user interface comprise trigger event input for selection of the trigger event as one or more of the following:

at least a portion of the URL of the web page changing;

a document object model (DOM) of the web page changing;

execution of a function associated with the web page; or

expiration of a time interval.

11. The computer system of claim 7 , wherein the plurality of conditions comprise conditional logic comprising executable code to be executed by the client device to determine if the one or more of the plurality of conditions is true.

12. The computer system of claim 11 , wherein the conditional logic describes a state of the web page responsive to which the variation of the web page is to be displayed.

13. A non-transitory computer-readable medium having instructions stored thereon which, when executed by a computer processor, cause the computer processor to:

generate, by an experiment system, a user interface comprising one or more input elements to control a display of a variation of a web page on a client device that is separate from the experiment system and to configure a plurality of conditions, parameters for the plurality of conditions, and a trigger event defining when to evaluate the plurality of conditions and the parameters for the web page, the web page being loaded with a client-side snippet for activating a smart page to run the variation of the web page,

wherein the one or more input elements of the user interface comprise a first predefined selectable list comprising the plurality of conditions, a second predefined selectable list comprising a variable selection of how many of the plurality of conditions are to be true for the variation of the web page to be displayed, and a third predefined selectable list comprising the parameters for the plurality of conditions, each of the plurality of conditions in the first predefined selectable list is capable of being true independent of any other of the plurality of conditions in the first predefined selectable list also being true;

responsive to a user interaction with the one or more input elements of the user interface, generate a set of instructions corresponding to the smart page, the set of instructions comprising one or more of the plurality of conditions, the parameters, and the trigger event and specifying the variation of the web page to display at the client device responsive to the one or more of the plurality of conditions and the parameters being true when the trigger event occurs; and

transmit the set of instructions to the client device to display the variation of the web page responsive to an access of the web page by the client device and based on an occurrence of the trigger event causing the one or more of the plurality of conditions and the parameters to be evaluated, the plurality of conditions includes a uniform resource locator (URL) of the web page at least partially matching a URL string, the third predefined selectable list of parameters comprising a does match URL parameter in a dropdown element and a does not match URL parameter in the dropdown element, the dropdown element allowing for customization of a URL match condition to a specified URL.

14. The non-transitory computer-readable medium of claim 13 , wherein the instructions are transmitted to the client device responsive to a request from client-side code instructions executing on the client device, the client-side code instructions transmitted with the web page.

15. The non-transitory computer-readable medium of claim 13 , wherein the plurality of conditions comprise a URL condition that the URL of the web page at least partially matches the URL string, wherein the URL string is specified by the URL condition.

16. The non-transitory computer-readable medium of claim 13 , wherein the plurality of conditions comprise conditional logic comprising executable code to be executed by the client device to determine if the one or more of the plurality of conditions is true.

17. The non-transitory computer-readable medium of claim 13 , wherein the one or more input elements of the user interface comprise trigger event input for selection of the trigger event as one or more of the following:

at least a portion of the URL of the web page changing;

a document object model (DOM) of the web page changing;

execution of a function associated with the web page; or

expiration of a time interval.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2023
From: BOYD, WHELAN JEFFERSON; LEACH, ZACHARY; FOX, JAMES FRAZIER
To: OPTIMIZELY, INC.
Reel/Frame 063748/0512 →
Continuity (3)
Continuation 16261402 · Jan 29, 2019
Provisional Application 62641037 · Mar 9, 2018
Related Publication 20220276753A1 · Sep 1, 2022
References Cited (32)
US 7231606B2 · Miller et al. · 2007 [cited by applicant]
US 7844894B2 · Khopkar et al. · 2010 [cited by applicant]
US 7895293B1 · Vasilik · 2011 [cited by applicant]
US 8543900B1 · Kent · 2013 [cited by applicant]
US 8689117B1 · Vasilik · 2014 [cited by examiner]
US 8839093B1 · Siroker et al. · 2014 [cited by applicant]
US 9400774B1 · Kim et al. · 2016 [cited by applicant]
US 9842092B1 · Kim · 2017 [cited by examiner]
US 10725888B2 · Ditullio et al. · 2020 [cited by applicant]
US 11570230B1 · Shaw · 2023 [cited by examiner]
US 20020091736A1 · Wall · 2002 [cited by examiner]
US 20040044603A1 · Gordon-Ervin · 2004 [cited by examiner]
US 20040122943A1 · Error et al. · 2004 [cited by applicant]
US 20050120024A1 · Tharpe, Jr. · 2005 [cited by examiner]
US 20060190380A1 · Force · 2006 [cited by examiner]
US 20090282434A1 · Yasuho et al. · 2009 [cited by applicant]
US 20110082755A1 · Itzhak · 2011 [cited by examiner]
US 20120265824A1 · Lawbaugh · 2012 [cited by applicant]
US 20130290480A1 · Manion · 2013 [cited by examiner]
US 20150012473A1 · Christensen · 2015 [cited by examiner]
US 20150186521A1 · Yavilevich · 2015 [cited by applicant]
US 20160092914A1 · Wiener · 2016 [cited by examiner]
US 20160253311A1 · Xu et al. · 2016 [cited by applicant]
US 20160267509A1 · Grosso · 2016 [cited by applicant]
US 20170046110A1 · He et al. · 2017 [cited by applicant]
US 20170132123A1 · Ditullio et al. · 2017 [cited by applicant]
US 20170168924A1 · Dereszynski et al. · 2017 [cited by applicant]
US 20170316432A1 · Xu et al. · 2017 [cited by applicant]
US 20170346758A1 · Dimitropoulos · 2017 [cited by examiner]
US 20180205782A1 · Wei · 2018 [cited by examiner]
MDN Web Docs, “Mutation. Observe(),” 2019, 4 pages, [Online][Retrieved Feb. 1, 2019], Retrieved from the internet <URL: https://developer.mozilla.org/en-US/docs/Web/MutationObserver/observe>. [cited by applicant]
Stepanov,V.,“Observe changes in DOM using MutationObserver,” Mar. 28, 2018, 3 pages, [Online][Retrieved Feb. 1, 2019], Retrieved from the internet, URL: https://codeburst.io/observe-changes-in-dom-using-mutationobserver… [cited by applicant]