Integrated plug-in for identifying related items and presenting them on a web page
The integration plug-in addresses the challenge of presenting additional items on web pages by enabling remote configuration and optimization, facilitating quick integration and improving conversion rates without website modifications.
Patent Information
- Application Number
- JP2023065185
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2015-07-31
- Filing Date
- 2023-04-12
- Publication Date
- 2025-11-05
- Estimated Expiration
- 2036-07-07
AI Technical Summary
Identifying and presenting additional items related to a base item on a web page is a time-consuming endeavor that requires significant programming and layout reprogramming, especially when websites change.
An integration plug-in that enables automatic or semi-automatic presentation of additional items, allowing remote configuration and optimization of customized template blocks without modifying the website, with plug-and-play compatibility across various websites.
Facilitates quick and seamless integration of additional items, reducing the need for extensive programming, enhancing conversion rates through real-time performance tracking and optimization.
Smart Images

Figure 0007764421000001 
Figure 0007764421000002 
Figure 0007764421000003
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Application No. 62 / 189,671 to Von Hein et al., entitled "Checkout Integration Plug-in," filed July 7, 2015, the entire contents of which are incorporated herein by reference for all purposes. This application also relates to U.S. Patent Application No. 62 / 199,762, entitled "Website Environment Optimization," filed July 31, 2015, the entire contents of which are incorporated herein by reference for all purposes.
[0002] <Field> The disclosure herein generally relates to providing a web page with one or more additional items related to a base item already on the web page. Specifically, the disclosure relates to enabling a web page to integrate the ability to identify and provide additional items related to a base item already displayed on the web page. In the disclosure herein, the items may be products or services sold in an online store. [Background technology]
[0003] Traditionally, identifying and presenting additional items on a web page that are related to a base item already displayed on the web page is a very time-consuming endeavor. In some cases, users must arrange the additional items themselves. In other cases, the website must correlate the additional items to the base item. Furthermore, presenting the additional items requires the website to reprogram its layout every time the website changes. Thus, integrating the additional items can require a significant amount of programming on the website. Embodiments of the disclosure herein address these and other problems, individually or collectively. Summary of the Invention
[0004] Embodiments herein may provide for automatic or semi-automatic presentation of one or more additional items related to a base item displayed on a web page. For example, the system may generate and render customized template blocks for the web page to display information related to the one or more additional items. In some examples, the customized template blocks may be configured and optimized remotely.
[0005] In some examples, the integration plug-in can enable the integrated system to include one or more additional items on a web page of a website, where the presentation of the one or more additional items is remotely customized for a user viewing the web page. In some examples, the integration plug-in can be compatible with a variety of websites. The integration plug-in can also be plug-and-play, allowing for quick and / or seamless installation. In some examples, the integration plug-in can eliminate the need to extensively program a website to automatically or semi-automatically provide additional items from the website.
[0006] Embodiments may also provide for remote configuration and optimization of customized template blocks to provide additional items during interaction with a website without the need to modify the website, and in some instances, no significant programming may be required for a website to integrate an integration plug-in.
[0007] Embodiments may also provide integration for one or more steps of a process related to a website, enabling combination of a first item with a second item, where the second item is related to the first item. Embodiments may also provide remote control over where and whether a template block should be displayed. Embodiments may also provide various states for a template block, each state reflecting a previous action taken by a user.
[0008] Embodiments may also provide for a reduction in data that needs to be entered for interactions related to additional items. In such embodiments, data from the base item and / or user data (e.g., name, address, etc.) may be retrieved from the website for the additional items without having to query the user again. Embodiments may also provide real-time performance tracking of template blocks for monitoring and optimization.
[0009] Embodiments may also provide a combined user interface for managing item matching, item configuration, performance tracking, and template block configuration remotely in one location without any website interaction.Embodiments are also directed to systems, portable or mobile consumer devices, and computer-readable media related to the methods described herein.
[0010] Other embodiments are directed to systems, portable consumer devices, and computer-readable media associated with the methods described herein.
[0011] A better understanding of the features and advantages of embodiments of the present invention will be obtained with reference to the following detailed description and accompanying drawings. [Brief explanation of the drawings]
[0012] [Figure 1] An example website and integrated system is described.
[0013] [Figure 2] 1 is a flowchart illustrating various web pages a user can receive from a website.
[0014] [Figure 3] 10 illustrates an example sequence for presenting one or more additional items associated with a base item using an integrated plug-in.
[0015] [Figure 4]1 is a flowchart of a method for providing an online environment on a client computer from the perspective of the client computer.
[0016] [Figure 5] 1 is a flowchart of a method for providing an online environment on a client computer from the perspective of a server computer system.
[0017] [Figure 6] 1 illustrates an example block diagram of a computer system. DETAILED DESCRIPTION OF THE INVENTION
[0018] An integration plug-in may be integrated into a website to allow a process to provide one or more additional items to a user. The integration plug-in may enable automatic identification of additional items related to a base item already displayed on a web page of the website. The identification may occur using a database containing one or more items. The integration plug-in may also enable the generation and rendering of customized template blocks that are displayed on the web page at the client computer. In some examples, the appearance of the customized template blocks may be configured and optimized remotely from the website by the integration system. The integration system may include a core application that communicates with the integration plug-in deployed on web pages submitted by the website. The integration system may also provide item matching, item configuration, performance tracking, customized template block generation, and other services.
[0019] An integration plug-in may be integrated into a website and may enable the website to provide one or more additional items related to a base item displayed on the web page. When a user navigates a web page received from the website, the integration plug-in may automatically load a first script into the web page. The first script may enable the integration system to match the base item displayed on the web page (e.g., in a shopping cart) with one or more additional items. Once the additional items are identified by the integration server, the integration plug-in may render a customized template block with the identification information of the additional items.
[0020] The user may add additional items to the purchase from the customized template block and proceed to checkout. When additional items are added, the user may view the base item (e.g., the item already displayed on the web page) and the additional items at once. When a request for the additional items is sent to the website, information related to the selection of the additional items may be stored by the client computer.
[0021] If a success page is returned from the website, the second integration plug-in may install a second script that sends information related to the purchase to the core application of the integration system (e.g., the information may indicate whether additional items were purchased). In some examples, the second script may be the same as the first script. The core application of the integration system may store the information related to the purchase to be used for future items displayed on the web page without the involvement of the website.
[0022] Template blocks presenting additional items can be configured, reconfigured, and optimized at any time without intervention from the website. Through multiple iterations of A / B testing (described below), template blocks can be optimized to increase conversion rates. As described in this disclosure, items can include products or services.
[0023] In some examples, the integration plug-in has wide compatibility and can be easily installed on a variety of websites. In some examples, the integration plug-in can be installed on a website in a plug-and-play manner. In some examples, the integration plug-in may be installed within a short time frame (e.g., minutes) and may not require significant programming effort from the website. In one embodiment, no programming effort by the website may be required at all. Many prior systems have the drawback of requiring a large amount of programming from the website to provide additional items, which can create a bottleneck in information technology (IT) resources for the website.
[0024] In some examples, the conversion rate can indicate the performance of the integrated system. The conversion rate can be the number of times the additional item was selected along with the base item divided by the total number of times the base item was selected.
[0025] I. Example Use of Integration Plugins To provide one context in which an integration plug-in may be used, a purchasing process on a website is described below. In one example, an integration plug-in may enable a website to cross sell or up sell an item (e.g., product insurance, extended warranty) along with another item (e.g., a computer, a phone, or any other product or service).
[0026] In one illustrative example, an integration plug-in may be used in connection with offering insurance for electronic devices such as smartphones. For example, if a user is purchasing a smartphone, an offer for smartphone insurance may be displayed before the user confirms the smartphone purchase. With the integration plug-in, purchasing and insuring the smartphone may be a one-click solution, allowing the user to add smartphone insurance to their shopping cart with one click and then seamlessly complete the transaction without disrupting the purchasing process. Not disrupting the purchasing process may improve the conversion rate of one or more cross-sell and / or up-sell items for the online shop.
[0027] In another illustrative example, a user may purchase a motorcycle online and add theft insurance to the motorcycle during the purchasing process. Other examples include, but are not limited to, insurance and warranty extensions for various electronic devices (e.g., dishwashers, refrigerators, and watches), musical instruments, eyewear, car tires, and anything that may be purchased or sold online. Other cross-sold and / or up-sold items could be television subscriptions, buyer protection services, or any other complimentary items.
[0028] In some examples, the integration plugin may utilize common information used during the purchase process. For example, when adding an additional item, the user may not be prompted to enter additional information. The integration plugin may use information already entered by the user or information known to the website. For example, an additional item may require an email address and a unique identifier for the item associated with the additional item. For an electronic device, the unique identifier may be the serial number of the electronic device. For example, if a user chooses to purchase insurance using the integration plugin, the integration plugin may obtain the user's email address and the serial number of the smartphone being purchased from the website.
[0029] In one illustrative example, an optimization module of an integrated system may measure in real time the number of users purchasing an item (e.g., a motorcycle) and the number of cross-sold and / or up-sold items sold (e.g., theft insurance for motorcycles). Using the number of users and the number of cross-sold and / or up-sold items sold, the optimization module may calculate a conversion rate.
[0030] Integrated plugins and optimization modules can be used to increase conversion rates for website additions. In some instances, the presentation of additional items can be adapted based on conversion rates. The presentation can also depend on the items involved, the website, the users who typically shop and / or purchase from the website, and any other factors related to the potential customers purchasing the items. For example, a low-end shop selling inexpensive items may have an entirely different target group compared to a premium shop selling more expensive items. Different shops may not only require different additional items, but may also require different types of communication or presentation of the additional items.
[0031] In some examples, an integration plugin is used to display an offer along with one or more additional items received from an integrated system. The offer can be presented with various display features (e.g., message text, headers, colors, logos, structure, user flow, etc.). Additionally, one or more attributes of the additional items can be modified. For example, the duration of insurance coverage can be modified depending on the price of the insurance. In another example, the insurance coverage can be modified. By modifying one or more attributes, the price of the cross-sold or up-sold item can be adjusted to fit within the user's budget.
[0032] II. Integrated System FIG. 1 illustrates an example of a website 110 and an integration system 120. The website 110 may transmit one or more web pages to a client computer during interaction between the client computer and the website. In some examples, a web page 112 of the one or more web pages may include an item (e.g., a base item). The web page 112 may include a template block 114, which may include one or more additional items related to the base item. The website 110 may further include a core application of the website 116 and an integration plug-in 118. The core application of the website 116 may provide control and functionality for the website 110. The integration plug-in 118 may provide a connection between the website 110 and the integration system 120. In some examples, an application programming interface (API) (e.g., a Representational State Transfer API (REST-API)) may be used to facilitate communication between the website 110 and the integration system 120.
[0033] The integration system 120 may determine a format for presenting the additional item to the user. The format may be in the form of a template block 114. The template block 114 may include information related to the additional item. To add the template block 114 to the web page 112, the web page 112 may include one or more hooks (e.g., web hooks). The one or more hooks may be placed in various portions of the web page 112 to allow the template block 114 to be inserted in various portions. Using the one or more hooks, the integration plug-in 118 may insert the template block 114 into the web page 112. The content of the template block 114 may be transmitted from one or more servers associated with the integration system 120. By storing data and content remotely, the integration system 120 may be able to make quick and automatic changes without having to modify the website 110.
[0034] The integrated system 120 may also analyze interactions with the template block 114 (e.g., a user selecting additional items). The integrated system 120 may include a core application (e.g., a core application of the integrated system 122), which may provide the control and functionality of the integrated system 120.
[0035] The integrated system may include an optimization module 124, which may identify additional items, identify how to present the additional items to a user, determine when to display the additional items on a web page, optimize the overall process by analyzing the user's responses to the additional items, or any combination thereof. In some examples, the optimization module 124 may modify the presentation and / or content of the additional items in the template block 114 based on how well previous additional items performed for the same or different users. In some examples, the optimization module 124 may determine whether a base item displayed on a web page of the website 110 is one on which the additional items should be displayed. This determination may occur after the integrated plug-in 118 is installed, without further definition required by the website 110. In some examples, the optimization module 124 may also identify one or more web pages in the purchase process on which the additional items should be displayed to the user.
[0036] The optimization module 124 may include a plug-in management user interface 126. The plug-in management interface 126 may provide a user with a user interface associated with the integrated system 120 for interacting with the optimization module 124. The optimization module 124 may use at least one or more of an item matching module 128, an item configuration module 130, a user experience (UX) configuration module 132, a real-time performance tracking module 134, or any combination thereof.
[0037] The item matching module 128 may match a base item of a web page displayed to a user with one or more additional items. The item configuration module 130 may determine one or more attributes of the additional items for the user. The UX configuration module 132 may be used to optimize the presentation of the additional items to the user. The real-time performance tracking module 134 may track user interactions with template blocks.
[0038] The integration plug-in 118 can operate across various browsers using common technologies (e.g., JavaScript). The integration plug-in 118 allows for easy display of template blocks 114, transfer of user data, and item matching without requiring individual customization based on the type of website. Furthermore, if the user selects additional items, the integration plug-in 118 will send information related to the additional items to the core application of the integration system 122, which will forward it to the real-time performance tracking module 134 for tracking.
[0039] The integration plug-in 118 may also receive information related to a base item of a web page (e.g., in a shopping cart or selected by a user) from the core application of the website 116. In another example, the integration plug-in 118 may request information related to the base item using a particular tag and / or a particular type of application program interface (API) call for the website 110. The integration plug-in 118 may then send the information related to the base item to the integration plug-in 118 for analysis by the optimization module 124. Because information related to the base item is not normalized across websites, the integration plug-in 118 may format the information related to the base item into a common format used by the optimization module 124. The core application of the integration system 122 may receive information related to the base item from the integration plug-in 118 and send the information to the optimization module 124 to determine one or more additional items from a database of items.
[0040] In some examples, information entered by a user during interaction with a website may be sent from the integration plug-in 118 to a core application of the integration system 122. The information entered by the user may be used in connection with additional items (e.g., for insurance or requested information for future correspondence). Other information from the user or web page that may be sent to the core application of the integration system 122 may be stored by the integration system 120.
[0041] Once the core application of the integrated system 122 identifies a match for a base item to be displayed to the user, additional items related to the base item may be selected from a database, either randomly or according to predetermined rules, such as only product insurance with a 12-month term for a base item being displayed.
[0042] In some examples, the item configuration module 130 may identify one or more attributes (e.g., cost and duration of insurance) of the additional items identified by the item matching module 128. The item configuration module 130 may then determine how to configure the additional items for the user. The UX configuration module 132 may determine the layout, format, or any combination for the additional items.
[0043] The core application of the integration system 122 may respond to the integration plug-in 118 with the customized template block and instructions regarding where to display the customized template block. The instructions may include two or more preconfigured page element identifiers. One of the preconfigured page element identifiers may be a page element for hooking the template block 144. The other preconfigured page element identifiers may be one or more page elements that can lead to any other page and thereby determine the end of interaction with a particular page. Using two or more preconfigured page element identifiers, information related to additional items may be displayed in the template block 114 at any stage of the user's interaction with the website. Thus, the user may be shown the additional item even before the user has finished interacting. The user may select it with one click and add it to the shopping cart. The user may also confirm the purchase of the additional item.
[0044] As described above, real-time performance tracking 134 may provide real-time performance tracking of data including at least one or more of the following: (1) whether a user completed an interaction with an additional item, (2) whether a user completed an interaction without an additional item, (3) whether a user clicked on an additional item, (4) or any combination thereof.
[0045] Using the above data, the real-time performance tracking module 134 may track match rates and / or conversion rates for base items and additional items associated with the website 110. The real-time performance tracking module 134 may collect information from the website to measure conversion rates. For example, if a shop sells 100 bikes and 10 product insurance policies are purchased for those 100 bikes, there may be a 10% conversion rate. The completed information may be used in monitoring and optimizing conversion rates.
[0046] The real-time performance tracking module 134 may also track the number of open sales, how many times additional items are displayed, and the rejection rate for additional items for the website 110. The rejection rate indicates, for example, when potential users begin interacting with the website but never reach the end of the interaction to actually finish the interaction.
[0047] Additionally, there may be several optimization cycles to maximize conversion rates. Real-time performance tracking 134 may track user impressions, meaning each time a user interacts with the website as it progresses. For example, real-time performance tracking 134 may track each time a template block is displayed. Real-time performance tracking 134 may determine whether to display additional items (e.g., whether the additional items qualify for insurance or whether the item matching module 128 identified the additional items for the time being displayed). Real-time performance tracking 134 may track sales completed by users and identify the difference between selected sales (where the additional items are selected with the base item), non-selected sales (where the additional items are not selected with the base item), and non-matching sales (where the additional items are not shown with the base item).
[0048] The selection or non-selection information may be important for determining the match rate of the website 110. It may be desirable to match additional items to as many base items as possible on the website 110. If a new base item is added to the website 110, the new base item may be identified and matched with one or more additional items.
[0049] In some instances, the website 110 may include one or more base items that are undesirable to present with additional items. For example, a spare part, such as a charger for a laptop, that is a standalone item may not be desirable to match with insurance. By tracking conversion rates, the optimization module 124 may determine not to present additional items to the user for the base item displayed on the web page.
[0050] By automating or semi-automating the review process for the item matching module 128, the optimization module 124 may also resolve manual reviews and update issues that exist in other systems. For example, there may be semi-automated item matching of all base items from a website, where a human approves the matches. In another example, the real-time performance tracking module 134 may flag changes in match rates or conversion rates for review. In some examples, a human may review the flags. The same process described above for a new base item may be repeated to review all base items on the website 110. Processes may occur to change additional items associated with the base item displayed on the web page and to change the presentation of the additional items based on previous interactions.
[0051] III. Data flow during interaction with the website The integrated system described above may be implemented on a website. In some instances, the website may transmit one or more web pages to a user. In such instances, the web pages may include links to the integrated system to facilitate presentation of additional items on the web pages.
[0052] FIG. 2 is a flowchart illustrating various web pages a user may receive from a website. A user may receive a first web page from a website associated with a business (e.g., website 110). The first web page may be a home page 210. The home page 210 may include various links that may cause the first web page to proceed to a second web page. A first link on the home page 210 may take the user to an item category page 220. The item category page 220 may display one or more base items included in the item category. A second link on the home page 210 may take the user to an item detail page 230. The item detail page 230 may display information related to the base item. In some examples, the item category page 220 may include a link to take the user to the item detail page 230, as well as a second link.
[0053] One or more of the home page 210, item category page 220, or item detail page 230 may include a link that allows a user to add a base item to a cart. In some examples, the cart may be stored on a website. The shopping cart may include a list of items in which a user has expressed interest. The cart may be accessed in various ways known to those skilled in the art, including a link to a cart page (e.g., cart page 240). In some examples, the cart may be a pop-up window on the current web page. In other examples, the cart may be included on the current web page.
[0054] The user may proceed to a cart page 240 or any other form of cart. The cart page 240 may further include additional items in which the user did not express interest. The additional items may be displayed on the cart page 240 in template blocks, as described above. The user may indicate whether the user likes one or more of the additional items. Confirmation of one or more items (including one or more base items and zero or more additional items) may occur by proceeding using a link to a checkout confirmation page 250. A success page 260 may be displayed after the purchase is completed or confirmed from the checkout confirmation page 250.
[0055] In the above process, the user can return to a previous page at any time and even repeat multiple steps, as long as the user does not complete the interaction (which may take the user to success page 260). In some examples, the integration plug-in (described above) may store the state of the template blocks. By storing the template blocks, the integration plug-in may ensure that the template blocks can be presented in a continuous and uniform manner throughout various web pages. For example, the same or similar template blocks may be presented to the user as the user navigates back and forth through web pages.
[0056] 3 illustrates an example sequence for presenting one or more additional items related to a base item using an integrated plug-in. The sequence may involve a user navigating through web pages as described above. In act 1, a user may navigate to a web page of a website using an Internet-connected electronic device (e.g., a computer, a cell phone, etc.). The web page may be any of the pages described above, including the initial web page (e.g., home page 210) associated with the website.
[0057] In act 2, the electronic device may receive a web page from a website. The web page may include an integration plug-in. The integration plug-in may be executed on the electronic device. When executed, the integration plug-in may communicate with an integration system (e.g., integration system 120).
[0058] In act 3, the integration plug-in may request a script from the integration system. A script may be a piece of logic (e.g., JavaScript code) that is loaded by the electronic device.
[0059] In act 4, upon receiving the script from the integrated system, the electronic device may execute the script using the user's browser or request that this be done by the user's browser. Logic contained in the script may be used to manage the connection between the website and the integrated system.
[0060] In some instances, the scripts and integrated plug-ins may differ for each website based on how the item information and user information is stored and presented by each website. In some instances, the item information and user information may differ in presentation and formatting for each website. Additionally, the instruction sets controlled by the scripts may differ for each website.
[0061] The script may identify a base item on the web page. In some examples, the identified base item may be (1) selected by the user, (2) included in a cart associated with the user, or (3) located on the currently displayed web page.
[0062] In acts 5 and 6, the script may determine whether local storage on the electronic device includes (1) additional items for the identified base item and (2) template blocks for the additional items. In some examples, the local storage may be cookies stored on the electronic device. In other examples, the local storage may be a memory location on the electronic device, including storage associated with a web browser installed on the electronic device.
[0063] In operation 7, if the local storage does not contain additional items, the script requests identification of additional items from the integrated system, where the additional items may be related to the identified base item. In some instances, the local storage may be empty because additional items have not yet been identified for the base item, or because the identified base item has changed since the item match occurred. The script may send information related to the identified base item to the integrated system.
[0064] In operation 8, the integrated system may attempt to match the base item to one or more additional items. A determination of whether a match is found may be sent from the integrated system to the script. Data associated with the matched items may also be sent from the integrated system to the script.
[0065] In operation 9, if the local storage 310 contains a match for the base item, or if a match is received from the integration provider 350, the additional item may be presented to the current page loaded in the user's browser.
[0066] In operation 10, the user may select additional items (e.g., add additional items to a cart associated with the user). The user may also choose to proceed with or without additional items.
[0067] In operation 11, before leaving the current page, the script may receive information related to the state of the selection of the additional item from the current page.
[0068] In operation 12, if the script receives information related to the state of the selection, the script may store the information related to the selection and the additional item in local storage of the electronic device.
[0069] The above process operations may be repeated an indefinite number of times until the user completes the interaction. With each additional page, additional or different integration plug-ins may be included within the page, which may require additional scripts from the integration system. The additional scripts received by the electronic device may be the same as the script, but additional scripts may still be required for each new page.
[0070] In operation 13, the user may complete the transaction. In some instances, when the user completes the transaction, the website may take the user to a confirmation page (e.g., checkout confirmation page 250) and then to a success page (e.g., success page 260). In other instances, the website may take the user directly to the success page (as shown in operation 14).
[0071] In operation 15, when the user begins to complete the interaction (e.g., by proceeding to a confirmation or success page), a second script from the integrated system may be requested. The second script may determine information to send to the integrated system to summarize the interaction. In some examples, the second script may be the same script. Naming the second script may signal that an additional script is received and executed on the electronic device when a new page is received by the electronic device.
[0072] In operation 16, the second script may be executed from a web page (eg, a confirmation page or a success page).
[0073] At act 17, the second script may determine the current state of the interaction, including whether an additional item was selected. In some examples, the script may identify whether an additional item was selected by browsing the local storage of the electronic device.
[0074] In operation 18, the second script may send information related to the current state of the interaction.
[0075] At act 19, the second script may receive a response from the integrated system. The response may include information to be displayed on the current web page based on the current state of the interaction. For example, if an additional item was selected, the information displayed on the current web page may include information about the additional item.
[0076] At operation 20, a web page may be displayed to the user on the web page using the response from the integrated system.
[0077] IV. Methods for Providing an Online Environment The online environment described above can be viewed from a client device perspective and from an integrated system perspective. The methods associated with each perspective are similar, but each has unique steps, as described below.
[0078] A. Client Device Perspective 4 is a flowchart of a method 400 for providing an online environment on a client computer from the perspective of the client computer. The method 400 may be performed by a client computer system, which may include an Internet browser capable of loading and executing an integrated plug-in.
[0079] At 410, the client computer may receive a web page. The web page may include the plug-in module. The web page may also include an identification of a first item. The first item may be one that the user has identified as being of interest. In another example, the first item may be the base item described above. The web page may be loaded into a browser on the client computer system using the client computer.
[0080] At 420, the client computer may execute a plug-in module. The plug-in module may be used to communicate with the integration server computer. In some examples, the plug-in module may be an invisible component of a web page.
[0081] At 430, the plug-in module can be used to request an integration script from the integration server computer. The plug-in module can use the integration script to obtain additional items related to the first item from the integration server computer.
[0082] At 440, the client computer may receive the first integration script in response to the request for the integration script. In response, the request for the integration script may mean that the first integration script is sent from the integration server computer and received by the client computer. In some examples, the first integration script may be sent immediately upon the integration server computer receiving the request for the integration script.
[0083] At 450, the plug-in module may execute the first integration script by loading the first integration script into the user's browser, or request that this be done by the browser. The first integration script may determine whether local storage of the client computer or the browser contains additional items related to the first item. The first integration script may also determine whether local storage contains template blocks, interaction states, or any combination thereof. If these objects exist, the first integration script may proceed to 490; otherwise, it may proceed to 460.
[0084] At 460, the first integration script may send an item request for items related to the first item. The item request may be sent to an integration server. The integration server may then retrieve additional items associated with the first item.
[0085] At 470, the client computer may receive information related to the second item. The second item may be an additional item identified by the integration server computer. The second item may be related to the first item. The information related to the second item may be received in response to an item request. In some examples, the information related to the second item may already be stored in the integration server computer before the item request is received. In other examples, the integration server computer may search a database for items related to the first item when the item request is received. In some examples, the information related to the second item may include a format for displaying the second item on the web page, identification information for the second item, a location for placing at least a portion of the information related to the second item on the web page, and a transformation of the second item. The transformation may include customization of the second item for a user associated with the client computer.
[0086] At 480, the web page may be updated to include at least a portion of the information related to the second item. In some examples, before the web page is updated, the first integrated script may determine that the web page includes one or more web pages included in the information related to the second item. If the web page is not one of the one or more web pages, the web page may not be updated.
[0087] At 490, the updated web page may be presented in the browser of the client computer. In some examples, when the user leaves the current page, information related to the web page, including format, second item, position, transformation, or any combination thereof, may be stored in the browser's local storage. The information may also be stored in the client computer's local storage.
[0088] In some examples, the method 400 may further include the client computer receiving a selection from the user associated with the second item. For example, the user may click on the second item. In response to the selection, a web page request may be sent for a second page (e.g., a success page) from the website.
[0089] In some examples, the client computer may receive a second page from the website. The second page may include a second plug-in module. After the second plug-in module is executed on the client computer, the second plug-in module may send a second request (or another request) for a second integration script to the integration server computer. In some examples, the second integration script may be identical to the first integration script. The second integration script may be received by the client computer and executed on the client computer. In some examples, the second plug-in module and the second integration script may be invisible components of the second web page. The second plug-in module and the second integration script may be copies of the first plug-in module and the first integration script, respectively. A request for the second integration script may be required as a different page is loaded and the first integration script completes before the web page changes.
[0090] In some examples, the second integration script may send information related to the selection to the integration server computer. In response, the client computer may receive information from the integration server computer to display on a success page.
[0091] In some examples, the second web page may be updated to include at least some of the information displayed on the second web page, and the client computer may then display the updated second web page.
[0092] B. Integrated Server Perspective 5 is a flowchart of a method 500 for providing an online environment on a client computer from the perspective of a server computer system (e.g., integrated system 120). Method 500 may be performed by the server computer system.
[0093] At 510, the server computer may receive a first script request for an integrated script. The first script request may be sent from the client computer using a plug-in module. At 520, the server computer system may send the first integrated script in response to the first script request. The first integrated script may be sent to the client computer.
[0094] At 530, the server computer system may receive an item request for an item related to the first item. The first item may be located on a web page displayed by the client computer. The item request for the item may be sent by the client computer using a first integration script.
[0095] At 540, the server computer system may identify a second item by querying a database for items related to the first item. The database may include multiple items. The second item may be related to the first item.
[0096] In some examples, the server computer system may determine a format for displaying at least a portion of the information associated with the second item. In such examples, the information associated with the second item may include a format and a location on the web page to place the information associated with the second item. The server computer system may also determine one or more pages of information associated with the second item to display. In such examples, the information associated with the second item may include identification information for the one or more pages. The server computer system may also determine a variant of the second item based on a user associated with the client computer. The information associated with the second item may further include the variant.
[0097] At 550, the server computer system may generate information related to the second item. At 560, the server computer system may transmit the information related to the second item to the client computer.
[0098] In some examples, the method 500 may further include the server computer system receiving a second script request (or another script request) from the client computer for the integration script. The server computer system may send the second integration script to the client computer in response to the second script request. In some examples, the second integration script may be identical to the first integration script.
[0099] In some examples, the method 500 may further include the server computer system receiving a success message from the client computer. The success message may indicate the selection of the second item. In response, the server computer system may send information related to the selection of the second item to the client computer.
[0100] V. Computer Systems Any of the computer systems described herein may utilize any suitable number of subsystems. An example of such subsystems in computer system 10 is shown in FIG. 6. In some embodiments, the computer system includes a single computer device, where the subsystems may be components of the computer device. In other embodiments, the computer system includes multiple computer devices with internal components, each of which may be a subsystem.
[0101] The subsystems shown in FIG. 6 are interconnected via a system bus 75. Additional subsystems are shown, such as a printer 74, a keyboard 78, storage device(s) 79, a monitor 76 coupled to a display adapter 82, and others. Peripheral input / output (I / O) devices coupled to an I / O controller 71 may be connected to the computer system by any number of known means, such as an input / output (I / O) port 77 (e.g., USB, Firewire). For example, the I / O port 77 or an external interface 81 (e.g., Ethernet, Wi-Fi, etc.) may be used to connect the computer system 10 to a wide area network such as the Internet, a mouse input device, or a scanner. The interconnection via the system bus 75 allows the central processor 73 to communicate with each subsystem and control the exchange of information between the subsystems as well as control the execution of instructions from the system memory 72 or storage device(s) 79 (e.g., fixed disks such as hard drives or optical disks). The system memory 72 and / or storage device(s) 79 may embody computer-readable media. Any of the data described herein may be output from one component to another, or may be output to a user.
[0102] A computer system may include multiple identical components or subsystems connected to each other, for example, by external interfaces 81 or internal interfaces. In some embodiments, computer systems, subsystems, or devices may communicate over a network. In such an example, one computer may be considered a client and another computer may be considered a server, each of which may be part of the same computer system. The client and server may each include multiple systems, subsystems, or components.
[0103] Any of the embodiments of the present invention may be implemented in the form of control logic using hardware (e.g., application specific integrated circuits or field programmable gate arrays) and / or using computer software in conjunction with modular or integrated general-purpose programmable processors. As used herein, a processor includes a single-core processor, a multi-core processor on the same integrated chip, or multiple processing units on a single circuit board or connected in a network. Based on the disclosure and teachings provided herein, those skilled in the art will know and understand other ways and / or methods of implementing embodiments of the present invention using hardware and combinations of hardware and software.
[0104] Any of the software components or functions described in this application may be implemented as software code executed by a processor using any suitable computer language, such as Java, C, C++, C#, Objective-C, Swift, or scripting languages such as Perl or Python, or conventional or object-oriented techniques. The software code may be stored as a series of instructions or commands on a computer-readable medium for storage and / or transmission, suitable media including random access memory (RAM), read-only memory (ROM), magnetic media such as a hard drive or floppy disk, optical media such as a compact disk (CD) or DVD (digital versatile disk), flash memory, etc. The computer-readable medium may also be any combination of such storage or transmission devices.
[0105] Such programs may also be encoded and transmitted using carrier signals suitable for transmission over wired, optical, and / or wireless networks conforming to various protocols, including the Internet. As such, computer-readable media according to embodiments of the present invention may be generated using data signals encoded with such programs. Computer-readable media encoded with program code may be packaged in a compatible device or provided separately from other devices (e.g., via Internet download). Any such computer-readable medium may reside in a single computer product (e.g., a hard drive, CD, or an entire computer system) or may reside in various computer products within a system or network. A computer system may include a monitor, printer, or other suitable display for providing a user with any of the results described herein.
[0106] Any of the methods described herein may be performed in whole or in part on a computer system including one or more processors that may be configured to perform the steps. Thus, embodiments may be directed to a computer system configured to perform the steps of any method described herein, possibly with different components performing individual steps or groups of steps. Although presented as numbered steps, steps of the methods herein may be performed simultaneously or in a different order. Furthermore, some of these steps may be used with portions of other steps from other methods. Also, all or some of the steps may be optional. Furthermore, any steps of any method may be performed by a module, circuit, or other means for performing those steps.
[0107] The specific details of particular embodiments may be combined in any suitable manner without departing from the spirit and scope of embodiments of the invention, however, other embodiments of the invention may be directed to particular embodiments relating to each individual aspect or particular combinations of these individual aspects.
[0108] The foregoing description of exemplary embodiments of the present invention is presented for purposes of illustration and description. It is not intended to be exhaustive or to be limited to the precise form described, and many modifications and variations are possible in light of the above teachings. The embodiments were chosen and described to best explain the principles of the invention and its practical application, and to thereby enable others skilled in the art to best utilize the invention in various embodiments and various modifications suited to the particular uses contemplated.
[0109] The references "a," "an," or "the" are intended to mean "one or more," unless expressly stated otherwise. The use of "or" is intended to mean an "inclusive or" and not an "exclusive or," unless expressly stated otherwise.
[0110] All patents, patent applications, publications and specifications mentioned herein are incorporated by reference in their entirety. No prior art is admitted.
Claims
1. 1. A method for providing an online environment on a client computer, the method being executed by a server computer system, receiving a first request for an integration script from the client computer; sending a first integration script to the client computer in response to the first request; receiving a request from the client computer using the first integration script for an item related to a first item, wherein a first identification of the first item is included in a web page of a website displayed on the client computer; identifying a second item by querying a database for items related to the first item, the database including a plurality of items, the second item related to the first item; generating information associated with the second item, the information including a second identification of the second item and element identifiers of one or more web hooks located at particular portions of the web page; sending the information related to the second item to the client computer, wherein the web page includes the one or more web hooks located in the particular portion of the web page.
2. 2. The method of claim 1, wherein the element identifier is a first element identifier and the information includes second element identifiers for one or more page elements, the first element identifier and the second element identifier indicating multiple stages of a template block for displaying the second item.
3. 3. The method of claim 2, wherein the one or more page elements, upon interaction by a user, lead to another web page of the website, whereby the second item is displayed on multiple web pages of the website.
4. The method of claim 2 or 3, wherein the one or more page elements determine the end of a user's interaction with the web page.
5. 5. The method according to any one of claims 1 to 4, The method further comprising determining a format for displaying at least a portion of the information associated with the second item, the information associated with the second item further comprising the format.
6. 6. The method of claim 5, The method further comprises determining one or more web pages for at least the portion of the information associated with the second item to be displayed, wherein the information associated with the second item identifies the one or more web pages.
7. 7. The method of claim 5 or 6, wherein the information related to the second item includes a location on the web page where the information related to the second item is placed, the location associated with one of the one or more web hooks located at the particular portion of the web page.
8. 8. The method according to any one of claims 1 to 7, comprising: The method further comprising determining a variant of the second item based on a user associated with the client computer, wherein the information associated with the second item further includes the variant.
9. 9. The method according to any one of claims 1 to 8, receiving a second script request from the client computer for the integrated script; sending the integrated script to the client computer in response to the second script request; receiving a success message from the client computer using the integration script, the success message indicating selection of the second item; transmitting information related to the selection of the second item to the client computer; The method further comprises:
10. 10. The method of claim 9, wherein the information associated with the selection of the second item includes a confirmation regarding the second item.
11. A method for providing an online environment on a client computer, the method being executed by the client computer, receiving a web page from a website that includes the first item; sending a script request for an integration script to an integration server computer via a plug-in module executed on the web page; receiving a first integration script from the integration server computer in response to the script request; executing the first integration script on the client computer; using the first integration script to determine that the local storage of the client computer does not contain one or more items related to the first item; sending an item request to the integration server computer using the first integration script, the sending of the item request occurring in response to determining that the local storage does not contain the one or more items related to the first item; receiving, in response to the item request, information related to a second item from the integrated server computer, the second item being related to the first item, and the information related to the second item including a template block; updating the web page using the integration script to include the template block containing the information related to the second item; and displaying the updated web page on the client computer.
12. 12. The method of claim 11, wherein the web page is updated to include the template block included in the information related to the second item at multiple stages of interaction between a user and the website.
13. 13. The method of claim 12, wherein the stages of interaction between the user and the website include selecting the second item and purchasing the second item.
14. 14. The method of claim 12 or 13, The method further comprising storing different states of the template block reflecting different actions performed by the user.
15. 15. The method of claim 14, The method further comprising using the stored state of the template block to display the template block included in the information related to the second item across different web pages.
16. 16. The method of any one of claims 11 to 15, The method further comprising: using the first integration script to determine that an item related to the first item has not been received from the integration server computer, the determination occurring before the item request.
17. 17. The method of any one of claims 11 to 16, comprising: The method further comprises using the first integrated script to determine that the web page is one of one or more web pages, wherein identification information of the one or more web pages is included in the information associated with the second item, and wherein the determination occurs before the web page is updated.
18. 18. The method of any one of claims 11 to 17, comprising: receiving a selection associated with the second item; sending a web page request for a second web page from the website after the selection is received; receiving the second web page from the website; sending another script request to the integrated server computer; receiving a second integration script from the integration server computer; executing the second integration script on the client computer; transmitting information related to the selection to the integration server computer using the second integration script; receiving, from the integrated server computer, information for display on the second web page in response to transmitting the information related to the selection; updating the second web page using the second integrated script to include at least a portion of the information displayed on the second web page; and displaying the updated second web page at the client computer.
19. 20. The method of claim 18, wherein the script request is sent using a plug-in module that is an invisible component of the web page, and the other script request is sent using a second plug-in module that is an invisible component of the second web page.
20. 19. The method of any one of claims 11 to 18, wherein the information related to the second item includes a format for displaying the second item on the web page, an identification of the second item, and a location on the web page to place at least a portion of the information related to the second item.
21. 21. The method of claim 20, wherein the information associated with the second item further includes a transformation of the second item, the transformation including a customization of the second item for a user associated with the client computer.
22. A computer program comprising instructions which, when executed by one or more processors, cause said one or more processors to perform the method of any one of claims 1 to 21.
23. A system comprising one or more processors configured to perform the method of any one of claims 1 to 21.
Citation Information
Patent Citations
Content distribution
JP2009505239A
Server device for transmitting message by id and information processing method
JP2010250788A
Advertisement presentation based on web page interaction
JP2011525659A
Integrated plugin to identify related items and present them on web pages
JP2018524753A
Intelligent advertising method and system based uponweb site
KR100466008B1