# US 11,445,032 B2 · Matching and attribution of user device events

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,445,032 B2
- Document ID: US11445032B2
- Status: Granted
- Kind: B2
- Application number: 17/402,552
- Filed: 2021-08-15
- Published: 2021-12-02
- Granted: 2022-09-13
- Earliest claimed: 2017-05-08
- Assignees: Branch Metrics, Inc.
- Applicants: Branch Metrics, Inc.
- Inventors: Sofus Attila Macskassy; Dmitri Ariel Gaskin; Eric J. Glover; Kan Yu; Wenchang Yan
- Web page: https://patentgrep.com/patent/US11445032B2

## CPC

- G06F 16/9558: {Details of hyperlinks; Management of linked annotations}
- G06Q 30/0201: Market modelling; Market analysis; Collecting market data
- H04L 65/40: Support for services or applications
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/306: User profiles
- H04L 67/53: using third party service providers
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method includes receiving first event data from a device, the first event data including a first identifier (ID) that identifies the device, web browser metadata, and data associated with an application state. The method includes generating a first persona including the first ID and a first event identifier that identifies a first user action. The method includes receiving second event data, the second event data including device metadata and a second ID that identifies the device. The method includes generating a second persona based on the second event data, the second persona including the second ID and a second event identifier that identifies a second user action. Additionally, the method includes determining that the first and second personas are associated with the device based on matches between the browser metadata and device metadata and transmitting a response to the device configured to route the device to the application state.

## Claims

### Claim 1

A method comprising:
generating, at a computing device, a first data object that includes a first device identifier (ID) and web browser metadata that are associated with a web event in a web browser application on a user device, wherein the web event is the selection of a website link;
generating, at the computing device, a second data object that includes a second device ID and device metadata that are associated with an installed application on the user device, wherein the second data object is associated with an application open event generated by the installed application in response to opening of the installed application;
determining, at the computing device, a matching score based on the web browser metadata and the device metadata, wherein the matching score indicates that the first device ID and the second device ID are likely associated with the user device;
storing the matching score at the computing device;
receiving, at the computing device, application commerce event data generated by the installed application, wherein the application commerce event data includes the second device ID;
in response to receiving the application commerce event data and determining the stored matching score indicates that the first and second device IDs are likely associated with the user device, attributing the application commerce event data to the web event associated with selection of the website link; and
transmitting attribution data to a partner computing device, the attribution data indicating that the application commerce event data is attributed to selection of the website link.

### Claim 2 (depends on 1)

The method of claim 1, wherein the application commerce event data is associated with a user adding an item to a shopping cart in the installed application.

### Claim 3 (depends on 1)

The method of claim 1, wherein the application commerce event data is associated with a user purchasing an item in the installed application.

### Claim 4 (depends on 1)

The method of claim 1, further comprising receiving, at the computing device, one or more additional application events after determining the matching score, wherein the one or more additional application events are received prior to the application commerce event data.

### Claim 5 (depends on 1)

The method of claim 1, further comprising receiving, at the computing device, one or more additional web events after determining the matching score, wherein the one or more additional web events are received prior to the application commerce event data.

### Claim 6 (depends on 1)

The method of claim 1, further comprising updating the matching score based on one or more additional application events and one or more web events prior to receiving the application commerce event data.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
comparing the matching score to a threshold matching score; and
determining that the matching score indicates the first device ID and the second device ID are likely associated with the user device when the matching score is greater than the threshold matching score.

### Claim 8 (depends on 1)

The method of claim 1, wherein the first device ID is a web cookie ID, and wherein the second device ID is an ID that is accessed by the installed application.

### Claim 9 (depends on 1)

The method of claim 1, wherein the web browser metadata and the device metadata include internet protocol (IP) addresses, and wherein the method comprises determining the matching score based on the IP addresses included in the web browser metadata and the device metadata.

### Claim 10 (depends on 1)

The method of claim 1, wherein the web browser metadata and the device metadata include the same internet protocol (IP) address, the method further comprising:
prior to receiving the application commerce event data, receiving prior instances of additional web event data and prior instances of additional application event data associated with the same IP address as the web browser metadata and the device metadata; and
determining the matching score based on a number of instances of additional web event data and additional application event data that include the same IP address as the web browser metadata and the device metadata.

### Claim 11 (depends on 1)

The method of claim 1, wherein the web browser metadata and the device metadata include device type data that is descriptive of the user device, and wherein the method comprises determining the matching score based on the device type data included in the web browser metadata and the device metadata.

### Claim 12 (depends on 1)

The method of claim 1, wherein the web browser metadata and the device metadata include device type data that is descriptive of the user device, the method further comprising:
prior to receiving the application commerce event data, receiving prior instances of additional web event data and instances of additional application event data including device type data that is descriptive of the user device; and
determining the matching score based on the number of instances of additional web event data and the number of instances of additional application event data.

### Claim 13 (depends on 1)

The method of claim 1, wherein the web browser metadata and the device metadata include screen resolution data, and wherein the method comprises determining the matching score based on the resolution data included in the web browser metadata and the device metadata.

### Claim 14 (depends on 1)

The method of claim 1, wherein the web browser metadata includes a username and a website identifier that identifies a website, wherein the device metadata includes the username and an application identifier that identifies the installed application, and wherein the method comprises determining that the first device ID and the second device ID are likely associated with the user device based on determining that the usernames match and the application identifier matches the website identifier.

