Optimized simultaneous use of content experimentation and content caching
AssigneeOptimizely, Inc.
InventorsMichael James Connolly, Jr., Lauren Pappone, Michael Hood, Asa Schachar
Life of this patent
Estimating the term…
Abstract
A method includes receiving, from a computing device, a request for content hosted by a content provider and determining one or more experiment variations for the requested content that the computing device is assigned to based, at least in part, on the request. The method further includes generating, by a processing device, a hash value of the one or more experiment variations and transmitting the hash value to the computing device and to a caching server.
Claims11
A method comprising:
- receiving, from a computing device, a request for content hosted by a content provider device;
- determining, based on the requested content and targeting criteria to determine eligibility, one or more content experiments that the computing device is eligible to receive from a set of content experiments based on a visitor identification (ID) associated with the computing device, wherein the set of content experiments is associated with a plurality of content variations, wherein each of the plurality of content variations comprises a modification of positions within a control version web page of one or more items of content of the control version web page;
- determining, for each of the one or more content experiments, one or more content variations to be cached by a caching server, wherein the one or more content variations are a subset that is less than all of the plurality of content variations;
- generating a code snippet based on the one or more content variations, wherein the code snippet comprises code executable to perform the one or more content variations, and wherein an amount of the code of the code snippet is smaller than an amount of code to perform the plurality of content variations;
- generating, by a processing device, a hash value, the hash value identifying the code snippet and storing the hash value, wherein the hash value is generated by a deterministic hashing function based on the one or more content variations and the visitor ID as inputs to the deterministic hashing function;
- and
- transmitting the hash value to the caching server as a cookie,
- wherein determining the one or more content variations comprises:
- evaluating targeting criteria for each of the set of content experiments for the requested content;
- determining the one or more content experiments for which the computing device is eligible from the set of content experiments;
- and
- randomly assigning, for each of the one or more content experiments for which the computing device is eligible, the one or more content variations to be cached by the caching server.
A system comprising:
- a memory to store a hash value;
- and
- a processing device to:
- receive, from a computing device, a request for content hosted by a content provider device;
- determine, based on the requested content and targeting criteria to determine eligibility, one or more content experiments that the computing device is eligible to receive from a set of content experiments based on a visitor identification (ID) associated with the computing device, wherein the set of content experiments is associated with a plurality of content variations, wherein each of the plurality of content variations comprises a modification of positions within a control version web page of one or more items of content of the control version web page;
- determine, for each of the one or more content experiments, one or more content variations to be cached by a caching server, wherein the one or more content variations are a subset that is less than all of the plurality of content variations;
- generate a code snippet based on the one or more content variations, wherein the code snippet comprises code executable to perform the one or more content variations, and wherein an amount of the code of the code snippet is smaller than an amount of code to perform the plurality of content variations;
- generate a hash value, the hash value identifying the code snippet and storing the hash value, wherein the hash value is generated by a deterministic hashing function based on the one or more content variations and the visitor ID as inputs to the deterministic hashing function;
- and
- transmit the hash value to the caching server as a cookie,
- wherein to determine the one or more content variations, the processing device is further to:
- evaluate targeting criteria for each of the set of content experiments for the requested content determine the one or more content experiments for which the computing device is eligible from the set of content experiments;
- and
- randomly assign, for each of the one or more content experiments for which the computing device is eligible, the one or more content variations to be cached by the caching server.
A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:
- receive, from a computing device, a request for content hosted by a content provider device;
- determine, based on the requested content and targeting criteria to determine eligibility, one or more content experiments that the computing device is eligible to receive from a set of content experiments based on a visitor identification (ID) associated with the computing device, wherein the set of content experiments is associated with a plurality of content variations;
- determine, for each of the one or more content experiments, one or more content variations to be cached by a caching server, wherein the one or more content variations are a subset that is less than all of the plurality of content variations, wherein each of the plurality of content variations comprises a modification of positions within a control version web page of one or more items of content of the control version web page;
- generate a code snippet based on the one or more content variations, wherein the code snippet comprises code executable to perform the one or more content variations, and wherein an amount of the code of the code snippet is smaller than an amount of code to perform the plurality of content variations;
- generate a hash value, the hash value identifying the code snippet, and store the hash value, wherein the hash value is generated by a deterministic hashing function based on the one or more content variations and the visitor ID as inputs to the deterministic hashing function;
- and
- transmit the hash value to the caching server as a cookie,
- wherein to determine the one or more content variations, the processing device is further to:
- evaluate targeting criteria for each of the set of content experiments for the requested content;
- determine the one or more content experiments for which the computing device is eligible from the set of content experiments;
- and
- randomly assign, for each of the one or more content experiments for which the computing device is eligible, the one or more content variations to be cached by the caching server.
Dependencies are inferred from the claim text.