Client-Side Click Tracking via Local Storage and Periodic Sync

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing click tracking methods often impact web page performance and may lose user interaction data due to asynchronous logging, especially when users navigate away from a page or if the application crashes.

Innovation Solution

Implementing client-side click tracking by monitoring user selections of hyperlinks with embedded attributes using JavaScript code that stores information in local storage and periodically communicates it to a server, allowing for both asynchronous and synchronous data reporting without losing information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If click tracking is performed using web logs or URL redirects, then click tracking can be implemented, but web page performance is impacted and user interaction data may be lost when users navigate away or application crashes

Engineering Contradiction:
Improvedata preservation reliabilityVSAvoidweb page performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements preliminary action by storing click tracking data in local storage (e.g., browser's localStorage or sessionStorage) before the user navigates away or the application crashes. The JavaScript code captures click events and queues them for later transmission, ensuring data is preserved even if the current page unloads or the browser closes. This preliminary storage mechanism guarantees data availability without requiring continuous server communication.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses an intermediary approach by introducing a local storage layer between the click tracking code and the server. Instead of directly communicating with the server for every click event (which would impact performance), the system stores data locally and periodically flushes it to the server. This intermediary buffer decouples the tracking mechanism from the server, improving web page performance while maintaining data reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If click tracking uses asynchronous logging, then web page performance is maintained, but user interaction data may be lost due to timing issues

Engineering Contradiction:
Improveweb page performanceVSAvoiduser interaction data
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent implements feedback mechanisms through periodic flushing of the click tracking queue to the server. The system continuously monitors and sends accumulated click data at scheduled intervals, ensuring no data is lost due to timing issues. This feedback loop maintains web page performance by avoiding synchronous requests while guaranteeing data transmission through regular asynchronous updates.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent ensures continuity of useful action by maintaining a persistent queue that continuously accumulates click events and periodically transmits them to the server. The flushing mechanism operates continuously at predetermined intervals, ensuring uninterrupted data collection and transmission. This continuous operation prevents data loss while maintaining optimal web page performance.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of information

If click tracking code is executed synchronously, then data is reported immediately, but web page performance is impacted

Engineering Contradiction:
Improvedata reporting timelinessVSAvoidweb page performance
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent applies periodic action by implementing scheduled flushing of click tracking data at predetermined time intervals rather than immediate synchronous reporting. The system configurations allow administrators to set flushing frequencies that balance data timeliness with web page performance. This periodic mechanism ensures data is reported promptly while avoiding the performance impact of synchronous requests.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9608892B2Client-side click tracking
Publication Date: 2017.03.28 GOOGLE LLC
  • US9608892B2 patent drawing
  • US9608892B2 patent drawing
  • US9608892B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for performing client-side click tracking. In one aspect, a method includes receiving, by a client, a resource from one or more servers. The resource includes (i) a link, (ii) click tracking code, and (iii) local storage monitoring code. The method includes invoking, by the client, the click tracking code and the local storage monitoring code, detecting, by the invoked click tracking code, a selection of the link, and generating, by the invoked click tracking code, a representation of the selection. The method includes storing, by the invoked click tracking code, the representation of the selection in a local storage on the client, determining, by the invoked local storage monitoring code, to communicate the representation of the selection; and communicating, by the invoked local storage monitoring code, the representation of the selection to the one or more servers.