### Claim 15 (depends on 1)

The method of claim 1, further comprising transmitting aggregate attribution data to the partner computing device for a plurality of different user devices, wherein the aggregate attribution data includes the attribution data indicating that the application commerce event data is attributed to selection of the website link.

### Claim 16 (depends on 15)

The method of claim 15, further comprising transmitting aggregate matching score data to the partner computing device for the plurality of different user devices, wherein the aggregate matching score data is associated with the aggregate attribution data.

### Claim 17

A system comprising:
one or more storage devices configured to store:
a first data object that includes a first device identifier (ID) and web browser metadata that are associated with a web event in a web browser application on a user device, wherein the web event is the selection of a website link; and
a second data object that includes a second device ID and device metadata that are associated with an installed application on the user device, wherein the second data object is associated with an application open event generated by the installed application in response to opening of the installed application; and
one or more processing units that execute computer-readable instructions that cause the one or more processing units to:
determine a matching score based on the web browser metadata and the device metadata, wherein the matching score indicates that the first device ID and the second device ID are likely associated with the user device;
store the matching score in the one or more storage devices;
receive application commerce event data generated by the installed application, wherein the application commerce event data includes the second device ID;
in response to receiving the application commerce event data and determining the stored matching score indicates that the first and second device IDs are likely associated with the user device, attribute the application commerce event data to the web event associated with selection of the website link; and
transmit attribution data to a partner computing device, the attribution data indicating that the application commerce event data is attributed to selection of the website link.

### Claim 18 (depends on 17)

The system of claim 17, wherein the application commerce event data is associated with a user adding an item to a shopping cart in the installed application.

### Claim 19 (depends on 17)

The system of claim 17, wherein the application commerce event data is associated with a user purchasing an item in the installed application.

### Claim 20 (depends on 17)

The system of claim 17, wherein the one or more processing units are configured to receive one or more additional application events after determining the matching score, wherein the one or more additional application events are received prior to the application commerce event data.

### Claim 21 (depends on 17)

The system of claim 17, wherein the one or more processing units are configured to receive one or more additional web events after determining the matching score, wherein the one or more additional web events are received prior to the application commerce event data.

### Claim 22 (depends on 17)

The system of claim 17, wherein the one or more processing units are configured to update the matching score based on one or more additional application events and one or more web events prior to receiving the application commerce event data.

### Claim 23 (depends on 17)

The system of claim 17, wherein the one or more processing units are configured to:
compare the matching score to a threshold matching score; and
determine that the matching score indicates the first device ID and the second device ID are likely associated with the user device when the matching score is greater than the threshold matching score.

### Claim 24 (depends on 17)

The system of claim 17, wherein the first device ID is a web cookie ID, and wherein the second device ID is an ID that is accessed by the installed application.

### Claim 25 (depends on 17)

The system of claim 17, wherein the web browser metadata and the device metadata include internet protocol (IP) addresses, and wherein the one or more processing units are configured to determine the matching score based on the IP addresses included in the web browser metadata and the device metadata.

### Claim 26 (depends on 17)

The system of claim 17, wherein the web browser metadata and the device metadata include the same internet protocol (IP) address, and wherein the one or more processing units are configured to:
prior to receiving the application commerce event data, receive prior instances of additional web event data and prior instances of additional application event data associated with the same IP address as the web browser metadata and the device metadata; and
determine the matching score based on a number of instances of additional web event data and additional application event data that include the same IP address as the web browser metadata and the device metadata.

### Claim 27 (depends on 17)

The system of claim 17, wherein the web browser metadata and the device metadata include device type data that is descriptive of the user device, and wherein the one or more processing units are configured to determine the matching score based on the device type data included in the web browser metadata and the device metadata.

### Claim 28 (depends on 17)

The system of claim 17, wherein the web browser metadata and the device metadata include device type data that is descriptive of the user device, and wherein the one or more processing units are configured to:
prior to receiving the application commerce event data, receive prior instances of additional web event data and instances of additional application event data including device type data that is descriptive of the user device; and
determine the matching score based on the number of instances of additional web event data and the number of instances of additional application event data.

### Claim 29 (depends on 17)

The system of claim 17, wherein the web browser metadata and the device metadata include screen resolution data, and wherein the one or more processing units are configured to determine the matching score based on the resolution data included in the web browser metadata and the device metadata.

### Claim 30 (depends on 17)

The system of claim 17, wherein the web browser metadata includes a username and a website identifier that identifies a website, wherein the device metadata includes the username and an application identifier that identifies the installed application, and wherein the one or more processing units are configured to determine that the first device ID and the second device ID are likely associated with the user device based on determining that the usernames match and the application identifier matches the website identifier.

### Claim 31 (depends on 17)

The system of claim 17, wherein the one or more processing units are configured to transmit aggregate attribution data to the partner computing device for a plurality of different user devices, wherein the aggregate attribution data includes the attribution data indicating that the application commerce event data is attributed to selection of the website link.

### Claim 32 (depends on 31)

The system of claim 31, wherein the one or more processing units are configured to transmit aggregate matching score data to the partner computing device for the plurality of different user devices, wherein the aggregate matching score data is associated with the aggregate attribution data.
