Client device application interaction monitoring

By generating click IDs on the client device and mapping them with the client ID, the shortcomings of monitoring URI interaction events in the prior art are solved, and reliable monitoring and evaluation of URI-related interaction events are realized.

CN113868557BActive Publication Date: 2025-07-04GOOGLE LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111037441.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2016-06-02
Filing Date
2017-05-24
Publication Date
2025-07-04
Estimated Expiration
2037-05-24

AI Technical Summary

Technical Problem

The prior art is difficult to effectively monitor interactive events associated with unified resource identifiers (URIs) within client applications, especially due to the differences between different client applications and the diversity of interaction event reporting models, which leads to insufficient monitoring technology to support various transformation pings.

Method used

Using a data processing system, by generating a click ID on the client device and mapping it with the client ID, combining the first and second messages, the interaction events associated with the URI are automatically monitored, independent of the basic interaction event reporting model of different client applications.

Benefits of technology

It realizes reliable monitoring and mapping of URI-related interaction events in client applications, supports conversion pings of different client applications, and improves the accuracy and consistency of evaluation of interactive events.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113868557B_ABST
    Figure CN113868557B_ABST
Patent Text Reader

Abstract

The present invention relates to client device application interaction monitoring. The systems and methods herein allow for automatic monitoring of conversions associated with uniform resource identifiers (URIs) accessed via a client application but activated on a web browser. When a URI is activated on the browser of a client device, a data processing system is able to assign a click ID to the activation event and send it to the client device. The client device is able to open the URI in the client application and send the click ID, along with a client ID associated with the client device, to the client device. The data processing system is able to map the click ID to the client ID. When a URI-related conversion occurs on the client application, the data processing system is able to receive a conversion message indicating the conversion and including the client ID, and link the URI-related conversion to the click ID based on the stored mapping.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Division Explanation

[0002] This application is a divisional application of Chinese Patent Application No. 201780000971.8, with a filing date of May 24, 2017.

[0003] Cross - Reference to Related Applications

[0004] This application claims the benefit of U.S. Patent Application No. 15 / 171,965, titled "Client Device Application Interaction Monitoring," filed on Jun. 2, 2016, the content of which is incorporated herein by reference in its entirety. Technical Field

[0005] The present invention relates to client device application interaction monitoring. Background Art

[0006] A uniform resource identifier (URI) of an electronic document, such as a login page, can be assigned to or inserted into a corresponding third-party content item presented on a client device. The electronic document associated with the URI can provide information related to the corresponding third-party content item or its third-party content provider. When the URI is activated, the client device can interact with the content associated with the URI, such as by clicking on an interactive item therein, performing an online transaction, downloading or uploading content, activating a video segment, or entering text in a text field. Monitoring such client device interactions can allow a third-party content provider to evaluate the success rate of the corresponding third-party content item in participating client devices. Summary of the Invention

[0007] The systems and methods herein allow for automatic monitoring of interactions with content associated with and accessed via a client application but activated on a web browser. When a URI is activated on a browser of a client device, a data processing system can assign a click ID to the activation event and send it to the client device. The client device can open the URI in a client application and send the click ID and a client ID associated with the client device to the client device. The data processing system can map the click ID to the client ID. When a URI-related interaction event occurs on the client application, the data processing system can receive an interaction message indicating the interaction event and including the client ID, and link the URI-related interaction to the click ID based on the stored mapping.

[0008] At least one aspect relates to a system for monitoring interactions with content associated with a Uniform Resource Identifier (URI) accessed via a client application. The system includes a data processing system having a content component, a click server, and a performance component. The content component is capable of sending a third-party content item and a URI via a computer network to a client device for rendering on a web page by a web browser of the client device. The URI, when activated by the client device, causes a client application different from the web browser on the client device to display content associated with the URI within the client application. The click server is capable of receiving an indication that the URI has been activated by the client device from the web browser of the client device via the computer network, and in response, sending a click identifier (ID) to the web browser of the client device via the computer network. The performance component is capable of receiving, via the computer network, a first message including the click ID and a client identifier (ID) associated with the client device from the client application in response to the display of the content associated with the URI within the client application. The performance component is capable of storing a mapping between the client ID and the click ID in a memory. The performance component is capable of receiving, via the computer network, a second message from the client application indicating an interaction event performed via the client application associated with the URI. The second message can include the client ID. The performance component is capable of associating the interaction event with the click ID based on the second message and the mapping between the client ID and the click ID.

[0009] At least one aspect relates to a method of monitoring interactions with content associated with a Uniform Resource Identifier (URI) accessed via a client application. The method can include a data processing system providing a third-party content item and URI via a computer network for presentation with an electronic document by a web browser of a client device. Activation of the URI by the client device causes a client application different from the web browser on the client device to display content associated with the URI within the client application. The method can include the data processing system receiving, via the computer network, an indication of a URI activation event from the client device, which indicates that the URI has been activated by the client device. The method can include the data processing system sending, in response to receiving the URI activation indication, a click identifier (ID) to the client device via the computer network. The method can include the data processing system receiving, via the computer network, from the client device a first message including the click ID and a client identifier (ID) associated with the client device in response to the display of the content associated with the URI within the client application. The method can include the data processing system storing a mapping between the client ID and the click ID in a memory. The method can include the data processing system receiving, via the computer network, an indication of an interaction event performed via the client application associated with the URI. The second message can include the client ID. The method can further include the data processing system associating the interaction event with the click ID based on the second message and the mapping between the client ID and the click ID.

[0010] At least one aspect relates to a non - transitory computer - readable medium having computer code instructions thereon. The computer code instructions, when executed by one or more processors of a data processing system, are capable of causing the data processing system to perform a method of monitoring an interaction with content associated with a Uniform Resource Identifier (URI) accessed via a client application. The method can include providing a third - party content item and a URI via a computer network for presentation with an electronic document by a web browser of a client device. The URI, when activated by the client device, causes a client application different from the web browser on the client device to display content associated with the URI within the client application. The method can include receiving, via the computer network, a URI activation event indication from the client device, which indicates that the URI has been activated by the client device. The method can include sending, in response to receiving the URI activation indication, a click identifier (ID) via the computer network to the client device. The method can include receiving, via the computer network from the client device, a first message including the click ID and a client identifier (ID) of the third - party content item in response to the display of the content associated with the URI within the client application. The method can include storing a mapping between the client ID and the click ID in a memory. The method can include receiving, via the computer network, a second message indicating an interaction event performed via the client application associated with the URI. The second message can include the client ID. The method can also include correlating the interaction event to the click ID based on the second message and the mapping between the client ID and the click ID. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Details of one or more embodiments are set forth in the following drawings and description. Other features, aspects, and advantages of the disclosure will be apparent from the description, drawings, and claims, in which:

[0012] Figure 1 is a general overview of an embodiment of a system for providing information via a computer network;

[0013] Figure 2 shows a diagram illustrating a computer environment for monitoring web - to - application conversion (or interaction) associated with a respective Uniform Resource Identifier (URI);

[0014] Figure 3 shows a flowchart of a method 300 for monitoring conversion associated with a Uniform Resource Identifier (URI) accessed via a client application; and

[0015] Figure 4 is a block diagram of an embodiment of an overall architecture of a computer system that can be used to implement the various elements of the systems and methods described and illustrated herein.

[0016] Some or all of the figures are schematic representations for illustrative purposes. The above information and the following detailed description include illustrative examples of various aspects and embodiments, and provide an overview or framework for understanding the attributes and characteristics of the claimed aspects and embodiments. The figures provide illustrations and further understanding of the various aspects and embodiments, and are incorporated in and form a part of this specification. Detailed Description

[0017] The following is a more detailed description of various concepts related to methods, apparatuses, and systems for monitoring web-to-application content interactions (or conversions) and their embodiments. Web-to-application content interactions involve interactions with third-party content displayed within a client application in response to the activation of a corresponding Uniform Resource Identifier (URI) on a web browser. The various concepts introduced above and discussed in detail below can be implemented in any of a variety of ways, as the described concepts are not limited to any particular manner of implementation. Examples of specific implementations and applications are provided primarily for illustrative purposes.

[0018] Monitoring web-to-application content interactions in a computer environment presents many technical challenges. Web-to-application content interactions are interaction (or conversion) events associated with a Uniform Resource Identifier (URI) that is activated on a web browser and opened within a client application in response to that activation. Differences in the corresponding software modules and data structures between the activation platform (e.g., web browser) and the interaction (or conversion) platform (e.g., client application) require new content interaction monitoring techniques. For example, a web browser and a client application running on a client device may not be configured to share or exchange corresponding status information or corresponding execution events.

[0019] A third-party content provider provides third-party content for display on a client device, and the client device seeks to enable a user of such a device to participate in execution of an interaction event. Interaction events (or conversion events) associated with a displayed third-party content item can include purchasing a product item, purchasing a service, participating in an online game, registering for a service, making a donation (such as a donation to a non-profit organization or a political campaign), filling out a survey, accessing a web page, or a combination thereof. A third-party content item such as an advertisement can include a Uniform Resource Identifier (URI) (or be displayed with it) representing a link to additional content (or a landing page). The additional content can be associated with a product or service, for example, that is associated with the third-party content provider. The client device is capable of displaying the additional content associated with the URI, for example, being displayed with the third-party content item in response to the activation of the URI.

