IP Library Granted Patent US 11,170,029
Granted Patent B2
US 11,170,029 · App. 16/428,204 · Granted Nov 9, 2021

Multi-user cross-device tracking

Inventor: Wira Pradjinata (Fremont, CA)
Assignee: LendingClub Corporation
G06F16/288G06F16/2228G06F16/2379G06F16/24568H04L67/22H04L67/42
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,170,029
App. No.
16/428,204
Granted
Nov 9, 2021
Kind
B2
Abstract

Embodiments collect, from an event stream having both client-side and server-side information from multiple tracking sources, user interaction records for a web application and supporting systems. The records are stored in a data store, and are retroactively correlated with conclusive user identifiers and, if applicable, with areas of interest. Attribution of interaction records to conclusive identifiers and areas of interest is based on links that have been established between identifiers. Established identifier links may be subject to one or more link removal criteria. If link removal criteria is satisfied for an established link, the link is broken. Once a link is broken, interaction records, found in the data store, that are associated with the inconclusive identifier of the broken link are no longer associated with the conclusive identifier of the broken link. Each interaction record that is associated with a conclusive identifier is assigned a confidence metric for the association.

Claims (109)

1. A computer-executed method comprising:

collecting a particular plurality of information items that reflect interaction between one or more client devices and a server device;

determining that a particular information item, of the particular plurality of information items, (a) is associated with a particular inconclusive identifier, and (b) includes a conclusive identifier that identifies a particular person; and

responsive to determining that the particular information item includes the conclusive identifier and is associated with the particular inconclusive identifier:

identifying a particular set of information items, of the particular plurality of information items, that satisfy linking criteria, wherein the linking criteria include that each information item in the particular set of information items is associated with the particular inconclusive identifier; and

storing, in a data store, attribution data that associates the particular set of information items with the conclusive identifier;

wherein the method is performed by one or more computing devices.

2. The computer-executed method of claim 1 , wherein collecting the particular plurality of information items comprises detecting the particular plurality of information items in an event stream populated from commit logs of one or more database management systems.

3. The computer-executed method of claim 1 , wherein the particular plurality of information items includes both client-side-based information items and server-side-based information items.

4. The computer-executed method of claim 1 , further comprising:

collecting a second plurality of information items that reflect interaction between the one or more client devices and the server device;

determining that a second information item, of the second plurality of information items, (a) is associated with a second inconclusive identifier, and (b) includes the conclusive identifier that identifies the particular person;

wherein the second inconclusive identifier is different than the particular inconclusive identifier; and

responsive to determining that the second information item includes the conclusive identifier and is associated with the second inconclusive identifier:

identifying a second set of information items, of the second plurality of information items, that satisfy linking criteria, wherein the linking criteria include that each information item in the second set of information items is associated with the second inconclusive identifier; and

storing link data that associates the second set of information items with the conclusive identifier.

5. The computer-executed method of claim 4 , wherein:

each information item, of the particular set of information items, is associated with a respective timestamp;

each information item, of the second set of information items, is associated with a respective timestamp;

at least one information item, of the second set of information items, is associated with a timestamp that marks a time that occurred between times marked by timestamps associated with particular two information items of the particular set of information items;

responsive to determining that the particular information item includes the conclusive identifier and is associated with the particular inconclusive identifier: storing, in the data store, the particular set of information items in temporal order based on the respective associated timestamps; and

responsive to determining that the second information item includes the conclusive identifier and is associated with the second inconclusive identifier:

storing, with the particular set of information items in the data store, the second set of information items in temporal order based on the respective associated timestamps,

wherein the at least one information item, of the second set of information items, is ordered between the particular two information items, of the particular set of information items, in the data store.

6. The computer-executed method of claim 1 , further comprising:

collecting a second plurality of information items that reflect interaction between the one or more client devices and the server device;

wherein the second plurality of information items is different than the particular plurality of information items;

determining that a second information item, of the second plurality of information items, (a) is associated with the particular inconclusive identifier, and (b) includes a second conclusive identifier that identifies a second person; and

responsive to determining that the second information item includes the second conclusive identifier and is associated with the particular inconclusive identifier:

identifying a second set of information items, of the second plurality of information items, that satisfy linking criteria, wherein the linking criteria include that each information item in the second set of information items is associated with the particular inconclusive identifier; and

storing link data that associates the second set of information items with the second conclusive identifier.

7. The computer-executed method of claim 1 , further comprising:

determining that at least one information item, of the particular set of information items, identifies a particular area of interest;

