IP Library Granted Patent US 11,442,840
Granted Patent B2
US 11,442,840 · App. 16/911,349 · Granted Sep 13, 2022

Segmented customization

Inventors: Jeff DiTullio (Menlo Park, CA); Wesley Reitzfeld (Chattanooga, TN)
Assignee: Apptimize, LLC
G06F11/3612G06F8/72H04L67/22H04L67/34H04W4/50H04W4/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 11,442,840
App. No.
16/911,349
Granted
Sep 13, 2022
Kind
B2
Abstract

Techniques to facilitate provision of different user experiences to different groups of users of a mobile application are disclosed herein. In at least one implementation, a manifest provided by an application development and optimization platform is received that defines a plurality of user segments and a plurality of feature variants individually associated with the plurality of user segments. The manifest is processed to determine a segment of the plurality of user segments associated with a user of the mobile application along with a feature variant of the plurality of feature variants associated with the segment of the user. Execution of the mobile application is monitored for an occurrence of an event that triggers a default feature of the mobile application, and responsive to the event, the default feature is replaced with the feature variant associated with the segment of the user.

Claims (46)

1. A method to facilitate provision of different user experiences in applications in A/B testing, the method comprising:

receiving, in the A/B testing involving a plurality of instances of the applications each installed on a computing device, a manifest that defines a plurality of user segments and a plurality of feature variants, the manifest originated from an application developer of the applications, each feature variant associated with at least one of the user segments, wherein the plurality of user segments comprise categorizations of different groups of users of the applications, the categorizations of different groups of users are determined based on events of the users taken in the applications, and the applications are associated with a default feature;

processing the manifest to determine the plurality of user segments the plurality of feature variants; and

conducting, based on the manifest, an instance of the A/B testing for a user of a particular instance of the applications, the A/B testing tracking performance of the particular instance of the applications with respect to a feature variant, conducting the instance of the A/B testing comprising:

monitoring execution of the particular instance of the applications for an occurrence of an event at the particular instance of the applications, the event associated with how the categorizations of different groups of users are determined,

determining that the user associated with the particular instance of the applications belongs to one of the user segments;

enabling, responsive to determining that the user associated with the particular instance of the applications belonging to one of the user segments, a changed code block instead of a default code block to be executed by the particular instance of the applications, the default code block corresponding to the default feature and the changed code block corresponding to the feature variant associated with said one of the user segments of the user, the default code block and the changed code block both being part of the particular instance of the applications at a time the particular instance of the applications is installed on the computing device associated with the user,

triggering, at the particular instance of the applications, the feature variant associated with said one of the user segments of the user instead of the default feature by executing the changed code block, and

transmitting data tracking the performance of the particular instance of the applications as outputs of the instance of the A/B testing.

2. The method of claim 1 , wherein triggering the feature variant comprises replacing a default visual element with a variant visual element.

3. The method of claim 1 , wherein the feature variants associated with which user segments are automatically defined based on analysis of test results for the plurality of feature variants over the plurality of user segments.

4. The method of claim 1 , wherein the plurality of user segments are defined partially based on criteria set forth by the application developer associated with the applications.

5. The method of claim 1 , wherein the event that triggers the default feature comprises a function call.

6. The method of claim 5 , wherein triggering the feature variant associated with said one of the user segments of the user comprises identifying an original function that invokes the function call and responsively intercepting the function call and executing the feature variant instead of the function call.

7. The method of claim 1 , wherein the event that triggers the default feature comprises a user login.

8. The method of claim 1 , wherein the changed code block includes a dynamic variable.

9. One or more non-transitory computer-readable storage media having instructions stored thereon to facilitate provision of different user experiences in applications in A/B testing, wherein the instructions, when executed by one or more processors, cause the one or more processors to at least:

receive, in the A/B testing involving a plurality of instances of applications each installed on a computing device, a manifest that defines a plurality of user segments and a plurality of feature variants, the manifest originated from an application developer of the applications, each feature variant associated with at least one of the user segments, wherein the plurality of user segments comprise categorizations of different groups of users of the applications, the categorizations of different groups of users are determined based on events of the users taken in the applications, and the applications are associated with a default feature;

process the manifest to determine the plurality of user segments the plurality of feature variants; and

conduct, based on the manifest, an instance of the A/B testing for a user of a particular instance of the applications, the A/B testing tracking performance of the particular instance of the applications with respect to a feature variant, wherein the instruction to conduct the instance of the A/B testing comprises instructions for:

monitoring execution of the particular instance of the applications for an occurrence of an event at the particular instance of the applications, the event associated with how the categorizations of different groups of users are determined,

determining that the user associated with the particular instance of the applications belongs to one of the user segments;