[0020] A client device can display content associated with a URI on a web browser or within a client application that is different from the web browser and is on the client application. For example, some operating systems can support universal links. Thus, a client device that supports such an operating system can open a Hypertext Transfer Protocol (HTTP) Uniform Resource Locator (URL) in, for example, a web browser or within a client application on the client device. When a URI (or URL) is displayed on a web browser along with a third-party content item, there are technical challenges in monitoring any interaction events associated with the URI that occur within the client application when the URI is activated.

[0021] A third-party content provider seeks to monitor interaction events associated with a corresponding URI (e.g., ad conversions). Such monitoring allows for a reliable and objective assessment of the success rates of various third-party content items and the corresponding URIs. Interaction events can include an online purchase of a product or service associated with the third-party content provider, performing an online reservation, making an online donation, filling out an online survey, downloading an electronic file, participating in an electronic game, or a combination thereof. Monitoring interaction events can include a data system receiving information indicating an interaction event from a client device when the interaction event occurs and mapping such information to the corresponding URI.

[0022] A web-to-web interaction event monitoring mechanism can evaluate URIs opened within a web browser. When a client device activates a URI displayed on a web browser, a data processing system can send a data block to the client device to obtain information indicating the interaction of the client device with the content displayed on the web browser. When an interaction event is performed on the web browser, an interaction event detection module (e.g., running within the browser) can cause the client device to send the data block to the data processing system. The data processing system can scan the received data block and extract information indicating the interaction event performed on the web browser. In this example, the data processing system can monitor each web-to-web interaction event where a URI associated with a third-party content item is displayed on the web browser and the corresponding content is also displayed on the web browser when the URI is activated.

[0023] For web-to-application interactions, where a URI is displayed on a web browser along with a corresponding third-party content item, but the content associated with the URI is displayed on a client application in response to activation of the URI, using a data block and interaction event detection module may not be sufficient to monitor interaction events occurring within the client application. When executed by a client device, the interaction event detection module enables the client device to detect interaction events occurring on the browser, but does not detect conversions occurring within the client application. Additionally, for many client applications, data blocks may not be sufficient as a tool for recording the interactions of the client device with the content displayed via the client application. Thus, web-to-web interaction event monitoring techniques may not be sufficient to monitor web-to-application interaction events.

[0024] A client application can report an interaction event by sending a conversion message (or conversion ping) to a data processing system or a remote server. The message can include any information indicating the URI at the start of any interaction event. From a data processing perspective, at least one technical challenge involves how to map the reported interaction events to the corresponding URIs. Moreover, different client applications can report interaction events in different ways. For example, the type, format, or content of the message used to report an interaction event can vary with the client application. Such variations in the message pose another technical challenge. For example, a web-to-application interaction event monitoring solution is desired to support various conversion pings associated with different client applications.

[0025] At least one technical solution described herein provides a data processing system that can automatically and reliably monitor web-to-application interaction events associated with corresponding URIs. The web-to-application interaction event monitoring process performed by the data processing system is independent of the underlying interaction event reporting models employed by various third-party content providers. For example, the web-to-application interaction event monitoring process can decouple the mechanism for linking interaction events to the corresponding URIs (or corresponding URI activation events) from the conversion pings used by client applications. This mechanism can be referred to herein as the click-through link mechanism. Decoupling the click-through link mechanism from the conversion pings allows support for various conversion pings associated with different client applications, for example.

[0026] In response to receiving a search query or request for a third-party content item, the data processing system is capable of providing one or more URIs for display on a client device along with the selected third-party content item or the selected set of search result items. The URIs can be opened within a client application on the client device when activated. When a client device activates one of the one or more URIs, the data processing system can receive an indication of such activation. For example, the client device can send the URI to the data processing system when the URI is activated.

[0027] In response to the received indication, the data processing system can determine (or assign) a click ID for the URI. The click ID can be regarded as an identifier for the URI activation event on the client device. The data processing system can store the mapping between the click ID and the URI item and the mapping between the click ID and the conversion ID. The conversion ID can indicate the type of interaction event associated with the URI. The data processing system can then send the click ID to the data processing system. For example, the data processing system can attach the click ID to the URI and send the attached URI to a web browser on the client device.

[0028] Upon receiving the click ID, the client device (or the browser therein) can cause the URI to be opened within the client application. In particular, the client device can cause the content associated with the URI to be displayed within the client application (e.g., if installed on the client device). Opening the URI within the client application can include the client device starting the client application. The client application (or the client device) can determine a client ID (or device ID) associated with (or identifying) the client device. In response to displaying the content associated with the URI, the client application can send a first message to the data processing system that includes the click ID and the client ID. The first message indicates the display of the content associated with the URI within the client application.

[0029] Upon receiving the first message, the data processing system is capable of extracting the click ID and the client ID and storing the mapping between the click ID and the client ID. Such a mapping allows the data processing system to link interaction events performed within the client application associated with the URI. In particular, when the client device performs an interaction event within the client application associated with the URI, the client application (or a software development kit (SDK) running on the client device) can cause the client device to send a second message indicating the interaction event to the data processing system. The second message can include the client ID. The second message can further include, for example, a conversion ID indicating the type of interaction event, a timestamp indicating the time when the conversion occurred, an application ID identifying the client application (or its type), or a combination thereof. Upon receiving the second message, the data processing system can identify (or extract) the parameters embedded in the second message. The data processing system can use the client ID embedded in the second message and the stored mapping between the click ID and the client ID to link the interaction event to the click ID.

[0030] Using both the first and second messages transmitted by the client device to the data processing system instead of a single conversion ping allows the data processing system to monitor web-to-application interaction events and associate such interaction events with the corresponding URI activation events. Additionally, using the first and second messages allows the data processing system to distinguish interaction events performed within the client application from interaction events performed on a web page (associated with the corresponding URI) where only conversion pings are used. When linking the reported interaction events to the corresponding click IDs, the data processing system can report such interaction events to third-party content providers associated with third-party content items and the activated URIs.

[0031] Systems and methods for monitoring interaction events associated with a uniform resource identifier (URI) accessed via a client application include a data processing system that provides third-party content items and URIs via a computer network for rendering on a web page by a web browser of a client device. The URI, when activated by the client device, can cause a client application different from the web browser on the client device to display content associated with the URI within the client application. The data processing system can receive an indication that the URI has been activated by the client device from the browser of the client device via the computer network, and in response to receiving the indication that the URI has been activated by the client device, send a click identifier (ID) to the web browser of the client device. The data processing system can receive a first message from the client application in response to the display of content associated with the URI within the client application, the first message including a client identifier (ID) associated with the client device and the click ID, and store a mapping between the client ID and the click ID in a memory. When an interaction event is executed within the client application associated with the URI, the data processing system can receive a second message from the client application indicating such interaction event. The second message includes at least the client ID. The data processing system can associate the interaction event with the click ID based on the second message including the client ID and the mapping between the client ID and the click ID stored in the memory.

[0032] In cases where the systems discussed here collect or make use of personal information about users, users may be provided with an opportunity to control whether programs or features collect user information (e.g., information about a user's social network, social actions or activities, profession, user preferences, or user's current location), or to control whether and / or how content may be received from a content server that may be more relevant to the user. Additionally, certain data may be processed in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, a user's identity may be processed so that personally identifiable information cannot be determined for the user, or the user's geographical location may be generalized (such as processed to the city, ZIP code, or state level) when location information is obtained so that the user's specific location cannot be determined. Thus, users can control how information about them is collected and how the content server uses that information.

[0033] Figure 1FIG. 0 is a block diagram of an implementation of a system 100 for providing information via at least one computer network such as network 101. Network 101 may include a local area network (LAN), a wide area network (WAN), a telephone network such as a public switched telephone network (PSTN), a wireless link, an intranet, the Internet, or a combination thereof. System 100 may also include at least one data processing system, such as a content item selection system. Data processing system 110 may include at least one logic device, such as a computing device having a processing module, to communicate via network 101 with, for example, a resource server 104, a client device 120, or a third-party content server 102. Data processing system 110 may include one or more data processors, such as a content placement processor, configured to execute instructions stored in a memory device to perform one or more operations described herein. In other words, one or more data processors and the memory device of data processing system 110 may form a processing module. The processor may include a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc., or a combination thereof. The memory may include, but is not limited to, an electronic, optical, magnetic, or any other storage or transmission device capable of providing program instructions to the processor. The memory may include a floppy disk, a compact disc read only memory (CD-ROM), a digital versatile disc (DVD), a magnetic disk, a memory chip, a read only memory (ROM), a random access memory (RAM), an electrically erasable programmable read only memory (EEPROM), an erasable programmable read only memory (EPROM), a flash memory, an optical medium, or any other suitable memory from which the processor can read instructions. The instructions may include code from any suitable computer programming language. The processor may process the instructions and output data for implementing the presentation of one or more content items to resource server 104 or client device 120. In addition to the processing circuitry, data processing system 110 may include one or more databases configured to store data. Data processing system 110 may also include an interface configured to receive data via network 101 and provide data from data processing system 110 to any other device on network 101. Data processing system 110 may include a server, such as an advertising server, etc.

