IP Library Granted Patent US 11,321,418
Granted Patent B2
US 11,321,418 · App. 16/660,537 · Granted May 3, 2022

Software development kit driven features and events

Inventors: Ali Abbas Rizvi (San Francisco, CA); Michael Carlyle Davis (San Jose, CA); Travis Beck (San Francisco, CA)
Assignee: Optimizely, Inc.
G06F16/958G06F9/4498G06F9/541G06F16/9574
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 11,321,418
App. No.
16/660,537
Granted
May 3, 2022
Kind
B2
Abstract

A method includes providing, to a third-party content provider, code identifying a feature associated with digital content of the third-party content provider, wherein the identification comprises a feature variable placeholder associated with the feature. The method further includes receiving, by an experimentation platform, an indication of a first event type associated with the digital content, wherein the first event type identifies a first trackable action associated with the feature. The method further includes determining, by a processing device of the experimentation platform, that the first event type does not exist in a configuration associated with the feature; The method further includes, in response to the determining, generating the first event type in the configuration, generating and providing a graphical representation of the first event type for display in a user interface of the experimentation platform, and tracking the first event type on the experimentation platform.

Claims (67)

1. A method comprising:

providing, to a content provider, code comprising an identification of a feature associated with a plurality of variations of digital content of the content provider, wherein the identification comprises a feature variable placeholder associated with the feature;

receiving, by an experimentation platform, an indication of a first event type associated with the digital content, wherein the first event type identifies a first trackable action performed by a user with respect to one of the plurality of variations of the digital content that is associated with the feature;

determining, by a processing device of the experimentation platform, that the first event type does not exist in a configuration associated with the feature; and

in response to the determining:

adding the first event type to the configuration;

generating and providing a graphical representation of the first event type for display in a user interface of the experimentation platform; and

logging, on the experimentation platform instances in which the first event type is received with respect to the feature of the digital content of the content provider.

2. The method of claim 1 , further comprising:

receiving an indication of a second event type associated with the digital content of the content provider, wherein the second event type identifies a second trackable action associated with the feature;

determining that the second event type does exist in the configuration associated with the feature; and

in response to the determining that the second event type does exist in the configuration, logging, on the experimentation platform, instances in which the second event type is received with respect to the feature of the digital content of the content provider.

3. The method of claim 1 , wherein the indication of the first event type identifies a name and type of the feature.

4. The method of claim 3 , further comprising:

determining that the feature does not exist in a configuration associated with an experiment comprising the feature; and

in response to the determining that the feature does not exist in the configuration, generating the feature in the configuration based on the name, type, and feature variable placeholder of the feature.

5. The method of claim 4 , wherein determining that the feature does not exist in the configuration comprises determining that the feature does not exist in a cache associated with the configuration.

6. The method of claim 4 , wherein generating the feature in the configuration comprises using a representational state transfer (REST) application program interface (API) to create a request to generate the feature on the experimentation platform.

7. The method of claim 1 , further comprising authenticating the code before receiving the indication of the first event type.

8. The method of claim 1 , further comprising selecting a version of the feature to implement based on the instances in which the first event type is received with respect to the feature of the digital content of the content provider.

9. The method of claim 1 , further comprising:

determining that the experimentation platform is to generate the feature;

determining that a number of features generated exceeds a threshold; and

in response to the determining that the number of features generated exceeds the threshold, preventing the experimentation platform from generating the feature.

10. An apparatus, comprising:

a memory to store a configuration associated with a feature;

a processing device operatively coupled to the memory, the processing device to:

provide, to a content provider, code comprising an identification of the feature associated with a plurality of variations of digital content of the content provider, wherein the identification comprises a feature variable placeholder associated with the feature;

receive, by an experimentation platform, an indication of a first event type associated with the digital content, wherein the first event type identifies a first trackable action performed by a user with respect to one of the plurality of variations of the digital content that is associated with the feature;

determine that the first event type does not exist in the configuration associated with the feature; and

in response to the determination:

add the first event type to the configuration;

generate and provide a graphical representation of the first event type for display in a user interface of the experimentation platform; and

log, on the experimentation platform, instances in which the first event type is received with respect to the feature of the digital content of the content provider.

11. The apparatus of claim 10 , the processing device further to:

receive an indication of a second event type associated with the digital content of the content provider, wherein the second event type identifies a second trackable action associated with the feature;

determine that the second event type does exist in the configuration associated with the feature; and

in response to the determination that the second event type does exist in the configuration, log, on the experimentation platform, instances in which the second event type is received with respect to the feature of the digital content of the content provider.

12. The apparatus of claim 10 , wherein the indication of the first event type identifies a name and type of the feature.

13. The apparatus of claim 12 , the processing device further to:

determine that the feature does not exist in a configuration associated with an experiment comprising the feature; and

in response to the determination that the feature does not exist in the configuration, generate the feature in the configuration based on the name, type, and feature variable placeholder of the feature.

14. The apparatus of claim 13 , wherein to determine that the feature does not exist in the configuration the processing device is to determine that the feature does not exist in a cache associated with the configuration.

15. The apparatus of claim 10 , the processing device further to select a version of the feature to implement based on the instances in which the first event type is received with respect to the feature of the digital content of the content provider.

16. The apparatus of claim 10 , the processing device further to:

determine that the experimentation platform is to generate the feature;

determine that a number of features generated exceeds a threshold; and

in response to the determination that the number of features generated exceeds the threshold, prevent the experimentation platform from generating the feature.

17. A non-transitory computer-readable storage medium storing instructions that, when executed by a processing device, cause the processing device to:

provide, to a content provider, code comprising an identification of a feature associated with a plurality of variations of digital content of the content provider, wherein the identification comprises a feature variable placeholder associated with the feature;

receive, by an experimentation platform, an indication of a first event type associated with the digital content, wherein the first event type identifies a first trackable action performed by a user with respect to one of the plurality of variations of the digital content that is associated with the feature;

determine, by the processing device, that the first event type does not exist in a configuration associated with the feature; and

in response to the determination:

add the first event type to the configuration;

generate and provide a graphical representation of the first event type for display in a user interface of the experimentation platform; and

log, on the experimentation platform, instances in which the first event type is received with respect to the feature of the digital content of the content provider.

18. The non-transitory computer-readable storage medium of claim 17 , the processing device further to:

receive an indication of a second event type associated with the digital content of the content provider, wherein the second event type identifies a second trackable action associated with the feature;

determine that the second event type does exist in the configuration associated with the feature; and

in response to the determination that the second event type does exist in the configuration, log, on the experimentation platform, instances in which the second event type is received with respect to the feature of the digital content of the content provider.

19. The non-transitory computer-readable storage medium of claim 17 , the processing device further to:

determine that the feature does not exist in a configuration associated with an experiment comprising the feature; and

in response to the determination that the feature does not exist in the configuration, generate the feature in the configuration based on a name, a type, and the feature variable placeholder of the feature.

20. The non-transitory computer-readable storage medium of claim 17 , the processing device further to:

determine that the experimentation platform is to generate the feature;

determine that a number of features generated exceeds a threshold; and

in response to the determination that the number of features generated exceeds the threshold, prevent the experimentation platform from generating the feature.

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 Oct 24, 2019
From: RIZVI, ALI ABBAS; DAVIS, MICHAEL CARLYLE; BECK, TRAVIS
To: OPTIMIZELY, INC.
Reel/Frame 050814/0052 →