enabling, responsive to determining that the user associated with the particular instance of the applications belonging to one of the user segments, a changed code block instead of a default code block to be executed by the particular instance of the applications, the default code block corresponding to the default feature and the changed code block corresponding to the feature variant associated with said one of the user segments of the user, the default code block and the changed code block both being part of the particular instance of the applications at a time the particular instance of the applications is installed on the computing device associated with the user,

triggering, at the particular instance of the applications, the feature variant associated with said one of the user segments of the user instead of the default feature by executing the changed code block, and

transmitting data tracking the performance of the particular instance of the applications as outputs of the instance of the A/B testing.

10. The one or more computer-readable storage media of claim 9 wherein the instructions that cause the one or more processors to trigger the feature variant include instructions to replace a default visual element with a variant visual element.

11. The one or more computer-readable storage media of claim 9 , wherein the feature variants associated with which user segments are automatically defined based on analysis of test results for the plurality of feature variants over the plurality of user segments.

12. The one or more computer-readable storage media of claim 9 , wherein the plurality of user segments are defined partially based on criteria set forth by the application developer associated with the applications.

13. The one or more computer-readable storage media of claim 9 , wherein the event that triggers the default feature comprises a function call.

14. The one or more computer-readable storage media of claim 13 , wherein the instructions that cause the one or more processors to trigger the feature variant associated with said one of the user segments of the user include instructions to identify an original function that invokes the function call and responsively intercept the function call and execute the feature variant instead of the function call.

15. The one or more computer-readable storage media of claim 9 , wherein the event that triggers the default feature comprises a user login.

16. A system comprising:

one or more processors;

memory configured to store instructions, the instructions, when executed by the one or more processors, cause the one or more processors to perform at least:

receive, in an A/B testing involving a plurality of instances of applications each installed on a computing device, a manifest that defines a plurality of user segments and a plurality of feature variants, the manifest originated from an application developer of the applications, each feature variant associated with at least one of the user segments, wherein the plurality of user segments comprise categorizations of different groups of users of the applications, the categorizations of different groups of users are determined based on events of the users taken in the applications, and the applications are associated with a default feature;

process the manifest to determine the plurality of user segments the plurality of feature variants; and

conduct, based on the manifest, an instance of the A/B testing for a user of a particular instance of the applications, the A/B testing tracking performance of the particular instance of the applications with respect to a feature variant, wherein the instruction to conduct the instance of the A/B testing comprises instructions for:

monitoring execution of the particular instance of the applications for an occurrence of an event at the particular instance of the applications, the event associated with how the categorizations of different groups of users are determined,

determining that the user associated with the particular instance of the applications belongs to one of the user segments;

enabling, responsive to determining that the user associated with the particular instance of the applications belonging to one of the user segments, a changed code block instead of a default code block to be executed by the particular instance of the applications, the default code block corresponding to the default feature and the changed code block corresponding to the feature variant associated with said one of the user segments of the user, the default code block and the changed code block both being part of the particular instance of the applications at a time the particular instance of the applications is installed on the computing device associated with the user,

triggering, at the particular instance of the applications, the feature variant associated with said one of the user segments of the user instead of the default feature by executing the changed code block, and

transmitting data tracking the performance of the particular instance of the applications as outputs of the instance of the A/B testing.

17. The system of claim 16 , wherein the instructions direct the system to trigger the feature variant by directing the system to replace a default visual element with a variant visual element.

18. The system of claim 16 , wherein the feature variants associated with which user segments are automatically defined based on analysis of test results for the plurality of feature variants over the plurality of user segments.

19. The system of claim 16 , wherein the plurality of user segments are defined partially based on criteria set forth by the application developer associated with the applications.

20. The system of claim 16 , wherein the event that triggers the default feature comprises a function call.

Assignments (6)
SECURITY INTEREST Recorded Jul 1, 2024
From: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
To: RUNWAY GROWTH FINANCE CORP.
Reel/Frame 068099/0779 →
RELEASE OF SECURITY INTEREST Recorded Jun 28, 2024
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
Reel/Frame 067965/0545 →
SECURITY INTEREST Recorded Apr 29, 2022
From: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 059716/0539 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME TO ADD A COMMABETWEEN APPTIMIZE AND LLC PREVIOUSLY RECORDED ON REEL 053095 FRAME 0368. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Feb 25, 2021
From: APPTIMIZE, INC.
To: APPTIMIZE, LLC
Reel/Frame 055439/0947 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2020
From: DITULLIO, JEFF; REITZFELD, WESLEY
To: APPTIMIZE, INC.
Reel/Frame 053093/0668 →
CHANGE OF NAME Recorded Jun 30, 2020
From: APPTIMIZE, INC.
To: APPTIMIZE LLC
Reel/Frame 053095/0368 →
Continuity (3)
Continuation 15968020 · May 1, 2018
Provisional Application 62492417 · May 1, 2017
Related Publication 20200341883A1 · Oct 29, 2020