responsive to determining that the at least one information item identifies the particular area of interest, associating the particular area of interest with the particular inconclusive identifier; and

based, at least in part, on the association between the particular area of interest and the particular inconclusive identifier, associating each information item, of the particular set of information items, with the particular area of interest.

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

responsive to determining that the particular information item includes the conclusive identifier and is associated with the particular inconclusive identifier, storing link data that identifies a link between the conclusive identifier and the particular inconclusive identifier;

after storing the link data, collecting a second information item that reflects interaction between the one or more client devices and the server device;

based, at least in part, on the link data that identifies a link between the conclusive identifier and the particular inconclusive identifier, storing, in the data store, second attribution data that associates the second information item.

9. The computer-executed method of claim 8 , further comprising, after storing the link data that identifies the link between the conclusive identifier and the particular inconclusive identifier:

breaking the link between the conclusive identifier and the particular inconclusive identifier based on the link satisfying one or more link removal criteria;

wherein each link removal criterion of the one or more link removal criteria is based, at least in part, on one of:

a timestamp of a most-recent linking record that associates the conclusive identifier and the particular inconclusive identifier,

whether any information in interaction records associated with the particular inconclusive identifier is inconsistent with information in a user profile associated with the conclusive identifier,

whether a more-recent non-compatible link has been established,

whether a new session identifier is found to be associated with a device identifier that was previously associated with a different session identifier, or

whether a dissociative interaction record has been detected for the link.

10. The computer-executed method of claim 1 , further comprising, responsive to determining that the particular information item includes the conclusive identifier and is associated with the particular inconclusive identifier:

for each information item, of the particular set of one or more information items:

determining, based on one or more confidence heuristics, a confidence metric that indicates a confidence level of an association between the conclusive identifier and said each information item;

wherein the one or more confidence heuristics include one or more of:

a time-based confidence heuristic that is based, at least in part, on an amount of time between a timestamp of said each information item and a timestamp of an identifier link on which the association of said each information item with the conclusive identifier was based,

a device-specific confidence heuristic that is based, at least in part, on a number of users that have been detected using a device associated with said each information item, or

a link-specific confidence heuristic that is based, at least in part, on whether an attribute value of said each information item matches an attribute value in a user profile associated with the conclusive identifier; and

associating said each information item with the confidence metric.

11. One or more non-transitory computer-readable media storing one or more sequences of instructions that, when executed by one or more processors, cause:

collecting a particular plurality of information items that reflect interaction between one or more client devices and a server device;

determining that a particular information item, of the particular plurality of information items, (a) is associated with a particular inconclusive identifier, and (b) includes a conclusive identifier that identifies a particular person; and

responsive to determining that the particular information item includes the conclusive identifier and is associated with the particular inconclusive identifier:

identifying a particular set of information items, of the particular plurality of information items, that satisfy linking criteria, wherein the linking criteria include that each information item in the particular set of information items is associated with the particular inconclusive identifier; and

storing, in a data store, attribution data that associates the particular set of information items with the conclusive identifier.

12. The one or more non-transitory computer-readable media of claim 11 , wherein collecting the particular plurality of information items comprises detecting the particular plurality of information items in an event stream populated from commit logs of one or more database management systems.

13. The one or more non-transitory computer-readable media of claim 11 , wherein the particular plurality of information items includes both client-side-based information items and server-side-based information items.

14. The one or more non-transitory computer-readable media of claim 11 , wherein the one or more sequences of instructions further comprise instructions that, when executed by one or more processors, cause:

collecting a second plurality of information items that reflect interaction between the one or more client devices and the server device;

determining that a second information item, of the second plurality of information items, (a) is associated with a second inconclusive identifier, and (b) includes the conclusive identifier that identifies the particular person;

wherein the second inconclusive identifier is different than the particular inconclusive identifier; and

responsive to determining that the second information item includes the conclusive identifier and is associated with the second inconclusive identifier:

identifying a second set of information items, of the second plurality of information items, that satisfy linking criteria, wherein the linking criteria include that each information item in the second set of information items is associated with the second inconclusive identifier; and

storing link data that associates the second set of information items with the conclusive identifier.

15. The one or more non-transitory computer-readable media of claim 14 , wherein:

each information item, of the particular set of information items, is associated with a respective timestamp;

each information item, of the second set of information items, is associated with a respective timestamp;

at least one information item, of the second set of information items, is associated with a timestamp that marks a time that occurred between times marked by timestamps associated with particular two information items of the particular set of one or more information items;

