IP Library Granted Patent US 11,494,510
Granted Patent B2
US 11,494,510 · App. 17/192,150 · Granted Nov 8, 2022

Multi-touch attribution and control group creation using private commutative encrypted match service

Inventors: John Raymond Klein (Benicia, CA); Mark Christopher Dixon (Belmont, CA); Clark Alan Burdick (Sunnyvale, CA); Art Haedike (New Port Richey, FL); Partha Chowdhury (Los Altos, CA)
Assignee: INMARKET MEDIA, LLC
G06F21/6218H04L9/008H04L63/0421H04L2209/08
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,494,510
App. No.
17/192,150
Granted
Nov 8, 2022
Kind
B2
Abstract

Some implementations disclosed herein enable matching identifiers across multiple sources. This may involve adding a unique attribute (e.g., anonymous unique homomorphic identifiers) and/or using randomization to enable comparing data from multiple sources, while also maintaining data privacy. In one example, matches across multiple sources are identified, for example, identifying that there are 100 user identifiers that are in private data sets of three different sources. Such matching may be used to enable private, multi-touch attribution. In another example, techniques are used to determine that data maintained by one source is not also within other sources (e.g., identifying that there are 200 user identifiers that are in data from a first source but not in data from a second source and not in data from a third source. Such determinations may be used to generate control group data that does not match data from other sources.

Claims (60)

1. A method comprising:

at a processor of a first device:

generating a first set of encrypted identifiers by encrypting identifiers privately maintained by a first source using a first private key encryption;

generating an altered first set of encrypted identifiers by randomizing an order of the identifiers of the first set of encrypted identifiers and associating a unique attribute with each of the encrypted identifiers of the randomized first set of encrypted identifiers; and

performing an encrypted commutative match service between the identifiers privately maintained by the first source and identifiers privately maintained by one or more additional sources, wherein the encrypted match service identifies matches based on the unique attribute associated with each of the encrypted identifiers of the altered first set of encrypted identifiers, wherein the unique attributes uniquely identify associated encrypted identifiers without requiring first private key decryption.

2. The method of claim 1 , wherein associating the unique attribute with each of the encrypted identifiers of the randomized first set of encrypted identifiers comprises assigning an anonymous, homomorphic unique identifier to each of the encrypted identifiers of the randomized first set of encrypted identifiers.

3. The method of claim 1 , wherein encryption and randomization provides identifier privacy while allowing N-way matching using the unique attribute associated with each of the encrypted identifiers of the altered first set of encrypted identifiers.

4. The method of claim 1 further comprising determining multi-touch attribution based on the encrypted match service, wherein an identifier privately maintained by the first source is matched with both an identifier privately maintained by a second source and an identifier privately maintained by a third source.

5. The method of claim 4 , wherein:

the identifier of the second source is associated with a first number of actions;

the identifier of the third source is associated with a second number of actions; and

the multi-touch attribution attributes an event tracked by the identifier of the first source with both the first number of actions of the second source and the second number of actions of the third source.

6. The method of claim 1 further comprising:

generating a candidate control group; and

generating a final control group by filtering the candidate control group based on the matches, wherein the filtering excludes the identifiers privately maintained by any of the plurality of additional sources from the final control group.

7. The method of claim 6 , wherein the candidate control group is generated using a forensic control algorithm.

8. The method of claim 6 , wherein the candidate control group is generated using a control group seed, the control group seed comprising a set of identifiers that excludes the identifiers privately maintained by any of the plurality of additional sources.

9. The method of claim 6 , wherein the candidate control group is generated using a control group seed in a forensic control algorithm, the control group seed comprising the identifiers originating from the original source.

10. The method of claim 1 , wherein performing the encrypted match service comprises:

sending the altered first set of encrypted identifiers to a second source and a third source;

receiving a second set of encrypted identifiers originating from the second source and encrypted using a second private encryption key;

receiving a third set of encrypted identifiers originating from the third source and encrypted using a third private encryption key;

generating a first set of twice encrypted identifiers by encrypting the second set of encrypted identifiers originating from the second source with the first encryption key;

generating a second set of twice encrypted identifiers by encrypting the third set of encrypted identifiers originating from the third source with the first encryption key;

receiving a third set of twice encrypted identifiers comprising the first set of encrypted identifiers encrypted by the second source using the second encryption key;

receiving a fourth set of twice encrypted identifiers comprising the first set of encrypted identifiers encrypted by the third source using the third encryption key.

11. The method of claim 10 , wherein the encrypted match service:

identifies a first set of matches between the first source and the second source using the first and third sets of twice encrypted identifiers;

identifies a second set of matches between the first source and the third source using the second and fourth sets of twice encrypted identifiers; and

identifies a third set of matches between the first source and both the second and third sources using the unique attributes in the altered first set of encrypted identifiers, the third set of twice encrypted identifiers, and the fourth set of twice encrypted identifiers.

12. The method of claim 1 , wherein the encrypted match service exchanges only encrypted data between the first source and the additional sources.

13. A method comprising:

at a processor of a first device:

identifying a first set of matches between encryptions of first data comprising identifiers privately maintained by a first source and encryptions of second data comprising identifiers privately maintained by a second source, wherein the first data comprises a unique attribute;

identifying a second set of matches between encryptions of the first data comprising identifiers privately maintained by the first source and encryptions of third data comprising identifiers privately maintained by a third source; and

generating associations between the first set of encrypted matches and the second set of matches based on the unique attribute.

14. The method of claim 13 , wherein:

identifying the first set of matches comprises comparing identifiers privately maintained by the first source after encryption and randomization by the first source and then encryption by the second source with identifiers privately maintained by the second source after encryption by the second source and then encryption by the first source; and

identifying the second set of matches comprises comparing identifiers privately maintained by the first source after encryption and randomization by the first source and then encryption by the third source with identifiers privately maintained by the third source after encryption by the third source and then encryption by the first source.

15. The method of claim 13 , wherein generating the associations comprises:

generating an altered first set of encrypted randomized identifiers based on the first data and the unique homomorphic attribute; and

matching the altered first set of encrypted with the encryptions of first data of the first set of matches; and

matching the altered first set of encrypted identifiers with the encryptions of first data of the second set of matches.

16. The method of claim 13 , wherein generating the associations comprises multi-touch attribution.

17. The method of claim 16 , wherein the multi-touch attribution is based on homographic attribute values corresponding to events associated with the identifiers privately maintained by the second source and the identifiers privately maintained by the third source.

18. A method comprising:

at a processor of a first device:

identifying a first set of matches between encryptions of first data comprising identifiers privately maintained by a first source and encryptions of second data comprising identifiers privately maintained by a second source, wherein the first data comprises a unique attribute;

generating a candidate control group; and

generating a final control group by filtering the candidate control group based on the first set of matches and the unique attribute.

19. The method of claim 18 further comprising:

identifying a second set of matches between encryptions of the first data comprising identifiers privately maintained by the first source and encryptions of third data comprising identifiers privately maintained by a third source,

wherein filtering the candidate control group is further based on the second set of matches.

20. The method of claim 19 , wherein filtering the candidate control group comprises determining excluding identifiers from the control group that correspond to identifiers privately maintained by either or both of the second source and the third source.

21. The method of claim 18 , wherein the candidate control group is generated using a forensic control algorithm.

22. The method of claim 18 , wherein the candidate control group is generated using a control group seed, the control group seed comprising a set of identifiers that excludes the identifiers privately maintained by the second source and the identifiers privately maintained by the third source.

23. The method of claim 18 , wherein the candidate control group is generated using a control group seed, the control group seed comprising the identifiers privately maintained by the first source.

24. The method of claim 18 , wherein the candidate control group is generated by:

generating an expanded set of identifiers; and

filtering the expanded set to exclude identifiers privately maintained by the second source and the identifiers privately maintained by the third source.

Assignments (3)
SECURITY INTEREST Recorded Oct 27, 2023
From: INMARKET MEDIA, LLC
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 065367/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2021
From: KLEIN, JOHN RAYMOND; DIXON, MARK CHRISTOPHER; BURDICK, PH.D., CLARK ALAN
To: INMARKET MEDIA, LLC
Reel/Frame 055495/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2021
From: HAEDIKE, ART; CHOWDHURY, PARTHA
To: INMARKET MEDIA, LLC
Reel/Frame 055495/0896 →
Continuity (1)
Related Publication 20220284114A1 · Sep 8, 2022