Techniques for determining cross platform user journey and attribution using a dynamic banner
Patent Information
- Application Number
- PCT/US2025/017583
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-27
- Publication Date
- 2026-09-03
Smart Images

Figure US2025017583_03092026_PF_FP_ABST
Abstract
Description
TECHNIQUES FOR DETERMINING CROSS PLATFORM USER JOURNEY AND ATTRIBUTION USING A DYNAMIC BANNERFIELD
[0001] The present disclosure relates generally to techniques for determining cross platform user journey and attribution using a dynamic banner.BACKGROUND
[0002] In many instances, computing and data analysis systems may determine the intersection, or union, of large sets of data as part of analysis or processing of the data. Computing the union, intersection, or frequency of large sets of data distributed across multiple sources typically involves sharing information about the large sets of data between the multiple sources. Information from each source can include private or protected information and systems must ensure the privacy and security of such information.SUMMARY
[0003] Aspects and advantages of embodiments of the present disclosure will be set forth in part in the following description, or can be learned from the description, or can be learned through practice of the embodiments.
[0004] A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions. One general aspect includes a system for determining cross platform attribution. The system also includes one or more processors; and one or more memory devices storing computer-readable instructions that, when implemented, cause the one or more processors to perform operations, the operations may include: receiving, from a user device of a user, user interaction data associated with an interaction of the user with a website of an entity, the user interaction data being generated by a banner that is embedded in the website; in response to receiving the user interaction data, causing a mobile application associated with the entity to be launched on the user device; receiving, from the mobile application, application event data associated with an action performed in the mobile application; processing the application event data to generate attribution data; and storing the attribution data in an attribution database. Other embodiments of this aspect includecorresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.
[0005] Implementations may include one or more of the following features. The system where the system includes an encrypted database for storing the user interaction data, the operations further may include: in response to receiving the user interaction data, storing the user interaction data in the encrypted database; and in response to receiving the application event data, retrieving the user interaction data of the user. The attribution data is generated by processing the user interaction data and the application event data. The user interaction data and the application event data is processed using a machine-learned model to generate the attribution data. The encrypted database is a trusted execution environment (TEE) of the system. The attribution data indicates that: the user interacted with a product on the website of the entity; and the user purchased the product using the mobile application of the entity. The operations may include: generating a report based on the attribution data; and presenting the report on a device of the entity. The user interaction data is associated with the user clicking the banner. The user interaction data is associated with the user interacting with the website. The banner extracts journey data from a URL of the website, and where the user interaction data is generated by the banner based on the journey data. The banner extracts user data from a cookie of the website, and where the user interaction data is generated by the banner based on the user data. The system the user interaction data indicates that the mobile application is not currently installed on the user device, the operation further may include: causing an application store to be launched on the mobile device, the application store enabling the user to install the mobile application. The banner detects that the mobile application is not currently installed on the user device. The user interaction data is stored in an encrypted database, the encrypted database being on the user device. The mobile application includes a data stitching module, and where the data stitching module retrieves the user interaction data from the encrypted database in response to the action performed in the mobile application. The stitching module processes the user interaction data and data associated with the action performed in the mobile application to generate the application event data. The attribution data includes an attribution of the user interaction with the website to the user and an attribution of the action performed in the mobile application to the user based on the determined match. The banner is a dynamic banner that changes content dynamically based on the web history of the user, search history of the user, and a webpage of the website. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.
[0006] One general aspect includes a method for determining cross platform attribution. The method also includes receiving, from a user device of a user, user interaction data associated with an interaction of the user with a website of an entity, the user interaction data being generated by a banner that is embedded in the website. The method also involves receiving the user interaction data, causing a mobile application of the entity' to be launched on the user device. The method also includes receiving, from the mobile application, application event data associated with an action performed in the mobile application. The method also includes processing the application event data to generate attribution data. The method also includes storing the attribution data in an attribution database. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.
[0007] One general aspect includes one or more non-transitory. The one or more non -transitory also includes receiving, from a user device of a user, user interaction data associated with an interaction of the user with a website of an entity, the user interaction data being generated by a banner that is embedded in the website. The transitory also includes in response to receiving the user interaction data, causing a mobile application of the entity to be launched on the user device. The transitory' also includes receiving, from the mobile application, application event data associated with an action performed in the mobile application. The transitory also includes processing the application event data to generate attribution data. The transitory also includes storing the attribution data in an attribution database. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.
[0008] One general aspect includes a device for determining cross platform attribution. The device also includes one or more processors; and one or more memory devices storing computer-readable instructions that, when implemented, cause the one or more processors to perform operations. The device (e.g., mobile device, cellphone) can present, on a display of the user device, a website of an entity, the website having a dynamic banner. Additionally, the device can receive a user interaction with the website. Moreover, the device can obtain, using the dynamic banner, user interaction data associated with the user interaction. The dynamic banner can retrieve the user interaction data from a cookie, a URL of the website, and / or an application programming interface. Furthermore, the device can store the user interaction data in an encrypted database, in response to receiving the user interaction, the device can cause amobile application associated with the entity to be presented on the display. The device can receive, from the mobile application, application event data associated with an action performed in the mobile application. Subsequently, in response to receiving the application event data, the device can transmit combined data to a server. The combined data is based on the user interaction data and the application event data.
[0009] In some instances, the device includes an encrypted database. Additionally, in response to receiving the user interaction data, the device can store the user interaction data in the encrypted database. Moreover, in response to receiving the application event data, the device can retrieve the user interaction data from the encrypted database.
[0010] In some instances, the encrypted database can be a trusted execution environment (TEE) of the user device.
[0011] In some instances, the device can merge the user interaction data and the application event data to generate the combined data.
[0012] In some instances, the user interaction data and the application event data can be processed using a machine-learned model to generate the combined data.
[0013] In some instances, the combined data indicates that: the user interacted with a product on the website of the entity; and the user purchased the product using the mobile application of the entity.
[0014] In some instances, the user interaction data is associated with the user clicking the banner.
[0015] In some instances, the user interaction data is associated with the user interacting with a webpage of the website.
[0016] In some instances, the banner extracts journey data from a Uniform Resource Locator (URL) of the website, and wherein the user interaction data is generated by the banner based on the j oumey data.
[0017] In some instances, the banner extracts user data from a cookie of the website, and wherein the user interaction data is generated by the banner based on the user data.
[0018] In some instances, the user interaction data indicates that the mobile application is not currently installed on the user device. Additionally, the device can cause an application store to launch, where the application store enables the installation of the mobile application on the user device.
[0019] In some instances, the banner detects that the mobile application is not currently installed on the user device.
[0020] In some instances, the banner is a dynamic banner. In some instances, the dynamic banner has a progress bar when the mobile application is being downloaded. In some instances, the dynamic banner has a view button when the mobile application has been downloaded.
[0021] In some instances, the mobile application includes a data stitching module, and where the data stitching module retrieves the user interaction data from the encry pted database in response to the action performed in the mobile application.
[0022] In some instances, the stitching module processes the user interaction data and application event data to generate the combined data.
[0023] In some instances, the device can determine a match associated the user interaction with the website and the action performed in the mobile application. Additionally, the combined data includes an attribution of the user interaction with the website to the user and an attribution of the action performed in the mobile application to the user based on the determined match.
[0024] In some instances, the banner is a dynamic banner that changes content dynamically based on web history of the user, search history' of the user, and a webpage of the website.
[0025] Other aspects of the present disclosure are directed to various systems, apparatuses, non-transitory computer-readable media, user interfaces, and electronic devices.
[0026] These and other features, aspects, and advantages of various embodiments of the present disclosure will become better understood with reference to the following description and appended claims. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate example embodiments of the present disclosure and, together with the description, serve to explain the related principles.BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Detailed discussion of embodiments directed to one of ordinary skill in the art is set forth in the specification, which makes reference to the appended figures, in which:
[0028] Figure 1 depicts diagram of a cross platform user journey using a dynamic banner according to example embodiments of the present disclosure.
[0029] Figure 2 depicts a block diagram of an atribution system according to example embodiments of the present disclosure.
[0030] Figure 3 depicts a flow diagram of a server determining cross platform user journey and attribution using a dynamic banner according to example embodiments of the present disclosure.
[0031] Figure 4 depicts a flow diagram of a user device determining cross platform user journey and atribution using a dynamic banner according to example embodiments of the present disclosure.
[0032] Figure 5A depicts a block diagram of an example computing system according to example embodiments of the present disclosure.
[0033] Figure 5B depicts a block diagram of an example computing device that performs according to example embodiments of the present disclosure.
[0034] Figure 5C depicts a block diagram of an example computing device that performs according to example embodiments of the present disclosure.
[0035] Reference numerals that are repeated across plural figures are intended to identify the same features in various implementations.DETAILED DESCRIPTION
[0036] Below are detailed descriptions of various concepts related to, and implementations of, techniques, approaches, methods, apparatuses, and systems for metaestimation of data structures representing identifiers. The various concepts introduced above and discussed in greater detail below can be implemented in numerous 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.
[0037] Cross-channel content providers find that users are engaging with their content actively and passively across numerous publishers and channels. These content providers need a way to measure the reach of their content in driving their performance goals so that they have the most complete understanding of the impact of their content.
[0038] In today's fragmented digital landscape, users seamlessly navigate between websites and mobile applications (i.e., mobile apps). demanding a cohesive and frictionless experience. Yet, a significant disconnect exists between these platforms, hindering systems from accurately determining user journeys and atributing valuable conversions. Traditionalmethods, like deep linking and cookie-based tracking, are not able to accurately determine a user’s journey between a website of an organization and a mobile application of an entity, thus leaving the entity with an incomplete picture of user behavior and missed opportunities to optimize their digital strategies.
[0039] For example, a user can browse a website on their mobile phone, discovering a product to purchase, but then being abruptly throw n into the maze of an app store download. This jarring transition disrupts the user experience, leading to frustration and abandonment. Even when users successfully navigate to the app, existing solutions struggle to connect the dots between their initial web interaction and subsequent actions within the app. This lack of accurate attribution leaves businesses in the dark, unable to effectively measure the impact of their web traffic on app engagement and revenue.
[0040] With regards to conventional techniques, deep linking, while useful for directing users to specific content, fails to provide a comprehensive view- of the user journey. For example, deep linking alone breaks for fragmented user journeys. Additionally, cookiebased tracking, plagued by browser restrictions and privacy concerns, only offers a limited amount of insight. For example, cookies are limited by browser restrictions, cookie deletion, and cross-domain tracking challenges. Moreover, device identifier tracking faces technical privacy limitations and is subject to platform restrictions.
[0041] The invention described herein bridges the gap between web and mobile app, providing ability for entities to understand and optimize user journeys across a plurality’ of platforms. By intelligently capturing, storing, and stitching user data across platforms, the system described herein accurately determines the path to conversion, empowering entities (e.g., businesses) to make informed decisions and deliver seamless, personalized experiences that drive growth.
[0042] The invention described herein provides a unique system and method for seamlessly connecting web and mobile app experiences, enabling cross-platform user journey tracking and attribution. It acts as a bridge, facilitating a smooth transition between the diverse w orld of the w eb and the targeted environment of a mobile app, all w hile protecting user data.
[0043] The system can include a dynamic banner integrated within the website. The dynamic banner can detect w hether the user has the corresponding app installed. If the app is present, the system seamlessly provides an option to open the app, providing a continuous userexperience. If the app is not installed, the system guides the user to the app store for a frictionless download and onboarding process.
[0044] The dynamic banner can be a banner that changes content dynamically based on various factors such as user behavior, location, time, or external data sources. Unlike a static banner, which remains the same for all visitors, a dynamic banner updates in real-time to provide personalized or contextually relevant content. For example, the dynamic banner can include custom code (e.g., JavaScript) to fetch and update content. Additionally, the dynamic banner can utilize application programming interfaces (APIs) to pull real-time data. For example, the API can allow the dynamic banner to access real-time information about the mobile application, such as whether the mobile application is installed on the user device. Moreover, the dynamic banner can utilize cookies and user data to personalize content to the user. Furthermore, the dynamic banner can include a machine-learned model to optimize user engagement.
[0045] The system has the ability to unify fragmented user journeys across platforms. For example, the initial journey starts with the user accessing the browser on their device and navigating to a webpage either through a search result or directly on to the webpage (e.g., clicking on link). The user can navigate to other pages within the web page and these pages can contain a dynamic banner. Upon interaction with the banner, interaction data (e.g., user specific or aggregated data) can be captured and stored on the device. The interaction data can be securely held in an intermediate storage, either on the user's device or a remote server or both. The intermediate storage can be a trusted execution environment (TEE). A TEE is a special configuration of computer hardware and software that uses a hardware root-of-trust to provide confidentiality of data processing and prevent observation or tampering. TEEs allow external parties to verify that the software does exactly what the software developer claims it does. TEEs can be a server that provides an isolated environment to process data like personal information.
[0046] In some instances, when the user performs an action (e.g. , registration, purchase, put a product in a shopping cart, or other in-app event) within the app, the user interaction data can be retrieved from the encrypted database (e.g.. intermediate storage) and combined with the app event data. For example, the mobile application can be authorized to have access to the encry pted database. The intermediate storage can be on the mobile device of the user or on a server of the system. The data can be fetched through any of the inter-process communication protocols supported by the operating system of the device. For example, the user interactiondata from the website interaction can be passed to a server (e.g.. backend server) along with the application event data. The user interaction data and the application event data can be stitched into combined data (e.g., unified data). The combined data can then be transmitted to a backend server, where it enables accurate attribution, revealing the true impact of web traffic on app conversions. The backend server can obtain the personally identifiable information (PII) or aggregated data from web interaction passed by the device and looks up data in the data store to match it, using either a deterministic or probabilistic approach, with the initial web request served by the server. The system can generate a comprehensive record of the user's journey, connecting their web interaction with their in-app activity.
[0047] According to some embodiments, the user clicks a link in a mobile device and is sent to a website on the web browser. The website owner can integrate a banner on their mobile web pages inside the website on which the user lands upon clicking the link. The banner can appear hke a pop-up on the website that links directly to a corresponding app that is already installed. If the corresponding app is not installed, the link takes users to the store to download the mobile app. As previously mentioned, the dynamic banner can determine whether the mobile application is installed by using an API. If the app is already installed on the user’s device, the banner intelligently changes its action, and tapping the banner simply opens the app. If the user does not have your app on their device, tapping the banner takes them to the mobile app page in the App Store. When the user returns to the website, a progress bar appears in the banner, indicating how much longer the download will take to complete. When the app finishes downloading, the "‘view button” changes to an "‘open button” and the user tapping the banner opens the mobile app while preserving the user’s content from your website.
[0048] The website owner can configure deep links based on the page that the user is viewing. For example, if a user is viewing a specific product on a website, the system can send the user to the same product inside the mobile app.
[0049] In some instances, when the user clicks on a banner, a pop-up that launches a call to action (CTA) on the w eb browser and the custom code (e.g., JavaScript) running on the w ebpage can parse the aggregated and / or encry pted data from the click URL by extracting from the URL on the web address or from the cookie store.
[0050] The extracted data is passed to an intermediate storage on-device which can be a store used on-device under the same app or different app sandbox memory or to an external server. The user then gets redirected to the app store if the mobile app is not installed todownload and open the app. Alternatively, the mobile app can be opened based on the deep link configuration.
[0051] Additionally, the user can perform an action inside the app (e.g., purchases merchandise in the app). The user interaction data that is stored upon clicking inside the banner is retrieved from the intermediate storage system and is stitched to the data that is being sent to the backend server for recording the event. This stitching helps maintain the context of the traffic to an app and allows the web users to perform an action within the app.
[0052] Subsequently, the backend server can receive the data and establish a link between the link that was clicked and launch the web page to the activity performed inside the app.
[0053] Examples of the disclosure provide several technical effects, benefits, and / or improvements in computing technology and artificial intelligence techniques that involve the use of dynamic banners for accurate cross platform attribution calculation. Conventional methods may not be able to accurately measure attribution when the user journey is fragmented across a plurality of platforms. The invention described herein, by using a dynamic banner can accurately determine attribution for a fragmented user journey (e.g., user interaction with a website and a product purchased on a mobile application). Additionally, the user interaction data can be securely stored in an encrypted database. Furthermore, the mobile application can be authorized to retrieve the user interaction data from the encrypted database and merge this data with the application event data to generate combined data that is transmitted to a server for attribution determination. Furthermore, the techniques described herein utilize machine-learned models to match user interaction data associated with interactions in a website with application event data associated with actions in a mobile application. The present disclosure can reduce processing by using a dynamic banner to capture content relevant data to accurately determine attribution. The benefit of the invention is that the system enable attributing the web and app activities for fragmented user journeys by enabling the dynamic banner pass the user interaction data from the web browser on the mobile device to the app running on the same mobile device to ensure accurate attribution. Additionally, the system provides a seamless user experience in relevant apps by ensuring every converted app user starts their in-app experience where you want. Moreover, the system enables more accurate mobile app attribution, especially when the user journey is fragmented (e.g., content item is shown on the webpage and the item is purchased on the mobile app).
[0054] With reference now to the Figures, example embodiments of the present disclosure will be discussed in further detail.Example Model Arrangements
[0055] Figure 1 depicts a data flow 100 of a system to determine attribution across a plurality of platforms according to example embodiments of the present disclosure.
[0056] According to some embodiments, a user can click on dynamic banner 110 that is embedded in a mobile website 120. The dynamic banner 110 can be associated with a specific item 115 that is listed for sale on the website. The dynamic banner 110 can determine whether a mobile app 130 is installed on the mobile device.
[0057] When the mobile app 130 is installed on the mobile device, the dynamic banner 110 can launch the mobile app 130 on the user device. The mobile app 130 can be opened directly to the item 115 (e.g., product) that was selected in the mobile website 120 using a dynamic deep link 140.
[0058] When the mobile app 130 is not installed on the mobile device, the dynamic banner can launch the app store to enable the user to download the mobile app 130. Once the mobile app is installed 130, the system using a deferred deep link 150 can automatically open the app page of the item 115 (e.g., shoe) that was selected in the mobile website 120.
[0059] Figure 2 depicts a block diagram of an attribution system 200 according to example embodiments of the present disclosure. The components 205-270 can communicate with each other and work together to collect, process, store, and serve content to users. By orchestrating components 205-270 effectively, the attribution system 200 can more efficiently generate accurate attribution data while minimizing operational overhead. The system 200 can accurately attribute user actions across web and app platforms by utilizing a combination of components 205-270.
[0060] The dynamic banner 210 can be integrated and displayed on the website 205. The dynamic banner 210 can be capable of detecting if the app is installed. The dynamic banner 210 can provide a seamless transition to the app, either opening it directly or directing the user to the app store in case the app is not already installed. For example, for the dynamic banner 210 integration, custom code (e.g., JavaScript) can be integrated into the website to display and manage the dynamic banner.
[0061] The data capture module 220, which can be part of the website 205, can capture user interaction data 235. For example, when a user clicks on the dynamic banner 210, the data capture module 220 can extract user interaction data 235. The data capture module 220, can receive user interaction data 235 from various sources, including websites, mobile apps, content campaign management systems, and third-party data sources. The user interaction data 235 can include user interactions, browsing history, search queries, demographics, location information, cookie information, and device types among other types of raw data.
[0062] In some embodiments, the user interaction data 235 can include data indicative of impressions generated by content items owned by the content provider provided at the data source. For example, if a visual content item was displayed on an instance of a web page ow ned by the source, an impression can be generated by the source indicating that the content item was presented to a user of the data source. A number of impressions for different content items can be tracked by the data source and provided back to the data capture module 220. Other raw data associated with the impressions, such as demographic data, click-through data, viewing data, and the like can also be sent from the data source to the data collection component 410.
[0063] In some embodiments, obtaining the user interaction data 235 can include providing credentials to access the data source from which the raw data is obtained. For example, certain data sources may require login credentials or other security credentials before allowing the data capture module 220 to receive the user interaction data 235 from the data source. The data capture module 220 can obtain the required credentials from a user or from a credential storage location and provide the required credentials to the data source for access to the user interaction data 235.
[0064] In some embodiments, obtaining the user interaction data 235 can include utilizing an application programming interface (“API”) call at the data source to retrieve the user interaction data 235 from the data source. This API call can define parameters for data to be retrieved, such as date, time, location where content was displayed, and the like. The returned data can include the defined parameters and one or more other parameters.
[0065] The user interaction data 235 can be extracted from the click URL or cookie storage and passed to an intermediate storage 230 that is either on-device or an external server. The intermediate storage 230 can include a secure storage mechanism either on the user’s device or on the backend server 260 for temporarily holding user data.
[0066] Additionally, the mobile app (e.g., mobile application) 240 can include application event data 245.
[0067] The data stitching module 250 can stitch the user interaction data 235 and the application event data 245. In some instances, the data stitching module 250 can provide functionality within the mobile app 240 to retrieve user interaction data 235 and combine the user interaction data 235 with the app event data 245.
[0068] For example, when the user performs an action within the mobile app 240, the user interaction data 235 is retrieved and stitched with the app event data 245. The user interaction data 235 and the app event data 245 can be stitched by the mobile app 240 or by the intermediate storage 230 once the app event data 245 is sent to the server 260 (e.g.. backend server). The server 260 can receive and process the combined data 255 and generate attribution data 265 for attribution and analysis.
[0069] In some instances, the combined data 255 that is generated by the data stitching module 250 can be sent to a backend server 260. The backend server can process, using a machine learning component 270, the data (e.g., user interaction data 235, the app event data 245, and / or the combined data 255) to generate attribution data 265. The attribution data 265 can provide accurate attribution of the in-app action to the original web interaction. In some instances, the system 200 can generate reports for the entity based on the attribution data 265 using a machine learning component 270.
[0070] The sen' er 260 can process and analyze the data to generate attribution data 265. The analysis data can include meaningful insights, hints, and relevant information about the impressions garnered by the provision of content items to data sources. The server 260 can involve real-time stream processing as well as batch processing of historical data. Techniques such as machine learning, data mining, and statistical analysis can be employed to derive preferences, interests, and behavior patterns of users, impression patterns about content items, and the like.
[0071] In some embodiments, the server 260 can perform data conversion on the received raw data to a format usable by the system 200. For example, different platforms or data sources can provide raw data to the system 200 in different reporting formats, data formats, and the tike. The server 260 can convert the received data into formats or metrics usable by the system 200 for reporting purposes.
[0072] The machine learning component 270 can facilitate analysis of data using one or more machine-learned models. For example, the machine-learned models can take as user interaction data 235 and app event data 245 to generate attribution data 265.Example Methods
[0073] Figure 3 depicts a flow chart diagram of an example method 300 for determining cross platform attribution using a server according to example embodiments of the present disclosure. Although Figure 3 depicts steps performed in a particular order for purposes of illustration and discussion, the methods of the present disclosure are not limited to the particularly illustrated order or arrangement. The various steps of method 300 can be omitted,
[0074] rearranged, combined, and / or adapted in various ways without deviating from the scope of the present disclosure.
[0075] At operation 310, the system can receive, from a user device of a user, user interaction data associated with an interaction of the user with a website of an entity. The user interaction data can be generated by a banner that is embedded in the website.
[0076] In some instances, the user interaction data is associated with the user clicking the banner.
[0077] In some instances, the user interaction data is associated with the user interacting with the website.
[0078] In some instances, the banner extracts journey data from a URL of the website, and wherein the user interaction data is generated by the banner based on the journey data.
[0079] In some instances, the banner extracts user data from a cookie of the website, and wherein the user interaction data is generated by the banner based on the user data.
[0080] In some instances, the banner is a dynamic banner that changes content dynamically based on the web history7of the user, search history7of the user, and a webpage of the website.
[0081] At operation 320, in response to receiving the user interaction data, the system can cause a mobile application associated with the entity to be launched on the user device.
[0082] At operation 330, the system can receive, from the mobile application, application event data associated with an action performed in the mobile application.
[0083] At operation 340, the system can process the application event data to generate attribution data.
[0084] At operation 350, the system can store the attribution data in an attribution database. In some instances, the attribution data can indicate that the user interacted with a product on the website of the entity. Additionally, the attribution data can indicate that the user purchased the product using the mobile application of the entity.
[0085] In some instances, the system can generate a report based on the attribution data. Additionally, the system can present the report on a device of the entity7.
[0086] In some instances, the system can include an encrypted database (e.g., intermediate storage 230) for storing the user interaction data. Additionally, in response to receiving the user interaction data, the system can store the user interaction data in the encrypted database. Moreover, in response to receiving the application event data, retrieving the user interaction data of the user.
[0087] In some instances, the attribution data can be generated by processing the user interaction data and the application event data.
[0088] In some instances, the user interaction data and the application event data can be processed using a machine-learned model to generate the attribution data.
[0089] In some instances, the encry pted database is a trusted execution environment (TEE) of the system.
[0090] In a first embodiment, the user interaction data can indicate that the mobile application is not currently installed on the user device. In the first embodiment, the system can cause an application store to be launched on the mobile device, the application store enabling the user to install the mobile application.
[0091] In some instances, the banner can detect that the mobile application is not currently installed on the user device.
[0092] In some instances, the user interaction data can be stored in an encrypted database (e.g., intermediate storage 230). The encry pted database can be on the user device or the server (e.g., backend server, server 260).
[0093] In some instances, the mobile application can include a data stitching module. The data stitching module can retrieve the user interaction data from the encry pted database in response to the action performed in the mobile application.
[0094] In some instances, the stitching module can process the user interaction data and data associated with the action performed in the mobile application to generate the application event data.
[0095] In some instances, the system can determine a match associated with the user interaction with the website and the action performed in the mobile application. Additionally, the attribution data can include an attribution of the user interaction with the website to the user and an attribution of the action performed in the mobile application to the user based on the determined match.
[0096] Figure 4 depicts a flow chart diagram of an example method 400 for determining cross platform attribution with a user device according to example embodiments of the present disclosure. Although Figure 4 depicts steps performed in a particular order for purposes of illustration and discussion, the methods of the present disclosure are not limited to the particularly illustrated order or arrangement. The various steps of method 400 can be omitted, rearranged, combined, and / or adapted in various ways without deviating from the scope of the present disclosure.
[0097] At operation 410, the device (e.g., mobile device, cellphone) can present, on a display of the user device, a website of an entity, the website having a dynamic banner.
[0098] At operation 420, the device can receive a user interaction with the website.
[0099] At operation 430, the device can obtain, using the dynamic banner, user interaction data associated with the user interaction. The dynamic banner can retrieve the user interaction data from a cookie, a URL of the website, and / or an application programming interface.
[0100] At operation 440, the device can store the user interaction data in an encrypted database.
[0101] At operation 450, in response to receiving the user interaction, the device can cause a mobile application associated with the entity to be presented on the display.
[0102] At operation 460, the device can receive, from the mobile application, application event data associated with an action performed in the mobile application.
[0103] At operation 470. in response to receiving the application event data, the device can transmit combined data to a server. The combined data is based on the user interaction data and the application event data.
[0104] In some instances, the device includes an encrypted database. Additionally, in response to receiving the user interaction data, the device can store the user interaction data in the encrypted database. Moreover, in response to receiving the application event data, tge device can retrieve the user interaction data from the encrypted database.
[0105] In some instances, the encrypted database can be a trusted execution environment (TEE) of the user device.
[0106] In some instances, the device can merge the user interaction data and the application event data to generate the combined data.
[0107] In some instances, the user interaction data and the application event data can be processed using a machine-learned model to generate the combined data.
[0108] In some instances, the combined data indicates that: the user interacted with a product on the website of the entity; and the user purchased the product using the mobile application of the entity.
[0109] In some instances, the user interaction data is associated with the user clicking the banner.
[0110] In some instances, the user interaction data is associated with the user interacting with a webpage of the website.
[0111] In some instances, the banner extracts journey data from a Uniform Resource Locator (URL) of the website, and wherein the user interaction data is generated by the banner based on the j oumey data.
[0112] In some instances, the banner extracts user data from a cookie of the website, and wherein the user interaction data is generated by the banner based on the user data.
[0113] In some instances, the user interaction data indicates that the mobile application is not currently installed on the user device. Additionally, the device can cause an application store to launch, where the application store enables the installation of the mobile application on the user device.
[0114] In some instances, the banner detects that the mobile application is not currently installed on the user device.
[0115] In some instances, the banner is a dynamic banner. In some instances, the dynamic banner has a progress bar when the mobile application is being downloaded. In someinstances, the dynamic banner has a view button when the mobile application has been downloaded.
[0116] In some instances, the mobile application includes a data stitching module, and where the data stitching module retrieves the user interaction data from the encrypted database in response to the action performed in the mobile application.
[0117] In some instances, the stitching module processes the user interaction data and application event data to generate the combined data.
[0118] In some instances, the device can determine a match associated the user interaction with the website and the action performed in the mobile application. Additionally, the combined data includes an attribution of the user interaction with the website to the user and an attribution of the action performed in the mobile application to the user based on the determined match.
[0119] In some instances, the banner is a dynamic banner that changes content dynamically based on web history of the user, search history of the user, and a webpage of the website.Example Devices and Systems
[0120] Figure 5 A depicts a block diagram of an example computing system 400 according to example embodiments of the present disclosure. The system 500 includes a user computing device 502, a server computing system 530, and a training computing system 550 that are communicatively coupled over a network 580.
[0121] The user computing device 502 can be any type of computing device, such as, for example, a personal computing device (e.g., laptop or desktop), a mobile computing device (e.g.. smartphone or tablet), a gaming console or controller, a wearable computing device, an embedded computing device, or any other type of computing device.
[0122] The user computing device 502 includes one or more processors 512 and a memory 514. The one or more processors 512 can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, a microcontroller, etc.) and can be one processor or a plurality of processors that are operatively connected. The memory 514 can include one or more non-transitory computer-readable storage media, such as RAM. ROM, EEPROM, EPROM, flash memory devices, magnetic disks, etc., and combinationsthereof. The memory 514 can store data 516 and instructions 518 which are executed by the processor 512 to cause the user computing device 502 to perform operations.
[0123] In some implementations, the user computing device 502 can store or include one or more models 520. For example, the models 520 can be or can otherwise include various machine-learned models such as neural networks (e.g., deep neural networks) or other types of machine-learned models, including non-linear models and / or linear models. Neural networks can include feed-forward neural networks, recurrent neural networks (e.g.. long short-term memory recurrent neural networks), convolutional neural networks or other forms of neural networks. Some example machine-learned models can leverage an attention mechanism such as self-attention. For example, some example machine-learned models can include multiheaded self-attention models (e.g., transformer models).
[0124] In some implementations, the one or more models 520 can be received from the server computing system 530 over network 580, stored in the user computing device memory 514, and then used or otherwise implemented by the one or more processors 512. In some implementations, the user computing device 502 can implement multiple parallel instances of a single model 520.
[0125] Additionally or alternatively, one or more models 540 can be included in or otherwise stored and implemented by the server computing system 530 that communicates with the user computing device 502 according to a client-server relationship. For example, the model 540 can be implemented by the server computing system 540 as a portion of a web service. Thus, one or more models 520 can be stored and implemented at the user computing device 502 and / or one or more models 540 can be stored and implemented at the server computing system 530.
[0126] The user computing device 502 can also include one or more user input components 522 that receives user input. For example, the user input component 522 can be a touch-sensitive component (e.g., a touch-sensitive display screen or a touch pad) that is sensitive to the touch of a user input object (e.g., a finger or a stylus). The touch-sensitive component can serve to implement a virtual keyboard. Other example user input components include a microphone, a traditional keyboard, or other means by which a user can provide user input.
[0127] The server computing system 530 includes one or more processors 532 and a memory 534. The one or more processors 532 can be any suitable processing device (e.g., aprocessor core, a microprocessor, an ASIC, an FPGA, a controller, a microcontroller, etc.) and can be one processor or a plurality’ of processors that are operatively connected. The memory 534 can include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, etc., and combinations thereof. The memory' 534 can store data 536 and instructions 538 which are executed by the processor 532 to cause the server computing system 530 to perform operations.
[0128] In some implementations, the server computing system 530 includes or is otherwise implemented by one or more server computing devices. In instances in which the server computing system 530 includes plural server computing devices, such server computing devices can operate according to sequential computing architectures, parallel computing architectures, or some combination thereof.
[0129] As described above, the server computing system 530 can store or otherwise include one or more models 540. For example, the models 540 can be or can otherwise include various machine-learned models. Example machine-learned models include neural networks or other multi-layer non-linear models. Example neural networks include feed forward neural networks, deep neural networks, recurrent neural networks, and convolutional neural networks. Some example machine-learned models can leverage an attention mechanism such as selfattention. For example, some example machine-learned models can include multi-headed selfattention models (e.g.. transformer models).
[0130] The user computing device 502 and / or the server computing system 530 can train the models 520 and / or 540 via interaction with the training computing system 550 that is communicatively coupled over the network 580. The training computing system 550 can be separate from the server computing system 530 or can be a portion of the server computing system 530.
[0131] The training computing system 550 includes one or more processors 552 and a memory 554. The one or more processors 552 can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, a microcontroller, etc.) and can be one processor or a plurality' of processors that are operatively connected. The memory 554 can include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, etc., and combinations thereof. The memory 554 can store data 556 and instructions 558 which are executed by the processor 552 to cause the training computing system 550 to perform operations. In someimplementations, the training computing system 550 includes or is otherwise implemented by one or more server computing devices.
[0132] The training computing system 550 can include a model trainer 560 that trains the machine-learned models 520 and / or 540 stored at the user computing device 502 and / or the server computing system 530 using various training or learning techniques, such as, for example, backwards propagation of errors. For example, a loss function can be backpropagated through the model(s) to update one or more parameters of the model(s) (e.g., based on a gradient of the loss function). Various loss functions can be used such as mean squared error, likelihood loss, cross entropy loss, hinge loss, and / or various other loss functions. Gradient descent techniques can be used to iteratively update the parameters over a number of training iterations.
[0133] In some implementations, performing backwards propagation of errors can include performing truncated backpropagation through time. The model trainer 560 can perform a number of generalization techniques (e.g., weight decays, dropouts, etc.) to improve the generalization capability of the models being trained.
[0134] In particular, the model trainer 560 can train the models 520 and / or 540 based on a set of training data 562.
[0135] In some implementations, if the user has provided consent, the training examples can be provided by the user computing device 502. Thus, in such implementations, the model 520 provided to the user computing device 502 can be trained by the training computing system 550 on user-specific data received from the user computing device 502. In some instances, this process can be referred to as personalizing the model.
[0136] The model trainer 560 includes computer logic utilized to provide desired functionality. The model trainer 560 can be implemented in hardware, firmware, and / or software controlling a general purpose processor. For example, in some implementations, the model trainer 560 includes program files stored on a storage device, loaded into a memory and executed by one or more processors. In other implementations, the model trainer 560 includes one or more sets of computer-executable instructions that are stored in a tangible computer-readable storage medium such as RAM, hard disk, or optical or magnetic media.
[0137] The network 580 can be any type of communications network, such as a local area network (e.g., intranet), wide area network (e.g., Internet), or some combination thereof and can include any number of wired or wireless links. In general, communication over thenetwork 180 can be carried via any type of wired and / or wireless connection, using a wide variety of communication protocols (e.g., TCP / IP, HTTP, SMTP, FTP), encodings or formats (e.g., HTML, XML), and / or protection schemes (e.g., VPN, secure HTTP, SSL).
[0138] In some implementations, the input to the machine-learned model(s) of the present disclosure can be text or natural language data. The machine-learned model(s) can process the text or natural language data to generate an output. As an example, the machine-learned model(s) can process the natural language data to generate a language encoding output. As another example, the machine-learned model(s) can process the text or natural language data to generate a latent text embedding output. As another example, the machine-learned model(s) can process the text or natural language data to generate a translation output. As another example, the machine-learned model(s) can process the text or natural language data to generate a classification output. As another example, the machine-learned model(s) can process the text or natural language data to generate a textual segmentation output. As another example, the machine-learned model(s) can process the text or natural language data to generate a semantic intent output. As another example, the machine-learned model(s) can process the text or natural language data to generate an upscaled text or natural language output (e.g., text or natural language data that is higher quality than the input text or natural language, etc.). As another example, the machine-learned model(s) can process the text or natural language data to generate a prediction output.
[0139] In some implementations, the input to the machine-learned model(s) of the present disclosure can be statistical data. Statistical data can be, represent, or otherwise include data computed and / or calculated from some other data source. The machine-learned model(s) can process the statistical data to generate an output. As an example, the machine-learned model(s) can process the statistical data to generate a recognition output. As another example, the machine-learned model(s) can process the statistical data to generate a prediction output. As another example, the machine-learned model(s) can process the statistical data to generate a classification output. As another example, the machine-learned model(s) can process the statistical data to generate a segmentation output. As another example, the machine-learned model(s) can process the statistical data to generate a visualization output. As another example, the machine-learned model(s) can process the statistical data to generate a diagnostic output.
[0140] Figure 5 A illustrates one example computing system that can be used to implement the present disclosure. Other computing systems can be used as well. For example, in some implementations, the user computing device 502 can include the model trainer 560 andthe training dataset 562. In such implementations, the models 520 can be both trained and used locally at the user computing device 502. In some of such implementations, the user computing device 502 can implement the model trainer 560 to personalize the models 520 based on userspecific data.
[0141] Figure 5B depicts a block diagram of an example computing device 500 that performs according to example embodiments of the present disclosure. The computing device 500 can be a user computing device or a server computing device.
[0142] The computing device 600 includes a number of applications (e.g., applications 1 through N). Each application contains its own machine learning library and machine-learned model(s). For example, each application can include a machine-learned model. Example applications include a text messaging application, an email application, a dictation application, a virtual keyboard application, a browser application, etc.
[0143] As illustrated in Figure 5B, each application can communicate with a number of other components of the computing device, such as, for example, one or more sensors, a context manager, a device state component, and / or additional components. In some implementations, each application can communicate with each device component using an API (e.g., a public API). In some implementations, the API used by each application is specific to that application.
[0144] Figure 5C depicts a block diagram of an example computing device 700 that performs according to example embodiments of the present disclosure. The computing device 600 can be a user computing device or a server computing device.
[0145] The computing device 600 includes a number of applications (e.g., applications 1 through N). Each application is in communication with a central intelligence layer. Example applications include a text messaging application, an email application, a dictation application, a virtual keyboard application, a browser application, etc. In some implementations, each application can communicate with the central intelligence layer (and model(s) stored therein) using an API (e.g., a common API across all applications).
[0146] The central intelligence layer includes a number of machine-learned models. For example, as illustrated in Figure 5C, a respective machine-learned model can be provided for each application and managed by the central intelligence layer. In other implementations, two or more applications can share a single machine-learned model. For example, in some implementations, the central intelligence layer can provide a single model for all of theapplications. In some implementations, the central intelligence layer is included within or otherwise implemented by an operating system of the computing device 600.
[0147] The central intelligence layer can communicate with a central device data layer. The central device data layer can be a centralized repository of data for the computing device 600. As illustrated in Figure 5C, the central device data layer can communicate with a number of other components of the computing device, such as, for example, one or more sensors, a context manager, a device state component, and / or additional components. In some implementations, the central device data layer can communicate with each device component using an API (e.g., a private API).Additional Disclosure
[0148] The technology discussed herein makes reference to servers, databases, software applications, and other computer-based systems, as well as actions taken and information sent to and from such systems. The inherent flexibility of computer-based systems allow s for a great variety of possible configurations, combinations, and divisions of tasks and functionality between and among components. For instance, processes discussed herein can be implemented using a single device or component or multiple devices or components w orking in combination. Databases and applications can be implemented on a single system or distributed across multiple systems. Distnbuted components can operate sequentially or in parallel.
[0149] While the present subject matter has been described in detail with respect to various specific example embodiments thereof, each example is provided by way of explanation, not limitation of the disclosure. Those skilled in the art, upon attaining an understanding of the foregoing, can readily produce alterations to. variations of. and equivalents to such embodiments. Accordingly, the subject disclosure does not preclude inclusion of such modifications, variations and / or additions to the present subject matter as would be readily apparent to one of ordinary skill in the art. For instance, features illustrated or described as part of one embodiment can be used with another embodiment to yield a still further embodiment. Thus, it is intended that the present disclosure covers such alterations, variations, and equivalents.
Claims
WHAT IS CLAIMED IS:
1. A system for determining cross platform attribution, the system comprising: one or more processors; andone or more memory devices storing computer-readable instructions that, when implemented, cause the one or more processors to perform operations, the operations comprising:receiving, from a user device of a user, user interaction data associated with an interaction of the user with a website of an entity, the user interaction data being generated by a banner that is embedded in the website;in response to receiving the user interaction data, causing a mobile application associated with the entity to be launched on the user device;receiving, from the mobile application, application event data associated with an action performed in the mobile application;processing the application event data to generate attribution data; and storing the attribution data in an attribution database.
2. The system of claim 1. wherein the system includes an encrypted database for storing the user interaction data, the operations further comprises:in response to receiving the user interaction data, storing the user interaction data in the encrypted database; andin response to receiving the application event data, retrieving the user interaction data of the user.
3. The system of claim 2, wherein the attribution data is generated by processing the user interaction data and the application event data, and wherein the user interaction data and the application event data is processed using a machine-learned model to generate the attribution data.
4. The system of claim 2, wherein the encrypted database is a trusted execution environment (TEE) of the system.
5. The system of claim 1, wherein the attribution data indicates that:the user interacted with a product on the w ebsite of the entity; andthe user purchased the product using the mobile application of the entity7.
6. The system of claim 1, the operations further comprises:generating a report based on the attribution data; andpresenting the report on a device of the entity7.
7. The system of claim 1. wherein the user interaction data is associated with the user clicking the banner or the user interacting with the website.
8. The system of claim 7, wherein the banner extracts journey data from a Uniform Resource Locator (URL) of the website, and wherein the user interaction data is generated by the banner based on the journey data.
9. The system of claim 7, wherein the banner extracts user data from a cookie of the website, and wherein the user interaction data is generated by the banner based on the user data.
10. The system of claim 1, wherein the banner is generated by data obtained from an application programing interface (API), the API providing the banner with real-time data of the user from the mobile application.
11. The system of claim 1, the user interaction data indicating that the mobile application is not currently installed on the user device, the operation further comprises: causing an application store to be launched on the user device, the application store enabling the user to install the mobile application.
12. The system of claim 11, wherein the banner detects that the mobile application is not currently installed on the user device by using an application programing interface (API).
13. The system of claim 1, wherein the user interaction data is stored in a sandbox, the sandbox being on the user device.
14. The system of claim 13, wherein the sandbox is only accessible by the mobile application.
15. The system of claim 13, wherein the mobile application includes a data stitching module, and wherein the data stitching module retrieves the user interaction data from the sandbox in response to the action performed in the mobile application.
16. The system of claim 15, wherein the stitching module processes the user interaction data and data associated with the action performed in the mobile application to generate the application event data.
17. The system of claim 1, the operations further comprises:determining a match associated the user interaction with the website and the action performed in the mobile application, andwherein the attribution data includes an attribution of the user interaction w ith the website to the user and an attribution of the action performed in the mobile application to the user based on the determined match.
18. The system of claim 1, wherein the banner is a dynamic banner that changes content dynamically based on web history of the user, search history of the user, and a webpage of the website.
19. A method for determining cross platform attribution, the method comprises: receiving, from a user device of a user, user interaction data associated with an interaction of the user with a website of an entity, the user interaction data being generated by a banner that is embedded in the w ebsite;in response to receiving the user interaction data, causing a mobile application of the entity to be launched on the user device;receiving, from the mobile application, application event data associated with an action performed in the mobile application;processing the application event data to generate attribution data; andstoring the attribution data in an attribution database.
20. One or more non-transitory, computer readable media storing instructions that are executable by one or more processors to cause a computing system to perform operations, the operations comprising:receiving, from a user device of a user, user interaction data associated with an interaction of the user with a website of an entity, the user interaction data being generated by a banner that is embedded in the website;in response to receiving the user interaction data, causing a mobile application of the entity to be launched on the user device;receiving, from the mobile application, application event data associated with an action performed in the mobile application;processing the application event data to generate attribution data; andstoring the attribution data in an attribution database.
21. A user device for determining cross platform attribution, the user device comprising:one or more processors; andone or more memory devices storing computer-readable instructions that, when implemented, cause the one or more processors to perform operations, the operations comprising:presenting, on a display of the user device, a website of an entity, the website having a dynamic banner;receiving a user interaction with the website;obtaining, using the dynamic banner, user interaction data associated with the user interaction;storing the user interaction data in an encrypted database;in response to receiving the user interaction, causing a mobile application associated with the entity to be presented on the display;receiving, from the mobile application, application event data associated with an action performed in the mobile application; andin response to receiving the application event data, transmitting combined data to a server, wherein the combined data is derived from the user interaction data and the application event data.
22. The user device of claim 21, wherein the user device includes an encry pted database, the operations further comprises:in response to receiving the user interaction data, storing the user interaction data in the encry pted database; andin response to receiving the application event data, retrieving the user interaction data from the encrypted database.
23. The user device of claim 21, wherein the encry pted database is a trusted execution environment (TEE) of the user device.
24. The user device of claim 21, the operations further comprises: merging the user interaction data and the application event data to generate the combined data.
25. The user device of claim 21, wherein the user interaction data and the application event data is processed using a machine-learned model to generate the combined data.
26. The user device of claim 21, wherein the combined data indicates that: the user interacted with a product on the website of the entity; andthe user purchased the product using the mobile application of the entity.
27. The user device of claim 21, wherein the user interaction data is associated with the user clicking the banner.
28. The user device of claim 21, wherein the user interaction data is associated with the user interacting with a webpage of the website.
29. The user device of claim 21, wherein the banner extracts journey data from a Uniform Resource Locator (URL) of the website, and wherein the user interaction data is generated by the banner based on the journey data.
30. The user device of claim 21, wherein the banner extracts user data from a cookie of the website, and wherein the user interaction data is generated by the banner based on the user data.
31. The user device of claim 21 , the user interaction data indicates that the mobile application is not currently installed on the user device, the operation further comprises: causing an application store to launch, the application store enabling the installation of the mobile application on the user device.
32. The user device of claim 31, wherein the dynamic banner detects that the mobile application is not currently installed on the user device.
33. The user device of claim 31, wherein the banner is a dynamic banner, the dynamic banner has a progress bar when the mobile application is being downloaded, and the dynamic banner has a view button when the mobile application has been downloaded.
34. The user device of claim 21, wherein the mobile application includes a data stitching module, and wherein the data stitching module retrieves the user interaction data from the encrypted database in response to the action performed in the mobile application.
35. The user device of claim 34, wherein the stitching module processes the user interaction data and application event data to generate the combined data.
36. The user device of claim 21, the operations further comprises: determining a match associated the user interaction with the website and the action performed in the mobile application, andwherein the combined data includes an attribution of the user interaction with the website to the user and an attribution of the action performed in the mobile application to the user based on the determined match.
37. The user device of claim 21, wherein the banner is a dynamic banner that changes content dynamically based on web history' of the user, search history of the user, and a webpage of the website.
38. The user device of claim 21, wherein the dynamic banner retrieves the user interaction data from a cookie, a URL of the website, or an application programming interface.
39. A method for determining cross platform attribution, the method comprises: presenting, on a display of a user device, a website of an entity, the website having a dynamic banner;receiving a user interaction with the website;obtaining, using the dynamic banner, user interaction data associated with the user interaction, wherein the dynamic banner retrieves the user interaction data from a cookie, a URL of the website, or an application programming interface;storing the user interaction data in an encrypted database;in response to receiving the user interaction, causing a mobile application associated with the entity to be presented on the display;receiving, from the mobile application, application event data associated with an action performed in the mobile application; andin response to receiving the application event data, transmitting combined data to a server, wherein the combined data is based on the user interaction data and the application event data.
40. One or more non-transitory, computer readable media storing instructions that are executable by one or more processors to cause a computing system to perform operations, the operations comprising:presenting, on a display of a user device, a website of an entity, the website having a dynamic banner;receiving a user interaction with the website;obtaining, using the dynamic banner, user interaction data associated with the user interaction, wherein the dynamic banner retrieves the user interaction data from a cookie, a URL of the website, or an application programming interface;storing the user interaction data in an encrypted database;in response to receiving the user interaction, causing a mobile application associated with the entity to be presented on the display;receiving, from the mobile application, application event data associated with an action performed in the mobile application; andin response to receiving the application event data, transmitting combined data to a server, wherein the combined data is based on the user interaction data and the application event data.