[0034] The client device 120 may include one or more devices such as a computer, laptop, desktop, smartphone, tablet, personal digital assistant, set-top box for a television, smart TV, or a server device configured to communicate with other devices via the network 101. The device may be any form of portable electronic device including a data processor and a memory. The memory may store machine instructions that, when executed by the processor, cause the processor to perform one or more operations described herein. The memory may also store data implementing the presentation of one or more resources, content items, etc. on the computing device. The processor may include a microprocessor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), etc., or a combination thereof. The memory may include, but is not limited to, an electronic, optical, magnetic, or any other storage or transmission device capable of providing program instructions to the processor. The memory may include a floppy disk, compact disc read only memory (CD-ROM), digital versatile disc (DVD), magnetic disk, memory chip, read only memory (ROM), random access memory (RAM), electrically erasable programmable read only memory (EEPROM), erasable programmable read only memory (EPROM), flash memory, optical media, or any other suitable memory from which the processor can read instructions. The instructions may include code from any suitable computer programming language.

[0035] The client device 120 is capable of executing software applications (e.g., a web browser or other application) to obtain content from other computing devices via the network 101. Such an application may be configured to obtain first-party content from the resource server 104. The application running on the client device 120 itself may be first-party content (e.g., a game, media player, etc.). The client device 120 may execute a web browser application that provides a browser window on the display of the client device. The web browser application providing the browser window may operate by receiving an input of a uniform resource locator (URL), such as a web address, from an input device (e.g., a pointing device, keyboard, touch screen, or other form of input device). In response, one or more processors of the client device 120 executing instructions from the web browser application may request data from another device (e.g., the resource server 104) connected to the network 101 that is referenced by the URL address. The other device may then provide web page data, geographical map data, or other data to the client device 120, which causes a visual indication to be displayed on the display of the client device 120. Accordingly, the browser window displays the obtained first-party content, such as web pages from various websites, thus facilitating user interaction with the first-party content.

[0036] The resource server 104 may include a computing device such as a server, which is configured to host resources such as web pages or other resources (e.g., articles, comment nesting, music, videos, graphics, search results, information feeds, geographical map data, etc.). The resource server 104 may be a computer server (e.g., File Transfer Protocol (FTP) server, file sharing server, web server, etc.) or a combination of servers (e.g., data center, cloud computing platform, etc.). The resource server 104 is capable of providing resource data or other content (e.g., text documents, PDF files, and other forms of electronic documents) to the client device 120. The client device 120 is capable of accessing the resource server 104 via the network 101 to request data for implementing the rendering of the resources of the resource server 104.

[0037] One or more third-party content providers may cause the third-party content server 102 to provide data of third-party content items directly or indirectly to the data processing system 110 or other computing devices via the network 101. The content item may be in any format capable of being rendered on the display of the client device 120, such as graphics, text, images, audio, video, etc. The content item may also be a combination (mix) of formats. The content item may be a banner content item, an interstitial content item, a pop-up content item, a rich media content item, a hybrid content item, a content item, a cross-domain iframe content item, etc. The content item may also include embedded information such as hyperlinks, metadata, links, machine-executable instructions, annotations, etc. In some instances, the third-party content server 102 may be integrated into the data processing system 110, or the data of the third-party content items may be stored in the database of the data processing system 110.

[0038] The data processing system 110 can receive requests for content items to be presented with resources via the network 101. The requests can be received from the resource server 104, the client device 120, and / or any other computing device. The resource server 104 can be owned or operated by a first-party content provider, which can include instructions for the data processing system 110 to provide third-party content items with one or more resources of the first-party content provider on the resource server 104. The resources can include web pages or geographic map data. The client device 120 can be a computing device operated by a user (represented by an anonymous device identifier), for example, when accessing the resources of the resource server 104, it can make requests to the data processing system 110 for one or more content items to be presented with the resources. The content item requests can include request device information (e.g., web browser type, operating system type, one or more previous resource requests from the request device, one or more previous content items received by the request device, language settings of the request device, geographical location of the request device, time of day at which the request device is located, day of the week at which the request device is located, day of the month at which the request device is located, day of the year at which the request device is located, etc.) and resource information (e.g., URL of the requested resource, one or more keywords of the content of the requested resource, text of the content of the resource, title of the resource, category of the resource, type of the resource, etc.). The information received by the data processing system 110 can include Hypertext Transfer Protocol (HTTP) cookies or other data chunks that contain a device identifier representing the client device 120 (e.g., a random number or a pseudo-random number). The device information or resource information can be attached to the content item request URL (e.g., contentitem.item / page / contentitem?devid=abcl23&devnfo=A34r0). The device information or resource information can be encoded before being attached to the content item request URL. The request device information or resource information can be used by the data processing system 110 to select third-party content items to be dispatched with the requested resource and presented on the display of the client device 120.

[0039] The resources of the resource server 104 may include search engine features. The search engine features may receive a search query (e.g., a text string) via an input feature (e.g., an input text box, etc.). The search engine may search a document index (e.g., other resources, such as web pages, etc.) for relevant search results based on the search query. The search results may be transmitted as a second resource to present relevant search results such as a search results web page on the display of the client device 120. The search results may include, for example, a web page title or a hyperlink, etc. One or more third-party content items may also be presented along with the search results in the content item slot of the search results web page. Thus, the resource server 104 or the client device 120 may request one or more content items from the data processing system 110 for presentation in the content item slot of the search results web page. The content item request may include additional information, such as user device information, resource information, the number of content items, the format of the content items, the search query string, the keywords of the search query string, information about the query (e.g., geographical location information or time information). The resource server 104 (or the data processing system 110) may delineate between the search results and the third-party content items to avoid confusion. For example, the resource server 104 (or the data processing system 110) may specify a display area for the search results and the third-party content items on a web browser.

[0040] The third-party content server 102 may manage the selection and distribution of content items through the data processing system 110. For example, the third-party content server 102 may set a bid value or selection criteria via a user interface, which may include one or more content item conditions or constraints regarding content item distribution. The third-party content server 102 may specify that a content item or a set of content items is to be selected and distributed for client devices 120 having device identifiers associated with, for example, a certain geographical location or region, a certain language, a certain operating system, or a certain web browser. The third-party content provider may specify that a content item or a set of content items is to be selected and distributed when a resource such as a web page, a document, etc. contains content that matches or is relevant to certain keywords, phrases, etc. The third-party content server 102 may set a single bid value for several content items, a bid value for a subset of content items, or a bid value for each content item. The third-party content provider may also set the type of bid value, such as a bid based on whether a user clicks on a third-party content item, whether a user performs a specific action based on the presentation of a third-party content item, whether a third-party content item is selected and distributed, and / or other types of bids.

