IP Library Granted Patent US 12684045
Granted Patent B2
US 12684045 · App. 18/330,703 · Granted Jul 14, 2026

Code monitoring to recommend alternative tracking applications

Inventors: Joshua Davey (Scarborough, CA); Chi Wai Ng (Toronto, CA); Egan Cheung (Manotick, CA); Jonathan Burns (Toronto, CA)
Assignee: SHOPIFY INC.
H04L67/535G06F8/61H04L67/34G06Q30/0201
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 12684045
App. No.
18/330,703
Granted
Jul 14, 2026
Kind
B2
Abstract

Disclosed herein at methods and systems for monitoring and analyzing code and identifying a suitable substitute for the identified code. A central server identifies inserted code configured to communicate session data to a second server. The central server then identifies an application having functionality corresponding to the inserted code. The central server then provides an indication of the corresponding application.

Claims (40)

1 . A computer-implemented method comprising:

identifying, by a server, code inserted into a website, wherein the code is inserted code configured to communicate session data to a second server;

selecting, by the server, a substitute application having functionality corresponding to the inserted code;

providing, by the server, an indication of the substitute application; and

causing, by the server, installation of the substitute application having the functionality corresponding to the inserted code, such that the substitute application communicates session data to the second server.

2 . The computer-implemented method of claim 1 , further comprising causing, by the server, a removal of the inserted code.

3 . The computer-implemented method of claim 1 , wherein the substitute application is configured to transmit user interaction data to the second server.

4 . The computer-implemented method of claim 1 , wherein identifying the substitute application comprises determining that the inserted code has a template that matches a template of the substitute application.

5 . The computer-implemented method of claim 1 , wherein the indication of the substitute application is provided prior to causing the substitution of the substitute application for the inserted code.

6 . The computer-implemented method of claim 5 , further comprising:

receiving, by the server, a selection responsive to the indication, wherein the causing the substitution of the substitute application for the inserted code is performed responsive to the selection.

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

periodically inspecting, by the server, code of a website to identify the inserted code.

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

segregating, by the server, the inserted code to monitor data transmitted by the inserted code to the second server.

9 . A computer system comprising:

a data repository having memory configured to store code; and

a server having a processor in communication with the data repository, the server configured to:

identify code inserted into a website, wherein the code is inserted code configured to communicate session data to a second server;

select a substitute application having functionality corresponding to the inserted code;

provide an indication of the substitute application; and

cause installation the substitute application having the functionality corresponding to the inserted code, such that the substitute application communicates session data to the second server.

10 . The computer system of claim 9 , wherein the server is further configured to cause a removal of the inserted code.

11 . The computer system of claim 9 , wherein the substitute application is configured to transmit user interaction data to the second server.

12 . The computer system of claim 9 , wherein identifying the substitute application comprises determining that the inserted code has a template that matches a template of the substitute application.

13 . The computer system of claim 9 , wherein the indication of the substitute application is provided prior to causing the substitution of the substitute application for the inserted code.

14 . The computer system of claim 13 , wherein the server is further configured to:

receive a selection responsive to the indication, wherein the causing the substitution of the substitute application for the inserted code is performed responsive to the selection.

15 . The computer system of claim 9 , wherein the server is further configured to:

periodically inspect code of a website to identify the inserted code.

16 . The computer system of claim 9 , wherein the server is further configured to:

segregate the inserted code to monitor data transmitted by the inserted code to the second server.

17 . A non-transitory machine-readable storage medium having computer-executable instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

identify code inserted into a website, wherein the code is inserted code configured to communicate session data to a second server;

select a substitute application having functionality corresponding to the inserted code;

provide an indication of the substitute application; and

cause installation of the substitute application having the functionality corresponding to the inserted code, such that the substitute application communicates session data to the second server.

18 . The non-transitory machine-readable storage medium of claim 17 , wherein the instructions further cause the one or more processors to cause a removal of the inserted code.

19 . The non-transitory machine-readable storage medium of claim 17 , wherein the substitute application is configured to transmit user interaction data to the second server.

20 . The non-transitory machine-readable storage medium of claim 17 , wherein identifying the substitute application comprises determining that the inserted code has a template that matches a template of the substitute application.