# US 9,882,999 B1 · Analyzing tracking requests generated by client devices interacting with a website

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

- Number: US 9,882,999 B1
- Document ID: US9882999B1
- Status: Granted
- Kind: B1
- Application number: 15/636,500
- Filed: 2017-06-28
- Granted: 2018-01-30
- Earliest claimed: 2017-06-28
- Assignees: Facebook, Inc.
- Applicants: Facebook, Inc.
- Inventors: Shiliyang Xu; Aleksey Sergeyevich Fadeev
- Web page: https://patentgrep.com/patent/US9882999B1

## CPC

- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- G06F 16/951: Indexing; Web crawling techniques
- G06N 20/00: Machine learning
- G06Q 30/0255: {based on user history}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- 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

## Abstract

An online system receives tracking requests from client devices interacting with a website. The online system analyzes user interactions with websites using the tracking requests. The online system predicts an accurate label for the web page that caused the tracking request to be generated. The online system uses the accurate label for generating reports describing user interactions with the website. The online system determines a quality of tracking requests generated by the website based on various factors including a number of web pages of the website that generate tracking requests, the type of information provided by the tracking requests, and so on. The online system generates reports describing the quality of the tracking requests. The online system uses a metric indicating the quality of tracking requests of the website to determine whether to use predicted labels instead of labels provided by tracking requests for generating reports of the website.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving, by an online system, a plurality of tracking requests from a client device, each tracking request comprising a label identifying a web page presented by the client device and parameters describing the web page;
extracting a feature vector for a tracking request from the plurality of tracking requests, the feature vector comprising features based on the parameters describing the web page received from the tracking request;
predicting a label identifying the web page corresponding to the tracking request, the predicting based on a machine learning model receiving the feature vector as input, the machine learning model configured to generate a score indicating an accuracy with which an input label identifies a web page of an input tracking request;
responsive to the predicted label differing from the label received with the tracking request, storing a mapping from the label received with the tracking request to the predicted label;
receiving a request for generating a report based on tracking requests;
generating the requested report, the generating comprising, replacing labels received from one or more tracking requests based on the mapping; and
sending the generated report for presentation.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the plurality of requests are associated with a session of the client device.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the tracking request is received from the client device responsive to the client device rendering the web page for display, wherein the rendering of the web page causes execution of instructions for sending a tracking request to the online system.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the feature vector comprises a feature describing a uniform resource locator (URL) of the web page.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the feature vector comprises a feature based on timestamps associated with the plurality of requests.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the feature vector comprises a feature describing a sequence of tracking requests from the plurality of tracking requests.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the feature vector comprises a feature describing a number of tracking requests of the plurality having a label matching the label of the tracking request.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the feature vector comprises a feature describing a time difference between the tracking request and one or more other tracking requests from the plurality.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the feature vector comprises a feature describing an object represented in the web page corresponding to the tracking request.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, further comprising:
training the machine learning model using past tracking requests received by the online system, and for each past tracking request a label of a web page displayed by a client device causing the tracking request.

### Claim 11

A non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to perform the steps including:
receiving, by an online system, a plurality of tracking requests from a client device, each tracking request comprising a label identifying a web page presented by the client device and parameters describing the web page;
extracting a feature vector for a tracking request from the plurality of tracking requests, the feature vector comprising features based on the parameters describing the web page received from the tracking request;
predicting a label identifying the web page corresponding to the tracking request, the predicting based on a machine learning model receiving the feature vector as input, the machine learning model configured to generate a score indicating an accuracy with which an input label identifies a web page of an input tracking request;
responsive to the predicted label differing from the label received with the tracking request, storing a mapping from the label received with the tracking request to the predicted label;
receiving a request for generating a report based on tracking requests;
generating the requested report, the generating comprising, replacing labels received from one or more tracking requests based on the mapping; and
sending the generated report for presentation.

### Claim 12 (depends on 1)

The non-transitory computer readable storage medium of claim 1, wherein the plurality of requests are associated with a session of the client device.

### Claim 13 (depends on 1)

The non-transitory computer readable storage medium of claim 1, wherein the tracking request is received from the client device responsive to the client device rendering the web page for display, wherein the rendering of the web page causes execution of instructions for sending a tracking request to the online system.

### Claim 14 (depends on 1)

The non-transitory computer readable storage medium of claim 1, wherein the feature vector comprises a feature describing a uniform resource locator (URL) of the web page.

### Claim 15 (depends on 1)

The non-transitory computer readable storage medium of claim 1, wherein the feature vector comprises a feature based on timestamps associated with the plurality of requests.

### Claim 16 (depends on 1)

The non-transitory computer readable storage medium of claim 1, wherein the feature vector comprises a feature describing a sequence of tracking requests from the plurality of tracking requests.

### Claim 17 (depends on 1)

The non-transitory computer readable storage medium of claim 1, wherein the feature vector comprises a feature describing a number of tracking requests of the plurality having a label matching the label of the tracking request.

### Claim 18 (depends on 1)

The non-transitory computer readable storage medium of claim 1, wherein the feature vector comprises a feature describing a time difference between the tracking request and one or more other tracking requests from the plurality.

### Claim 19 (depends on 1)

The non-transitory computer readable storage medium of claim 1, wherein the feature vector comprises a feature describing an object represented in the web page corresponding to the tracking request.

### Claim 20 (depends on 1)

The non-transitory computer readable storage medium of claim 1, further comprising:
training the machine learning model using past tracking requests received by the online system, and for each past tracking request a label of a web page displayed by a client device causing the tracking request.