[0041] Figure 2FIG. shows a diagram of a computer environment 200 for monitoring web-to-application conversions (or interactions) associated with corresponding Uniform Resource Identifiers (URIs). The computer environment 200 can include a data processing system 110, a client device 120, and a computing device 202 associated with a third-party content provider. The data processing system 110, the client device 120, and the computing device 202 can be communicatively coupled via the ([ Figure 1 shown) communication network 101. The data processing system 110 can include a content server (or content component) 112, a click server 114, a performance server (or performance component) 116, and a database 118. The client device 120 can include a web browser 123 and a client application 125 different from the web browser. Although Figure 2 a single client device 120 is shown, generally, the computer environment 200 can include a plurality of client devices 120 communicatively coupled to the data processing system 110 via the ([ Figure 1 shown) communication network 101. The content server 112, the click server 114, and the performance server 116 can be implemented as separate computing devices (or on separate computing devices). In some instances, software (or hardware) modules associated with the various servers among the content server 112, the click server 114, and the performance server 116 can be implemented on a single computing device.

[0042] The data processing system 110 can include a content server (or content component) 112. The content server can be a separate computing device (such as a hardware server) or a software module executable by one or more computing devices. Generally, the content server 112 can include software modules, hardware modules, or a combination of software and hardware modules. The data processing system 110 can include multiple content servers 112. The content server 112 can be configured to select and provide third-party content for presentation on the client device 120. For example, the content server 112 can receive a request for a third-party content item for presentation on the client device 120. In response to the request, the content server 112 can select a third-party content item to send to the client device 120. The selected third-party content item can include a URI (or be associated with a URI). For example, the data processing system 110 can provide a user interface to each third-party content provider to assign one or more URIs to each corresponding third-party content item. In some instances, the content server 112 can also select a URI to provide along with the third-party content item. The URI can be, for example, the Uniform Resource Locator (URL) or address of a login page. The content server 112 can provide the third-party content item 205 to the web browser 123 of the client device 120 for display thereon.

[0043] A browser 123 can, for example, display a third-party content item 205 (along with the URI) within an electronic document (or web page). When the URI is activated on the browser 123 of the client device 120, the browser 123 can cause the client device 120 to send a URI activation event indication 210 to the data processing system 110. The URI activation event indication 210 indicates the activation of the URI on the client device 120. The URI activation event indication 210 can be a request for content associated with the URI that points to the data processing system 110. The URI activation event indication 210 can include the activated URI.

[0044] The click server 114 can be configured to monitor URI activations on the client device 120. The click server 114 can receive the URI activation event indication 210 and assign a click identifier (ID) 215 to the URI activation event. The click ID 215 identifies the event that activates the URI on the client device 120. The click ID 215 can be a number or a string. In some instances, the click server 114 can store a mapping between the click ID 215 and the URI in the database 118. In some instances, the click server 114 can store a mapping between the click ID 215 and a conversion ID. The conversion ID can indicate the type of conversion associated with the URI. The type of conversion can, for example, include an online transaction, a download / upload of an electronic file, filling out an electronic questionnaire, making an online donation, activating an electronic game, playing a video clip, or activating an icon associated with content accessible via the URI.

[0045] In response to receiving a URI activation indication, the click server 114 can send a click ID 215 to the browser 123 of the client device 120. For example, the click server 114 can attach the click ID 215 to the URI and send the attached URI to the web browser 123. An illustrative example of a URI attached with a click ID 215 (e.g., gclid) can be as follows: http: / / www.nay.sk / ?pty=specials&gclid=CjwKEAjwgMieBRCB3bqB94e9lD4SJABW3sTNdbigl8T3Prh00pPhbuGlzhOgLqc7JBy_b0lwxcK_PRoCgG7w_wcB. Another illustrative example of a URI attached with a click ID 215 can be my app: / / product=124&referrer=gclid%3D123. In this example, the click ID 215 can be embedded within the URI as part of a parameter (e.g., "referrer"). For example, the click server 114 attaches a parameter (e.g., "referrer") including the click ID to the URI. In some instances, the click server can check the account settings of the third-party content provider associated with the third-party content item 205. If the setting parameter "auto-tagging" is enabled, the click server 114 can automatically attach the click ID 215 to the URL. By enabling auto-tagging, the third-party content provider can enable the content associated with one or more URIs to be displayed on the corresponding client application installed on the client device 120. In some instances, the click server 114 can send the click ID 215, for example, as a discrete parameter within a message, to the web browser 123. Upon receiving the click ID 215 or the attached URI, the web browser 123 (or the client device 120) can cause the application 125 to display the content associated with the URI. The processor of the client device can check whether the client application 125 is installed on the client device 120 before the web browser 123 forwards the URI to the client application 125. If the client application 125 is not installed on the client device 120, the processor of the client device can cause the content associated with the URI to be displayed on the web browser 123. In some instances, forwarding the URI (e.g., the attached URI) can include the processor of the client device starting the client application 125 on the client device 120.

[0046] The data processing system 110 can provide one or more SDKs (or software modules) to the computing device 202 of a third-party content provider for integration with a client application. When executed by the client device 120, the software module can cause the application 125 to send a first message 220 (also referred to as a "connection ping") to the performance server 116 in response to opening a URI within the client application 125. For example, the software module can include a "restorationHandler" function for integration within the "appDelegate" class associated with the client application 125. When executed by the processor of the client device, this function can cause the client device 120 to check whether the type of activity (e.g., associated with the activity of opening a URI within the client application 125) corresponds to an application programming interface (API) that indicates a deep link activity into the client application 125 via a universal link (or the display of the URI content within the client application 125). When executed by the processor of the client device 120, the software module (or SDK) can further cause the client device 120 to extract a click ID 215 from the attached URI, for example, when determining that the activity is a deep link activity into the client application 125. When executed by the processor of the client device 120, the software module (or SDK) can also cause the client device 120 to send the first message 220 to the performance server 116.

[0047] The first message 220 can include at least the click ID 215 and a client ID. The client ID can be associated with or identify the client device 120. The first message 220 can include an application identifier (ID) associated with (or identifying) the client application 125. The client application 125 (or the SDK provided by the data processing system 110) can be configured to cause the client device 120 to determine the client ID (or device ID) when executed by the processor of the client device. For example, the client device 120 can obtain the client ID from a memory associated with the client device. An example of the first message 220 can be as follows:

[0048] https: / / www.googleadservices.com / pagead / conversion / app / connect / <App_id> / ?app_event_type=deep_link

[0049] &idtype=AdID / / client ID type

[0050] &rdid= <adid> / / client ID

[0051] &sdkversion=<sdk_version> / / <company>-i-v<1.2.3>

[0052] &gclid= <abcd> / / click ID

[0053] &retry=1 / / only present if this is a retry URL

[0054] As illustrated in this example, the first message 220 can further include other parameters, such as an indication of the message type (e.g., connection ping), an application ID (e.g., <App_id>), an indication of the activity type (e.g., deep link activity in the client application 125), an indication of the SDK version, and an indication of whether the process of displaying content associated with the URI within the client application 125 is a retry. In some instances, the first message can include any combination of these parameters. The application ID can identify the client application 125.

[0055] By providing the SDK such that the client device 120 sends the first message 220 in response to the display of content associated with the URI activated within the client application 125, the data processing system 110 can link the client ID to the click ID 215 based on the message received within the first message 220. Since the conversion messages (used to report conversion events) employed by third-party content providers typically include the client ID, the mapping (or linking) of the client ID to the click ID 215 (based on the information received within the first message 215) enables the data processing system 110 to link the conversion event (or interaction event) associated with the content of the URI displayed within the client application 125 to the URI activation event executed on the client device 120 (and thus to the URI).

[0056] The performance server 116 can be configured to receive a first message 220 and store, based on the information received within the first message 220, a mapping between the click ID 215 and the client ID in the database 108. For example, the performance server 116 can scan the first message 220 received from the client application 125 and extract therefrom parameters including the click ID 215 and the client ID. The performance server 116 can store in the database 118 a data structure (such as a column / row of a table or a linked list) that associates the extracted click ID with the extracted client ID. The data structure can include other parameters extracted from the received first message 220, such as an application ID. The data structure can also associate the application ID with the click ID. Storing the parameters extracted from the first message 220 (including the mapping between the click ID 215 and the client ID) can include the performance server 116 encrypting the click ID 215, the client ID, the application ID, other parameters, or a combination thereof, and storing the encrypted parameters. Storing the parameters in encrypted form enhances the security of the system and the privacy of such data. In some instances, scanning the first message 220 can include the performance server 116 verifying the received first message 220. For example, the performance server 116 can check, within the received first message 220, the message type and / or one or more other parameters to determine that the validity of the received message is a "connection ping".

[0057] When a conversion (or interaction) event involving content of a URI occurs within the client application 125, the client application 125 (or the SDK) can cause the client device 120 to send a second message (or conversion message) 225 to the performance server 116. The conversion message can include the client ID, a conversion ID (e.g., indicating the type of conversion or interaction event performed within the client application 125), an application ID identifying the client application 125 (or its type), conversion transaction information (or a parameter such as a transaction volume), a timestamp indicating the time when the conversion occurred, or a combination thereof.

[0058] In response to receiving the second message 225, the performance server 116 can be configured to identify the click ID (or URI activation event) associated with the conversion indicated within the second message 225. For example, the performance server 116 can extract the client ID from the second message 225 and determine the corresponding click ID by matching the extracted client ID with the client ID stored in the database 118 and associated with (or mapped to) the click ID 215. When determining the click ID 215 corresponding to the conversion event indicated within the second message 225, the performance server 116 can store the conversion parameters received within the second message 225 (such as the application ID, a timestamp indicating the time of conversion, and / or conversion transaction information) in the database 118 in association with the determined click ID 215. Identifying (or determining) the click ID corresponding to the received conversion message (such as the second message 225) can indicate a web-to-application conversion. In some instances, if no click ID is determined to correspond to the received conversion message, the conversion message can, for example, be interpreted as indicating a web-to-web conversion.

[0059] In some embodiments, the client application 125 (or SDK) can cause the client device 120 to store the click ID 215 in a data cache associated with the client application 125 upon receiving the click ID 215. According to these embodiments, the client device 120 (or the client application 125 with the SDK) can omit sending the first message 220 to the performance server 116. Instead, in response to a conversion (or interaction) event, the client application 125 (or SDK) can cause the client device 120 to retrieve the click ID 215 from the data cache and send the click ID 215 within the second message 225, for example, along with the client ID, application ID, conversion ID, timestamp, or a combination thereof.

[0060] Based on the determined click ID 215, the performance server 116 can also compare the conversion ID received within the second message 225 with the conversion ID mapped to the click ID 215 within the database 118. Based on this comparison, the performance server 116 can determine the validity (or authenticity) of the second message 225 (or the conversion indicated therein). For example, the performance server 116 can be configured to store the conversion parameters when a match is determined between the conversion ID received within the second message 225 and the conversion ID mapped to the click ID 215 stored within the database 118. In some instances, the performance server 116 can be configured to update the saved conversion statistics (or performance statistics) associated with the third-party content item 205, the URI presented with the third-party content item 205, the client application 125, or the client device 120 based on the information received within the second message 225.

[0061] In some instances, the performance server 116 can be configured to receive a second message 225 via a computer device associated with a third-party content provider (such as the third-party content server 102 or the computing device 202). The performance server 116 can be configured to send URI activation event information (such as the click ID 215, URI, conversion ID stored in the database 118, a timestamp indicating the time of URI activation on the web browser 123, or a combination thereof) in response to receiving the second message 225. The performance server 116 can send the URI activation information in the form of a URL. A template of the URL including the URI activation information can be predefined. Sending the URI activation information to a computer device associated with a third-party content provider includes identifying the click ID associated with the received second message 225 (as described above), and obtaining one or more parameters (such as the click ID 215, URI, conversion ID stored in the database 118, a timestamp indicating the time of URI activation on the web browser 123, or a combination thereof) from the database 118 based on the identified click ID for sending to the computer device associated with the third-party content provider.

[0062] In some instances, the performance server 116 can forward the URI activation event information to the click server 114 for sending to a computer device associated with a third-party content provider. For example, the click server 114 can be configured to ping the performance server 116 for the URI activation event information. In response, the performance server 116 can check for any reported conversion events (e.g., check any received conversion messages), and upon determining the received conversion message, the performance server 116 can respond to the click server 114 by sending the corresponding URI activation time information (e.g., including the click ID 215, URI, conversion ID stored in the database 118, a timestamp indicating the time of URI activation on the web browser 123, or a combination thereof).

[0063] In some instances, the performance server 116 can receive the second message 225 from the client device 120 (or the web browser 123). In these instances, the performance server 116 can be configured to report a combination of conversion parameters (e.g., from the second message 225) and URI activation event parameters (e.g., obtained from the database 118) to a computer device of the third-party content provider in response to receiving the second message 225. The performance server 116 can be configured to send the combination of the conversion parameters and the URI activation event parameters to the computer device of the third-party content provider in the form of a URL.

[0064] Figure 3 FIG. 300 is a flow diagram illustrating a method for monitoring conversions associated with a Uniform Resource Identifier (URI) accessed via a client application. Method 300 can include a data processing system providing a third-party content item via a computer network for display on a client device (act 310), and receiving a URI activation event indication from the client device (act 320). Method 300 can include the data processing system sending a click ID to the client device in response to receiving the URI activation event indication (act 330). Method 300 can include the data processing system receiving a first message including the click ID and a client ID in response to opening the URI in the client application of the client device (act 340), and storing a mapping between the click ID and the client ID in a memory (act 350). Method 300 can include the data processing system receiving a second message including the client ID and indicating a conversion associated with the URI performed via the client application (act 360), and associating the conversion indicated within the second message with the click ID (act 370).

[0065] Referring Figures 1 - 3 , method 300 can include data processing system 110 providing a third-party content item via computer network 101 for display on client device 120 (act 310). Data processing system 110 can receive a request for a third-party content item to be presented on client device 120. In response to the request, data processing system 110 can select a third-party content item to send to client device 120. The selected third-party content item can include a URI (or be associated with a URI). In some instances, data processing system 110 can also select a URI to provide along with the selected third-party content item. The URI can be, for example, the Uniform Resource Locator (URL) or address of a login page. Data processing system 110 can send the third-party content item and the URI to client device 120 for display thereon by web browser 123 within an electronic document (e.g., a web page).

[0066] Method 300 may include the data processing system 110 receiving a URI activation event indication from the client device 120 (act 320). For example, when the client device 120 activates a URI on the web browser 123, the client device 120 is capable of sending a URI activation event indication 210 to the data processing system 110. The URI activation event indication 210 indicates the URI activation on the client device 120. The URI activation event indication 210 may be a request for content associated with the URI that points to the data processing system 110. The URI activation event indication 210 may include the activated URI. In response to receiving the URI activation event indication, the data processing system 110 is capable of assigning a click ID to the URI activation event. The click ID 215 identifies the event that activates the URI on the client device 120. The click ID 215 may be a number or a string. In some instances, the data processing system 110 is capable of storing a mapping between the click ID 215 and the URI in the database 118. In some instances, the data processing system 110 is capable of storing a mapping between the click ID 215 and a conversion ID. The conversion ID can indicate the type of conversion associated with the URI. The type of conversion can, for example, include an online transaction, a download / upload of an electronic file, filling out an electronic questionnaire, making an online donation, activating an electronic game, playing a video clip, or activating an icon associated with content accessible via the URI.

[0067] Method 300 can include data processing system 110 sending a click ID to client device 120 in response to receiving a URI activation event indication (action 330). For example, data processing system 110 can attach the click ID to the URI and send the attached URI to client device 120. In some instances, data processing system 110 can check the account settings of a third-party content provider associated with the third-party content item and the URI. If the setting parameter "auto-tagging" is enabled, data processing system 110 can automatically attach the click ID to the URI. By enabling auto-tagging, the third-party content provider can cause content associated with one or more URIs to be displayed on the corresponding client application installed on client device 120. In some instances, data processing system 110 can send the click ID to client device 120 as a discrete parameter, for example, within a message. Upon receiving the click ID or the attached URI, client device 120 can cause application 125 to display the content associated with the URI. The processor of the client device can check whether client application 125 is installed on client device 120 before web browser 123 forwards the URI to client application 125. If client application 125 is not installed on client device 120, the processor of the client device can cause the content associated with the URI to be displayed on web browser 123. In some instances, forwarding the URI (e.g., the attached URI) can include the processor of the client device launching client application 125 on client device 120.

[0068] Method 300 can include data processing system receiving a first message including a click ID and a client ID in response to opening a URI in a client application 125 (different from browser 123) of client device 120 (action 340). The client ID can identify a third-party content item provided for display with the URI on client device 120. Client application 125 (or one or more SDKs provided by data processing system 110) can cause client device 120 to assign a client ID to the third-party content item when executed by the processor of the client device. The first message 220 can include other parameters, such as an indication of the message type (e.g., a connection ping), an indication of the activity type (e.g., a deep link activity in client application 125), an indication of the SDK version, and an indication of whether the process of displaying the content associated with the URI within client application 125 is a re-attempt, or a combination thereof. The first message can be formatted as a URL.

[0069] When executed by the client device 120, the SDK (or software module) enables the application 125 to send a first message 220 (also referred to as a "connection ping") to the data processing system 110 in response to opening a URI within the client application 125. When executed by the processor of the client device, the software module enables the client device 120 to check whether the activity type (e.g., associated with opening the URI within the client application 125) indicates a deep link activity to the client application 125 via a universal link. When executed by the processor of the client device 120, the software module (or SDK) further enables the client device 120 to extract a click ID 215 from the attached URI, for example, when determining that the activity is a deep link activity to the client application 125.

[0070] Method 300 may include the data processing system 110 storing a mapping between the click ID and the client ID in a memory (action 350). The data processing system 110 can, for example, scan the first message 220 received from the client device 120 and extract parameters therefrom that include the click ID 215 and the client ID. The data processing system 110 can store a data structure (such as a column / row of a table or a linked list) in the database 118 that associates the extracted click ID with the extracted client ID. The data structure can include other parameters extracted from the received first message. Storing the parameters extracted from the first message 220 (including the mapping between the click ID and the client) can include the data processing system 110 (or its processor) encrypting the click ID, the client ID, other parameters, or a combination thereof, and storing the encrypted parameters. Storing the parameters in encrypted form enhances the security of the system and the privacy of such data. In some instances, scanning the first message can include the data processing system 110 verifying the received first message. For example, the data processing system 110 can check the message type and / or one or more other parameters (within the received first message 220) to determine the validity of the received message as a "connection ping". Since conversion messages (used to report conversion events) employed by third-party content providers typically include the client ID, the mapping (or link) of the client ID to the click ID enables the data processing system 110 to link conversion events (or interaction events) associated with the content of the URI displayed within the client application 125 to the URI activation event (and thus to the URI) executed on the client device 120.

[0071] Method 300 may include the data processing system 110 receiving a second message (act 360) that includes a client ID and indicates a conversion associated with a URI that is performed via a client application. When a conversion (or interaction) event involving the content of the URI occurs within the client application 125, the client application 125 (or SDK) can cause the client device 120 to send a second message (or conversion message) to the data processing system 110. The conversion message can include a client ID, a conversion ID (e.g., indicating the type of conversion performed within the client application 125), an application ID identifying the client application 125 (or its type), conversion transaction information (or a parameter such as a transaction volume), a timestamp indicating the time when the conversion occurred, or a combination thereof.

[0072] Method 300 may include the data processing system 110 associating the conversion event in response to receiving the second message (act 370). The data processing system 110 can identify a click ID (or URI activation event) associated with the conversion event indicated in the second message. For example, the data processing system 110 can extract the client ID from the second message and determine the corresponding click ID based on the mapping between the client ID and the click ID stored in the database 118. When determining the click ID corresponding to the conversion event indicated in the second message, the data processing system 110 can store the conversion parameters (such as the application ID, the timestamp indicating the time when the conversion occurred, and / or the conversion transaction information) received in the second message in association with the determined click ID 215 in the database 118. Identifying (or determining) the click ID corresponding to the received conversion message (such as the second message) can indicate a web-to-application conversion. In some instances, if no click ID is determined to correspond to the received conversion message, the conversion message can be interpreted, for example, as indicating a web-to-web conversion.

[0073] Based on the determined click ID, the data processing system 110 can also compare the conversion ID received in the second message with the conversion ID mapped to the click ID and stored in the database 118. Based on this comparison, the data processing system 110 can determine the validity (or authenticity) of the second message (or the conversion indicated therein). For example, the data processing system 110 can store the conversion parameters when a match is determined between the conversion ID received in the second message and the conversion ID mapped to the click ID stored in the database 118. In some instances, the data processing system 110 can update the maintained conversion statistics (or performance statistics) associated with the third-party content item, the URI, the client application 125, or the client device 120 based on the information received in the second message.

[0074] In some instances, the data processing system 110 is capable of receiving a second message via a computer device associated with a third-party content provider (such as third-party content server 102 or computing device 202). The data processing system 110 is capable of sending URI activation event information (such as click ID 215, URI, conversion ID, a timestamp indicating the time of activation of the URI on web browser 123, or a combination thereof stored in database 118) in response to receiving the second message. The data processing system 110 is capable of sending the URI activation information in the form of a URL. A template for the URL including the URI activation information can be predefined. Sending the URI activation information to a computer device associated with a third-party content provider can include identifying the click ID associated with the received second message (as described above), and obtaining one or more parameters (such as click ID 215, URI, conversion ID, a timestamp indicating the time of activation of the URI on web browser 123, or a combination thereof stored in database 118) from database 118 based on the identified click ID for sending to the computer device associated with the third-party content provider.

[0075] In some instances, the data processing system 110 is capable of receiving a second message from client device 120 (or web browser 123). The data processing system 110 can be configured to report a combination of conversion parameters (such as from second message 225) and URI activation event parameters (such as obtained from database 118) to a computer device of a third-party content provider (such as third-party content server 102 or computing device 202) in response to receiving second message 225. The data processing system 110 can send the combination of conversion parameters and URI activation event parameters to the computer device of the third-party content provider in the form of a URL.

[0076] Figure 4 is a block diagram of a computer system 400 that can be used to implement the client device 120, data processing system 110, third-party content server 102, resource server 104, content server 112, click server 114, performance server 116, and other components described herein. The computing system 400 includes a bus 405 or other communication components for communicating information, and a processor 410 or processing module coupled to the bus 405 to process information. The computing system 400 may also include one or more processors 410 or processing modules coupled to the bus to process information. The computing system 400 further includes a main memory 415, such as RAM or other dynamic storage device, coupled to the bus to store information and instructions to be executed by the processor 410. The main memory 415 may also be used to store location information, temporary variables, or other intermediate information during the execution of instructions by the processor 410. The computing system 400 may further include a ROM 420 or other static storage device coupled to the bus 405 to store static information and instructions for the processor 410. A storage device 425, such as a solid-state device, disk, or optical disc, is coupled to the bus 405 to persistently store information and instructions. The computing device 400 may include, but is not limited to, digital computers such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframes, cellular phones, smart phones, mobile computing devices (e.g., tablets, e-readers, etc.), and the like.

[0077] The computer system 400 can be coupled to a display 435, such as a liquid crystal display (LCD), thin film transistor LCD (TFT), organic light emitting diode (OLED) display, LED display, electronic paper display, plasma display panel (PDP), or other display, via the bus 405 to display information to a user. An input device 430, such as a keyboard including alphanumeric and other keys, can be coupled to the bus 405 for communicating information and command selections to the processor 410. In another embodiment, the input device 430 can be integrated with the display 435, such as in a touch screen display. The input device 430 can include a cursor control, such as a mouse, trackball, or cursor direction keys, for communicating direction information and command selections to the processor 410 and for controlling the movement of a cursor on the display 435.

[0078] In accordance with various embodiments, the processes or methods described herein can be implemented by a computing system 400 in response to execution of an instruction arrangement contained in a main memory 415 by a processor 410. These instructions can be read into the main memory 415 from another computer-readable medium such as a storage device 425. Execution of the instruction deployment contained in the main memory 415 causes the computing system 400 to perform the illustrative processes and / or method acts described herein. One or more processors in a multiprocessing arrangement can also be employed to execute the instructions contained in the main memory 415. In alternative embodiments, hardwired circuitry can be used in place of or in combination with software instructions to implement the illustrative embodiments. Accordingly, the embodiments are not limited to any specific combination of hardware circuitry and software.

[0079] Although embodiments of the computing system 400 have been described in Figure 4 this specification, the subject matter and functional operations described in this specification can be implemented in other types of digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in a combination of one or more of them.

[0080] The subject matter and operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware embodied on a tangible medium, including the structures disclosed in this specification and their structural equivalents, or in a combination of one or more of them. The subject matter described in this specification can be implemented as one or more computer programs, e.g., one or more modules of computer program instructions encoded on one or more computer storage media for execution by, or to control the operation of, a data processing apparatus. Alternatively or additionally, the program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to an appropriate receiver apparatus for execution by the data processing apparatus. A computer storage medium can be, or can include in whole or in part, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, although a computer storage medium is not a propagated signal, a computer storage medium can be the source or destination of computer program instructions encoded in an artificially generated propagated signal. A computer storage medium can also be one or more discrete physical components or media (e.g., multiple CDs, disks, or other storage devices), or can include in whole or in part one or more of them. Accordingly, a computer storage medium is tangible and non-transitory.

[0081] The operations described in this specification can be performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.

[0082] The term "data processing apparatus" encompasses all types of devices, equipment, and machines for processing data, including, for example, programmable processors, computers, system-on-chips, or multiple of them, a portion of a programmable processor, or a combination of the above. The apparatus may include dedicated logic circuitry, such as an FPGA or an ASIC. In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program being discussed, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and the execution environment are capable of implementing various different computational model architectures, such as web services, distributed computing, and grid computing architectures.

[0083] A computer program (also referred to as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be adopted in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may correspond to a file in a file system, but this is not necessarily the case. The program can be stored as part of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), stored in a single file dedicated to the program being discussed, or stored in multiple cooperating files (e.g., files that store one or more modules, subroutines, or portions of code). A computer program can be deployed to execute on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected via a communication network.

[0084] Processors suitable for computer program instructions include, for example, general and special purpose microprocessors, as well as any one or more processors of any type of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Essential elements of a computer are a processor for performing operations in accordance with the instructions and one or more memory devices for storing the instructions and data. Generally, a computer will also include one or more mass storage devices for storing data, such as, for example, magnetic disks, magneto-optical disks, or optical disks, or operatively coupled to transfer data thereto or therefrom or both. However, a computer need not have such devices. In addition, a computer can be embedded in another device, to name just a few examples, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device (such as, for example, a universal serial bus (USB) flash drive). Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, such as, for example, semiconductor memory devices including EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

[0085] To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device for displaying information to the user and a keyboard and a pointing device by which the user can provide input to the computer, the display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, and the pointing device such as a mouse or a trackball. Other types of devices can also be used to provide for interaction with the user; for example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0086] Although this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or of what is claimed, but rather as descriptions of features specific to particular embodiments. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented separately or in any suitable sub-combination in multiple embodiments. In addition, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.

[0087] Similarly, although operations are depicted in the figures in a particular order, this should not be construed as requiring that such operations be performed in the particular order shown or in a sequential order, or that all of the illustrated operations be performed to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Additionally, the partitioning of various system components in the embodiments described above should not be construed as requiring such partitioning in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or encapsulated into multiple software products embodied on a tangible medium.

[0088] References to "or" may be construed as inclusive, such that any term described using "or" may be any single one, more than one, or all of the items so described. References to at least one of a list of terms may be construed as inclusive of "OR" such that it indicates any single one, more than one, or all of the terms so described. For example, a reference to "at least one of 'A' and 'B'" may include only 'A', only 'B', and both 'A' and 'B'. Where a technical feature in the drawings, detailed description, or any claim is followed by a reference numeral, the reference numeral has been included to enhance the intelligibility of the drawings, detailed description, and claims. Accordingly, the presence or absence of a reference numeral has no limiting effect on the scope of any claim element.

[0089] Accordingly, particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the acts recited in the claims may be performed in a different order and still achieve the desired result. Additionally, the processes depicted in the figures are not necessarily required to be in the particular order or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing may be advantageous.

[0090] Unless otherwise indicated, the claims should not be construed as limited to the described order or elements. It should be understood that those skilled in the art can make various changes in form and detail without departing from the spirit and scope of the appended claims. All embodiments within the spirit and scope of the following claims and their equivalents are claimed.< / abcd> < / company> < / adid>

Claims

1. A system for monitoring interactions with content associated with a Uniform Resource Identifier (URI) accessed via a client application, the system comprising: A data processing system including a memory storing computer code instructions and one or more processors for executing the computer code instructions, the computer code instructions, when executed by the one or more processors, causing the data processing system to: In response to receiving an indication of a first interaction with a first URI via a web browser of a client device, assign a click identifier, i.e., a click ID, to the first URI by appending the click ID to the first URI to create a second URI, the second URI including the click ID, (i) The first URI is presented on a web page via the web browser of the client device together with a third-party content item of a third-party content provider, (ii) The click ID identifies the first interaction with the first URI via the client device, and (iii) The first interaction with the first URI causes a client application other than the web browser of the client device to display a login page specified by the first URI within the client application, the login page being associated with the third-party content provider; In response to the login page specified by the first URI being displayed within the client application, send the second URI, which includes the appended click ID identifying the first interaction with the first URI via the client device, to the client device via a computer network; Receive a first message from the client application via the computer network, the first message including: (i) The click ID identifying the first interaction with the first URI via the client device, (ii) An application identifier, i.e., an application ID, associated with the client application on the client device, and (iii) A client identifier, i.e., a client ID, associated with the client device; Store in the memory a first data structure associating the client ID and the click ID identifying the first interaction with the first URI via the client device; Receive, via the computer network in response to interacting with the login page specified by the first URI on the client application, a second message from the client application indicating a second interaction with the login page via the client application, the second message including the client ID and the application ID; and Based on the client ID and the application ID, store in the memory a second data structure associating the click ID with the information received in the second message.

2. The system according to claim 1, wherein, The computer code instructions, when executed by the one or more processors, further cause the data processing system to: In response to receiving the second message, send information associated with the second interaction to a computing device associated with the third-party content provider.

3. The system according to claim 2, wherein When executed by the one or more processors, the computer code instructions further cause the data processing system to: send the information associated with the second interaction to the computing device associated with the third-party content provider within a Uniform Resource Locator (URL).

4. The system according to claim 1, wherein, When executed by the one or more processors, the computer code instructions further cause the data processing system to provide computer code instructions for integration with the client application, which, when executed on the client device, cause the client device to send the first message to the data processing system in response to the display of the login page specified by the first URI in the client application.

5. The system according to claim 1, wherein When executed by the one or more processors, the computer code instructions further cause the data processing system to: associate the click ID identifying the first interaction with the first URI via the client device with a first conversion identifier ID indicating the type of the second interaction with the login page in response to receiving an indication of the first interaction with the first URI via the client device.

6. The system according to claim 5, wherein, In associating the first URI with the click ID identifying the first interaction with the first URI via the client device, when executed by the one or more processors, the computer code instructions cause the data processing system to: extract a second conversion ID from the received second message, the second conversion ID indicating the type of the second interaction with the login page; compare the first conversion ID with the second conversion ID; and associate an interaction event with the click ID identifying the first interaction with the first URI via the client device when a match between the first conversion ID and the second conversion ID is determined.

7. The system according to claim 1, wherein, The second message further includes at least one of the following: a conversion identifier ID indicating the type of the second interaction with the login page specified by the first URI on the client application; or an indication of the time at which the second interaction occurs.

8. The system according to claim 1, wherein When executed by the one or more processors, the computer code instructions further cause the data processing system to: store an encrypted version of the click ID identifying the first interaction with the first URI via the client device in the first data structure associating the client ID with the click ID identifying the first interaction with the first URI via the client device.

9. A method for monitoring an interaction with content associated with a Uniform Resource Identifier (URI) accessed via a client application, the method comprising: In response to receiving an indication of a first interaction with a first URI via a web browser of a client device, the data processing system assigns the click ID to the first URI by attaching a click identifier, i.e., a click ID, to the first URI to create a second URI, the second URI including the click ID (i) The first URI is presented on a web page together with a third-party content item of a third-party content provider via a web browser of a client device, (ii) The click ID identifies a first interaction with the first URI via the client device, and (iii) The first interaction with the first URI causes a client application other than the web browser of the client device to display a login page within the client application, the login page being specified by the first URI and being associated with the third-party content provider; In response to the display of the login page specified by the first URI within the client application, the second URI is sent to the client device via a computer network by the data processing system, the second URI including the appended click ID identifying the first interaction with the first URI via the client device; The data processing system receives a first message from the client device via the computer network, the first message including: (i) The click ID identifying the first interaction with the first URI via the client device, (ii) An application identifier associated with the client application on the client device, i.e., an application ID, and (iii) A client identifier associated with the client device, i.e., a client ID; The data processing system stores in a memory a first data structure associating the client ID with the click ID identifying the first interaction with the first URI via the client device; The data processing system receives via the computer network, in response to an interaction with the login page specified by the first URI on the client application, a second message indicating a second interaction with the login page via the client application, the second message including the client ID and the application ID; and Based on the client ID and the application ID, the data processing system stores in the memory a second data structure associating the click ID with the information in the second message.

10. The method according to claim 9, further comprising: In response to receiving the second message, information associated with the second interaction is sent to a computing device associated with the third-party content provider.

11. The method according to claim 10, further comprising sending the information associated with the second interaction to the computing device associated with the third-party content provider within a Uniform Resource Locator (URL).

12. The method according to claim 9, further comprising providing computer code instructions for integration with the client application, which when executed on the client device cause the client device to send the first message to the data processing system in response to the display of the login page specified by the first URI within the client application.

13. The method according to claim 9, further comprising associating the click ID identifying the first interaction with the first URI via the client device with a first conversion identifier ID in response to receiving an indication of the first interaction with the first URI via the client device, the first conversion ID indicating the type of interaction associated with the login page specified by the first URI.

14. The method according to claim 13, further comprising: extracting a second conversion ID from the second message, the second conversion ID indicating the type of a second interaction with the login page specified by the first URI on the client application; comparing the first conversion ID with the second conversion ID; and associating the second interaction with the click ID identifying the first interaction with the first URI via the client device when a match between the first conversion ID and the second conversion ID is determined.

15. The method according to claim 9, wherein The second message further comprises at least one of the following: a conversion identifier ID indicating the type of the second interaction with the login page specified by the first URI on the client application; or an indication of the time at which the second interaction occurs.

16. The method according to claim 9, further comprising: In the first data structure associating the client ID with the click ID identifying the first interaction with the first URI via the client device, store an encrypted version of the click ID identifying the first interaction with the first URI via the client device.

17. A system for monitoring interactions with content associated with a Uniform Resource Identifier (URI) accessed via a client application, the system comprising: a data processing system including a memory storing computer code instructions and one or more processors for executing the computer code instructions, the computer code instructions when executed by the one or more processors cause the data processing system to: in response to receiving an indication of a first interaction with a first URI via a web browser of a client device, assign the click ID to the first URI by appending a click identifier, i.e., a click ID, to the first URI to create a second URI, the second URI including the click ID, (i) the first URI is presented on a web page together with a third-party content item of a third-party content provider via a web browser of a client device, (ii) the click ID identifies the activation of the first URI via the client device, and (iii) the activation of the first URI causes a client application other than the web browser of the client device to display a login page identified by the first URI within the client application, the login page being associated with the third-party content provider; In response to receiving an indication of the first interaction with the first URI via the client device, send the second URI to the client device via a computer network, the second URI including an appended click ID identifying the first interaction with the first URI via the client device; Receive a message from the client application via the computer network and in response to a second interaction with the login page via the client application, the message including: (i) the click ID included in the second URI identifying the first interaction with the first URI via the client device, (ii) an application identifier associated with the client application on the client device, i.e., an application ID, and (iii) a client identifier associated with the client device, i.e., a client ID; And In response to the click ID of the message matching the click ID appended to the first URI, update at least one performance parameter associated with the first URI based on at least one of the application ID or the client ID.

18. The system according to claim 17, wherein, The computer code instructions, when executed by the one or more processors, further cause the data processing system to: in response to receiving the message, send information associated with the second interaction to a computing device associated with the third-party content provider.

19. The system according to claim 18, wherein, The computer code instructions, when executed by the one or more processors, further cause the data processing system to: send the information associated with the second interaction to the computing device associated with the third-party content provider within a uniform resource locator (URL).

20. The system according to claim 17, wherein, The computer code instructions, when executed by the one or more processors, further cause the data processing system to: Check settings associated with the third-party content provider to determine whether the display of the login page identified by the first URI within the client application is enabled; And When it is determined that the display of the login page identified by the first URI within the client application is enabled, append the click ID identifying the first interaction with the first URI via the client device to the first URI.

21. The system according to claim 17, wherein, The computer code instructions, when executed by the one or more processors, further cause the data processing system to: in response to receiving an indication of the first interaction with the first URI via the client device, associate the click ID identifying the first interaction with the first URI via the client device with a first conversion identifier ID, the first conversion ID indicating the type of interaction associated with the login page.

22. The system according to claim 21, wherein, The computer code instructions, when executed by the one or more processors, cause the data processing system to: Extract a second conversion ID from the received message, the second conversion ID indicating the type of the second interaction with the login page; Compare the first conversion ID with the second conversion ID; And Based on the comparison of the first conversion ID with the second conversion ID, determine the authenticity of the second interaction.

23. The system according to claim 17, wherein The message further includes at least one of the following: a conversion identifier ID indicating a type of the second interaction representing the second interaction with the login page specified by the first URI on the client application; or an indication of a moment when the second interaction occurs.

24. The system according to claim 17, wherein, When executed by the one or more processors, the computer code instructions further cause the data processing system to receive the message through a computing device associated with the third-party content provider.

25. A method for monitoring an interaction with content associated with a uniform resource identifier (URI) accessed via a client application, the method comprising: In response to receiving an indication of a first interaction with a first URI through a web browser of a client device, a data processing system assigns a click identifier, i.e., a click ID, to the first URI by attaching the click ID to the first URI to create a second URI, the second URI including the click ID, (i) the first URI is presented on a web page together with a third-party content item of a third-party content provider through a web browser of a client device, (ii) the click ID identifies an activation of the first URI through the client device, and (iii) an activation of the first URI causes a client application other than the web browser of the client device to display a login page identified by the first URI within the client application, the login page being associated with the third-party content provider; In response to receiving the indication of the first interaction with the first URI through the client device, the data processing system sends the second URI including the attached click ID identifying the first interaction with the first URI through the client device to the client device via a computer network; The data processing system receives a message via the computer network and in response to a second interaction with the login page through the client application, the message including: (i) the click ID included in the second URI identifying an activation of the first interaction with the first URI through the client device, (ii) an application identifier, i.e., an application ID, associated with the client application on the client device, and (iii) a client identifier, i.e., a client ID, associated with the client device; and In response to a match between the click ID of the message and the click ID attached to the first URI, at least one performance parameter associated with the first URI is updated based on at least one of the application ID or the client ID.

26. The method according to claim 25, wherein, Further comprising: in response to receiving the message, sending information associated with the second interaction to a computing device associated with the third-party content provider.

27. The method according to claim 26, wherein, Further comprising: sending the information associated with the second interaction to the computing device associated with the third-party content provider within a uniform resource locator (URL).

28. The method according to claim 26, further comprising: The data processing system checks settings associated with the third - party content provider to determine whether the display of the login page identified by the first URI within the client application is enabled; and when it is determined that the display of the login page identified by the first URI within the client application is enabled, the data processing system appends the click ID identifying the first interaction with the first URI via the client device to the first URI.

29. The method according to claim 25, wherein, Further comprising: associating the click ID identifying the first interaction with the first URI via the client device with a first conversion identifier ID in response to receiving an indication of the first interaction with the first URI via the client device, the first conversion ID indicating the type of interaction associated with the login page.

30. The method according to claim 29, further comprising: extracting a second conversion ID from the received message, the second conversion ID indicating the type of the second interaction with the login page; comparing the first conversion ID with the second conversion ID; and based on the comparison between the first conversion ID and the second conversion ID, determining the authenticity of the second interaction.

31. The method according to claim 25, wherein The message further comprises at least one of the following: a conversion identifier ID indicating the type of the second interaction representing an interaction with the login page specified by the first URI on the client application; or an indication of the moment when the second interaction occurs.

32. The method according to claim 25, further comprising receiving the message by a computing device associated with the third - party content provider.

33. A system for monitoring interactions with content associated with a Uniform Resource Identifier (URI) accessed via a client application, the system comprising: a data processing system including a memory and one or more processors; and a script which, when executed by a client device, causes the client device to monitor the activation of a first URI in a web browser of the client device, the activation triggering the client device to render a login page in a client application different from the web browser of the client device, and to monitor interactions with the login page of the client application, wherein the login page is identified by the first URI; wherein the data processing system is configured to assign a click ID to the first URI by appending a click identifier, i.e., a click ID, to the first URI to create a second URI in response to receiving an indication of the activation of the first URI by the client device, (i) the first URI is presented on a web page together with a third - party content item via the web browser of the client device, and (ii) the click ID identifies the activation of the first URI by the client device Wherein, the data processing system is further configured to, in response to receiving an indication of activation of the first URI by the client device, send the second URI including the click ID to the client device via a computer network; Wherein, when executed by the client device, the script further causes the client device to: Detect a process of displaying the login page identified by the first URI; In response to detecting the process of displaying the login page identified by the first URI, assign a client identifier, i.e., a client ID, to the third-party content item; When detecting the process of displaying the login page identified by the first URI, send a first message to the data processing system via the computer network, the first message including: (i) The click ID included in the second URI that identifies the activation of the first URI, (ii) An application identifier associated with the client application, i.e., an application ID, and (iii) The client ID assigned to the third-party content item; and In response to an interaction with the login page identified by the first URI, send a second message indicating the interaction with the login page identified by the first URI to the data processing system via the computer network, the second message including the client ID and the application ID; Wherein, the data processing system is further configured to, in response to receiving the first message, store in a memory a data structure associating the client ID with the click ID and the application ID; and Wherein, the data processing system is further configured to, in response to a match between the client ID of the second message and the client ID of the first message, update at least one performance parameter associated with the first URI.

34. The system according to claim 33, wherein, The data processing system is further configured to provide the script to the client device.

35. The system according to claim 33, wherein The first message further includes at least one of the following: An indication of the message type; An indication of the version of the script; An indication of the type of activity on the client device that caused the display of the login page identified by the first URI; or An indication of whether the process of displaying the login page identified by the first URI is a re-attempt.

36. The system according to claim 33, wherein, When executed by the client device, the script further causes the client device to extract the click ID from the second URI.

37. The system according to claim 33, wherein, The script includes a software development kit (SDK) for integration with the client application.

38. The system according to claim 33, wherein, The data processing system is further configured to: in response to receiving an indication of activation of the first URI on the web page via the web browser of the client device, store in the memory a second data structure associating the click ID with a first conversion identifier ID, the first conversion ID indicating the type of interaction to be monitored.

39. The system according to claim 38, wherein, The data processing system is further configured to: Extract a second conversion ID from the second message, where the second conversion ID indicates the type of interaction with the login page identified by the first URI via the client application; Compare the first conversion ID with the second conversion ID; and Based on the comparison between the first conversion ID and the second conversion ID, determine the authenticity of the interaction with the login page identified by the first URI indicated by the second message.

40. The system according to claim 33, wherein, The data processing system is further configured to: in response to receiving an indication of activation of the first URI by the client device, store in the memory a second data structure associating the click ID with the first URI.

41. The system according to claim 33, wherein, The second message further includes at least one of the following: A conversion identifier ID indicating the type of interaction with the login page identified by the first URI via the client application; or A timestamp indicating the moment when the interaction with the login page identified by the first URI occurs, where the data processing system is further configured to send information associated with the interaction with the login page identified by the first URI to a computing device associated with a provider of a third-party content item within a uniform resource locator (URL).

42. A method for monitoring an interaction with content associated with a uniform resource identifier (URI) accessed via a client application, the method comprising: Providing, by a data processing system, a script that, when executed by a client device, causes the client device to: Monitor an activation of a first URI in a web browser of the client device, the activation triggering the client device to render a login page in a client application different from the web browser of the client device, where the first URI is displayed by the web browser of the client device together with a third-party content item; Monitor an interaction with the login page of the client application, where the login page is identified by the first URI; Detect a process of displaying the login page identified by the first URI; In response to detecting the process of displaying the login page identified by the first URI, assign a client identifier, i.e., a client ID, to the third-party content item; When detecting the process of displaying the login page identified by the first URI, send a first message to the data processing system via a computer network, the first message including: (i) A click ID included in a second URI identifying the activation of the first URI, (ii) An application identifier associated with the client application, i.e., an application ID, and (iii) The client ID assigned to the third-party content item; and In response to an interaction with the login page identified by the first URI, send a second message indicating the interaction with the login page identified by the first URI to the data processing system via the computer network, the second message including the client ID and the application ID; In response to receiving an indication of activation of the first URI by the client device, assign the click ID to the first URI by appending the click identifier ID to the first URI to create a second URI, the click ID identifying the activation of the first URI by the client device; In response to receiving an indication of activation of the first URI by the client device, send, by the data processing system via a computer network, the second URI including the click ID to the client device; In response to receiving the first message, store, by the data processing system in a memory, a data structure associating the client ID with the click ID and the application ID; and In response to the client ID of the second message matching the client ID of the first message, update, by the data processing system, at least one performance parameter associated with the first URI.

43. The method according to claim 42, wherein The first message further includes at least one of the following: An indication of the message type; An indication of the version of the script; An indication of the type of activity on the client device that causes the display of the login page identified by the first URI; or An indication of whether the process of displaying the login page identified by the first URI is a re - attempt.

44. The method according to claim 42, wherein, When executed, the script further causes the client device to extract the click ID from the second URI.

45. The method according to claim 42, wherein, The script includes a software development kit (SDK) for integration with the client application.

46. The method according to claim 42, wherein, Further include: In response to receiving an indication of activation of the first URI by the client device, store, by the data processing system in a memory, a second data structure associating the click ID with a first conversion identifier ID, the first conversion ID indicating the type of interaction.

47. The method according to claim 46, further includes: Extract, by the data processing system, a second conversion ID from the second message, the second conversion ID indicating the type of interaction via the client application with the login page identified by the first URI; Compare, by the data processing system, the first conversion ID with the second conversion ID; And Based on the comparison of the first conversion ID and the second conversion ID, determine, by the data processing system, the authenticity of the interaction with the login page identified by the first URI indicated by the second message.

48. The method according to claim 42, wherein, Further include: In response to receiving an indication of activation of the first URI by the client device, store, by the data processing system in a memory, a second data structure associating the click ID with the first URI.

49. The method according to claim 42, wherein The second message further includes at least one of the following: A conversion identifier ID indicating the type of interaction via the client application with the login page specified by the first URI; or A timestamp indicating the moment when the interaction via the client application with the login page identified by the first URI occurs, The method further includes sending information associated with an interaction with the landing page identified by the first URI to a computing device associated with a provider of the third-party content item within a Uniform Resource Locator (URL).

Citation Information

Patent Citations

  • Remote enterprise policy / client configuration installation for computing devices

    CN104272293A

  • Method and device for secure content retrieval

    CN104396220A