responsive to determining that the particular information item includes the conclusive identifier and is associated with the particular inconclusive identifier: storing, in all the data store, the particular set of information items in temporal order based on the respective associated timestamps; and

responsive to determining that the second information item includes the conclusive identifier and is associated with the second inconclusive identifier:

storing, with the particular set of information items in the data store, the second set of information items in temporal order based on the respective associated timestamps,

wherein the at least one information item, of the second set of information items, is ordered between the particular two information items, of the particular set of information items, in the data store.

16. The one or more non-transitory computer-readable media of claim 11 , wherein the one or more sequences of instructions further comprise instructions that, when executed by one or more processors, cause:

collecting a second plurality of information items that reflect interaction between the one or more client devices and the server device;

wherein the second plurality of information items is different than the particular plurality of information items;

determining that a second information item, of the second plurality of information items, (a) is associated with the particular inconclusive identifier, and (b) includes a second conclusive identifier that identifies a second person; and

responsive to determining that the second information item includes the second conclusive identifier and is associated with the particular inconclusive identifier:

identifying a second set of information items, of the second plurality of information items, that satisfy linking criteria, wherein the linking criteria include that each information item in the second set of information items is associated with the particular inconclusive identifier; and

storing link data that associates the second set of information items with the second conclusive identifier.

17. The one or more non-transitory computer-readable media of claim 11 , wherein the one or more sequences of instructions further comprise instructions that, when executed by one or more processors, cause:

determining that at least one information item, of the particular set of information items, identifies a particular area of interest;

responsive to determining that the at least one information item identifies the particular area of interest, associating the particular area of interest with the particular inconclusive identifier; and

based, at least in part, on the association between the particular area of interest and the particular inconclusive identifier, associating each information item, of the particular set of information items, with the particular area of interest.

18. The one or more non-transitory computer-readable media of claim 11 , wherein the one or more sequences of instructions further comprise instructions that, when executed by one or more processors, cause:

responsive to determining that the particular information item includes the conclusive identifier and is associated with the particular inconclusive identifier, storing link data that identifies a link between the conclusive identifier and the particular inconclusive identifier;

after storing the link data, collecting a second information item that reflects interaction between the one or more client devices and the server device;

based, at least in part, on the link data that identifies a link between the conclusive identifier and the particular inconclusive identifier, storing, in the data store, second attribution data that associates the second information item with the conclusive identifier.

19. The one or more non-transitory computer-readable media of claim 18 , wherein the one or more sequences of instructions further comprise instructions that, when executed by one or more processors, cause, after storing the link data that identifies the link between the conclusive identifier and the particular inconclusive identifier:

breaking the link between the conclusive identifier and the particular inconclusive identifier based on the link satisfying one or more link removal criteria;

wherein each link removal criterion of the one or more link removal criteria is based, at least in part, on one of:

a timestamp of a most-recent linking record that associates the conclusive identifier and the particular inconclusive identifier,

whether any information in interaction records associated with the particular inconclusive identifier is inconsistent with information in a user profile associated with the conclusive identifier,

whether a more-recent non-compatible link has been established,

whether a new session identifier is found to be associated with a device identifier that was previously associated with a different session identifier, or

whether a dissociative interaction record has been detected for the link.

20. The one or more non-transitory computer-readable media of claim 11 , wherein the one or more sequences of instructions further comprise instructions that, when executed by one or more processors, cause, responsive to determining that the particular information item includes the conclusive identifier and is associated with the particular inconclusive identifier:

for each information item, of the particular set of one or more information items:

determining, based on one or more confidence heuristics, a confidence metric that indicates a confidence level of an association between the conclusive identifier and said each information item;

wherein the one or more confidence heuristics include one or more of:

a time-based confidence heuristic that is based, at least in part, on an amount of time between a timestamp of said each information item and a timestamp of an identifier link on which the association of said each information item with the conclusive identifier was based,

a device-specific confidence heuristic that is based, at least in part, on a number of users that have been detected using a device associated with said each information item, or

a link-specific confidence heuristic that is based, at least in part, on whether an attribute value of said each information item matches an attribute value in a user profile associated with the conclusive identifier; and

associating said each information item with the confidence metric.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2022
From: LENDINGCLUB CORPORATION
To: LENDINGCLUB BANK, NATIONAL ASSOCIATION
Reel/Frame 059910/0275 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2019
From: PRADJINATA, WIRA
To: LENDINGCLUB CORPORATION
Reel/Frame 049338/0007 →
Continuity (1)
Related Publication 20200380016A1 · Dec 3, 2020
Cited By (2)
US 12,299,155 US 12,639,290