System, method, and computer program for automatic input of coupon codes in mobile applications
The system addresses the lack of automatic coupon code input in mobile applications by using a software module to analyze web views, identify relevant fields, try multiple codes, and insert the best code for maximum reward, enhancing user savings and shopping efficiency.
Patent Information
- Application Number
- JP2022153901
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-09-30
- Filing Date
- 2022-09-27
- Publication Date
- 2025-06-27
- Estimated Expiration
- 2042-09-27
AI Technical Summary
Mobile applications lack the functionality to automatically detect and input coupon codes, which is available in browser extensions, due to limited control over web content.
A system and method for automatic coupon code input in mobile applications, involving a software module that analyzes the web view, extracts field data, identifies coupon code and cart total fields, tries multiple coupon codes, and inserts the best code for maximum reward.
Enables users to automatically find and apply the best coupon code within a mobile application, thereby maximizing rewards and simplifying the shopping process.
Smart Images

Figure 0007699567000001 
Figure 0007699567000002 
Figure 0007699567000003
Abstract
Description
Technical Field
[0001] The present invention generally relates to mobile applications, and more specifically, to a system and method for automatic coupon code input in mobile applications.
Background Art
[0002] E-commerce is becoming increasingly important for consumers who purchase goods and services, and may be a major approach surpassing physical stores. Similar to physical stores, coupons and other rewards are useful ways to save money. Nowadays, consumers can save coupon codes in their user profiles instead of cutting them out and scanning them in stores. When purchasing goods or services, consumers need to apply (multiple) coupon codes to their purchases on the merchant's website to determine which (multiple) coupon codes will bring the greatest rewards.
Summary of the Invention
Problems to be Solved by the Invention
[0003] Multiple browser extensions on a web page can detect the coupon code field and try the coupon code. However, such a function does not yet exist in mobile applications. The reason is that the control that a mobile application has over web content viewed within the mobile application is less than that of a browser extension. Since many transactions are performed while moving by mobile applications, a system and method for detecting and inputting coupon codes in the mobile area are required.
Means for Solving the Problems
[0004] The present disclosure describes a system, method, and computer program for automatic coupon code entry in a mobile application. The method is executed by a computer system including a server, a memory system, a network, an operating system, and a database.
[0005] The mobile application launches a software module that analyzes the web view of the mobile application. This software module introduced into the web page within the web view extracts field information from the web view and generates a results payload. This is done by identifying the checkout page within the web view and extracting field data from this checkout page. Thereafter, the software module sends this field data to the mobile application. In certain embodiments, the software module also collects context data and metadata related to the field and verifies that the field is visible to the mobile application user.
[0006] The mobile application sends the results payload to a mapping module on the server, and the mapping module maps the fields to parameters. The parameters are values assigned to the fields and are values that determine the field type. In such a manner, the mapping module identifies the coupon code field and the cart total field from the field data.
[0007] The mapping module transmits the mapping of fields to parameters to the mobile application, and the mobile application relays this mapping to the software module together with the user profile data (including one or more coupon codes). The software module sequentially inputs each coupon code into the coupon code field and repeatedly tries the (multiple) coupon codes by identifying the best coupon code (i.e., the coupon code that provides the maximum reward in the cart total field). Then, the software module inserts this best coupon code into the coupon code field within the checkout page in the mobile application.
[0008] In one embodiment, a method for automatic coupon code input in a mobile application is identifying a checkout page within a web view of the mobile application; extracting field data from the checkout page within the web view of the mobile application; identifying a coupon code field and a cart total field from the field data; obtaining one or more coupon codes; trying one or more coupon codes in a checkout page within a web view of the mobile application, wherein the one or more coupon codes are tried in the identified coupon code field and it is determined whether the value associated with the cart total field decreases by any of the (multiple) coupon codes; identifying the best coupon code in response to a reward being provided in the checkout page by one or more coupon codes; inserting the best coupon code into the identified coupon code field within the checkout page in the mobile application and including. BRIEF DESCRIPTION OF THE DRAWINGS
[0009]
Figure 1
Figure 2
Figure 3
DETAILED DESCRIPTION OF THE INVENTION
[0010] The present disclosure describes a system, method, and computer program for automatic input of coupon codes in a mobile application. The method is executed by a computer system (the "present system") including a server, a storage system, a network, an operating system, and a database.
[0011] The mobile application enables a user to browse an e-commerce website, introduces a software module onto the web page in response to the detection of a coupon code field, interfaces with a mapping module to provide a function for automatically entering a coupon code. This system identifies a checkout page within the web view of the mobile application and extracts field data from this checkout page. This system identifies a coupon code field and a cart total field from the field data. This system obtains one or more coupon codes and tries these one or more coupon codes on the checkout page. The one or more coupon codes are tried in the identified coupon code field, and it is determined whether any of the (multiple) coupon codes reduces the value associated with the cart total field. In response to one or more coupon codes that result in a reward (e.g., a cashback value, points, or other benefits for the consumer) on the checkout page, this system identifies the best coupon code and inserts this best coupon code into the identified coupon code field within the checkout page in the mobile application.
[0012] Referring to FIGS. 1-3, exemplary embodiments of the present method will be described in more detail.
[0013] 1. Method for Automatically Entering a Coupon Code in a Mobile Application Figure 1 shows a method for automatically inputting coupon codes in a mobile application. The system identifies the checkout page within the web view of the mobile application (step 110). In one embodiment, a cart scraper uses both the URL and elements on the page to detect if it is on the checkout page by checking if either one matches a keyword in a defined list. For example, if the URL contains keywords such as "cart" or "checkout", the system determines that the page is the checkout page. If the elements on the page have keywords such as "checkout" or "total amount", the system similarly determines that the page is the checkout page. Along with this identification of positive keywords, the system also uses a list of negative keywords (e.g., homepage). If either the URL or an element on the page contains a negative keyword, the system determines that the page is not the checkout page (even if positive keyword identification has occurred).
[0014] This system extracts field data from the checkout page within the web view of a mobile application (step 120). In certain embodiments, extracting the field data includes creating an object model of the web page. The system searches for labels associated with the coupon code field and the cart total field and identifies potential coupon code fields and cart total fields. Here, this search is performed using the object model and the web page. The system collects context data around the identified fields, gathers metadata for the identified fields, verifies that the identified fields are visible to the user, and generates a payload using the context data and metadata of the identified fields. In certain embodiments, the metadata includes field metadata (e.g., HTML name, ID, input type, etc.), inferred field metadata (e.g., custom input types not compliant with HTML, labels inferred by software module algorithms, etc.), page metadata (e.g., URL), and performance information.
[0015] This system identifies the coupon code field and the cart total field from the field data by mapping the field data to field parameters (step 130). This mapping includes mapping the field to the coupon code parameter and mapping the field to the cart total parameter. The field parameter is a value indicating the field type. For example, the coupon code field on the web page is mapped to the "coupon code" parameter. This parameter is used by the software module to input the corresponding user value stored in the mobile application. In some embodiments, the identification of the coupon code field and the cart total field includes creating a vector representation of each field within the field data, applying a neural network to the vector representation of the field within the field data, and obtaining the predicted coupon code field and cart total field from the neural network. In some embodiments, the system preprocesses the data (e.g., language conversion) before mapping. In some embodiments, the system post-processes the data using various heuristics and context data to verify that the fields are correctly mapped.
[0016] In some embodiments, the mapping process includes extracting metadata from the field data extracted from the checkout page. The system creates a payload of the metadata (e.g., in JSON) and uploads this payload of the metadata to the server. The system uses a heuristic approach, a machine learning approach, or a combination of the two to generate field parameters from this payload of the metadata. Then, the system returns these field parameters as a result payload (e.g., in JSON).
[0017] The system obtains one or more coupon codes (step 140). In certain embodiments, the system can obtain up to n coupon codes. The system tries all of the obtained coupon codes in a checkout page (i.e., the field mapped to the coupon code parameter) within the web view of the mobile application and determines whether the value associated with the cart total field decreases with any of the coupon codes (step 150). In certain embodiments, if multiple coupon codes exist, the system repeatedly tries each coupon code by sequentially inserting each coupon code into the coupon code field, scraping the cart page, and looking for the reward provided to the cart total field. In certain embodiments, if a coupon code is displayed on a web page, the user can copy the coupon code to their clipboard and the software module automatically enters the coupon code into the coupon code field. In certain embodiments, the cart total field is automatically updated when a coupon code is entered into the coupon code field. In certain embodiments, the user may need to perform an action (e.g., press a button) before the cart total field is updated. In certain embodiments, if the coupon code is successful, the system displays the tried coupon code(s) and the amount saved to the mobile application user interface.
[0018] The system identifies (step 160) the best coupon code (i.e., the coupon code within the coupon code field that provides the greatest reward in the cart total field) in response to the cart total being reduced by one or more coupon codes. The system inserts this best coupon code into the coupon code field on the checkout page within the mobile application (step 170). In certain embodiments, the system displays the savings amount in the mobile application after inserting the best coupon code into the identified coupon code field.
[0019] In certain embodiments, the steps of identifying the checkout page, extracting field data, trying coupon codes, identifying the best coupon code, and inserting the best coupon code into the coupon code field are performed by a software module introduced into a web page within a web view by the mobile application. In certain embodiments, the software module is JavaScript code introduced into the web view to take in field information, return the field information to the mobile application for mapping, and receive user data input from the mobile application into the fields. In certain embodiments, the software module generates a payload using the extracted field data, and the mobile application sends the payload to a server that maps the field data within the payload to one or more field parameters, where the field parameters are values indicating field types. In certain embodiments, the server returns the field parameter mapping to the mobile application, and the software module introduced into the web page uses the field parameter mapping to find the coupon code field on the web page and try one or more coupon codes in the coupon code field.
[0020] 2. Exemplary System Architecture Figure 2 shows an exemplary architecture of a system that executes the method described herein. However, the method described herein can also be implemented in other systems and is not limited to the illustrated system. As shown in Figure 2, the system identifies a web page (e.g., a checkout page) 220 within a web view 230 of a mobile application 240. The automatic input manager 250 activates a coupon field detection and input module 260. This module extracts field data (e.g., labels and headings) from the web page 220 and generates a result payload. The result payload containing the field data is returned to the automatic input manager 250, and the automatic input manager 250 passes this result payload through the Internet to a mapping module 270 on a server 280. In some embodiments, the mapping module includes an automatic input mapping algorithm and is a cloud-hosted server backend that determines which values should be automatically input into each form field. The mapping module 270 maps field data to field parameters, including mapping a coupon code field to a coupon code parameter and mapping a cart total field to a cart total parameter. In some embodiments, a confidence score is assigned to the mapping of field data to field parameters. The mapping module 270 returns the mapping (i.e., the mapping of field data to field parameters) to the automatic input manager 250 of the mobile application 240.
[0021] The automatic input manager 250 requests the mobile application logic 285 to obtain user profile data and one or more coupon codes from the user profile manager 290. The automatic input manager 250 passes the mapping along with the user profile data and the coupon code(s) to the coupon field detection input module 260. The coupon field detection input module 260 tries the coupon code(s) in the fields mapped to the coupon code parameter and determines whether the value associated with the field corresponding to the cart total is reduced by any of the coupon code(s). The coupon field detection input module 260 identifies the best coupon code in response to the cart total value being reduced by one or more coupon codes and inserts the best coupon code into the coupon code field within the web page 220 in the mobile application 240.
[0022] Figure 3 shows an exemplary method executed by one or more software modules within the system shown in Figure 2. More specifically, Figure 3 shows the method executed by the coupon field detection input module 260, the method executed by the automatic input manager 250, and the method executed by the mapping module 270. The coupon field detection input module 260 handles two processes: payload generation and coupon testing and input.
[0023] In the payload generation process, the coupon field detection input module 260 searches for relevant field parameters associated with the coupon code field (step 310). The coupon field detection input module 260 creates an object model, which is an internal representation of the web page for further analysis (step 315). The coupon field detection input module 260 searches around the coupon code field to collect context data (step 320) and gather field metadata (step 325). The coupon field detection input module 260 uses various algorithms to verify that the field is visible to the user (step 330). The coupon field detection input module 260 collates this data and generates the payload for any web page with an inputable field (step 335).
[0024] Subsequently, the payload is sent to the automatic input manager 250, and the automatic input manager 250 passes this payload to the mapping module 270. The mapping module 270 handles the mapping process in three stages: pre - process, mapping, and post - process. In the pre - process stage, the mapping module 270 receives the payload (e.g., in JSON), filters and sanitizes the field data (step 350), and performs pre - process data conversion (step 355). In some embodiments, the pre - process stage also includes language conversion so that coupon code automatic input functions with websites in languages other than English.
[0025] Within the mapping stage, the mapping module 270 constructs and prunes a web page tree (step 360). In certain embodiments, this is done by collecting data from the web page and constructing a web page tree that has the same structure as the web page but contains only the relevant information from the web page. In certain embodiments, the mapping process includes an algorithm that identifies other labels similar to the coupon code field (e.g., "voucher", "discount code", etc.) and includes the relevant information. The mapping module 270 searches the tree and assigns scores to the nodes (step 365). In certain embodiments, this is done by traversing the web page tree and assigning a score to each node. This score represents how relevant the information from the web page is to the current context and how well the system has identified that information. The mapping module 270 verifies the validity of the results and confirms that the scoring is correct without contradictions (step 370).
[0026] In the post - processing stage, the mapping module 270 clusters the fields to make it so that for fields that need to be concatenated (e.g., concatenating a first name and a last name to form a full name) or fields that need to be converted to a specific format, it is done (step 375). The mapping module 270 uses a heuristic approach combined with scoring validation to verify that the resulting payload is correct (step 380).
[0027] Thereafter, the results are sent to the automatic input manager 250, and the automatic input manager 250 returns those results to the coupon field detection input module 260. The coupon field detection input module 260 executes the coupon test input process. In the coupon test input process, the coupon field detection / input module 260 finds the coupon code field using the mapping results (step 382), tries the coupon(s) in the coupon code field (step 384), applies the best coupon to the coupon code field (step 386), and sends a message indicating that the automatic input is completed (step 388).
[0028] 3. General The methods described with respect to FIGS. 1-3 are embodied in software and executed by a computer system (which may include one or more computing devices) that executes the software. Those skilled in the art will understand that the computer system has one or more memory units, disks, or other physical computer-readable storage media for storing software instructions, and one or more processors for executing the software instructions.
[0029] Those skilled in the art will understand that the present invention can be embodied in other specific forms without departing from the spirit and essential characteristics of the present invention. Therefore, the above disclosure is intended to be illustrative rather than limiting of the scope of the present invention as set forth in the following claims.
Claims
A method for automatically inputting coupon codes in a mobile application, which is executed by a computer system having a mobile application and a server, comprising: a software module introduced into a web page within a WebView of the mobile application identifying a checkout page within the WebView of the mobile application; the software module extracting field data from the checkout page within the WebView of the mobile application; the software module generating a payload using the extracted field data and the mobile application sending the payload to the server; the server mapping the field data within the payload to one or more field parameters that are values indicating field types and identifying a coupon code field and a cart total field from the field data; the server returning the mapping to the field parameters to the mobile application; the mobile application obtaining one or more coupon codes; the software module using the mapping to the field parameters to find the coupon code field on the web page and trying the one or more coupon codes in the checkout page within the WebView of the mobile application, wherein the one or more coupon codes are tried in the identified coupon code field and it is determined whether the value associated with the cart total field decreases by any of the (multiple) coupon codes; the software module identifying the best coupon code in response to a reward being provided at the checkout page by one or more coupon codes; the software module inserting the best coupon code into the identified coupon code field within the checkout page in the mobile application; and a method including the above steps.
2. The extraction of the field data by the software module includes: creating an object model of the web page; searching for labels associated with the coupon code field and the cart total field to identify potential coupon code fields and cart total fields, the search being performed using the object model and the web page; collecting context data around the identified fields; collecting metadata of the identified fields; verifying that the identified fields are visible to the user; generating a payload using the context data and the metadata of the identified fields; The method according to claim 1, comprising:
3. The identification of the coupon code field and the cart total field by the server includes the server mapping field data to field parameters by a mapping process, the field parameters being values indicating field types. The method according to claim 1.
4. The mapping process by the server includes: extracting metadata from the field data extracted on the checkout page; creating a payload of the metadata; uploading the payload of the metadata to the server; generating field parameters from the payload of the metadata; returning the field parameters as a result payload. The method according to claim 3, comprising:
5. The method according to claim 1, wherein the mobile application further includes displaying the coupon code(s) being tried.
6. The method according to claim 1, wherein the mobile application further includes displaying the savings amount on the mobile application after inserting the best coupon code into the identified coupon code field.
7. The identification of the coupon code field and the cart total field by the server includes: creating a vector representation of each field within the field data; The step of applying a neural network to the vector representation of the field in the field data; The step of obtaining a predicted coupon code field and a cart total field from the neural network The method according to claim 1, comprising:
8. A non-transitory computer-readable medium having a computer program that enables a computer system having a mobile application and a server to execute a method for automatically inputting a coupon code in the mobile application when executed by the computer system, The method is The step of a software module introduced into a web page within the WebView of the mobile application identifying the checkout page within the WebView of the mobile application; The step of the software module extracting field data from the checkout page within the WebView of the mobile application; The step of the software module generating a payload using the extracted field data and the mobile application sending the payload to the server; The step of the server mapping the field data in the payload to field parameters that are values indicating one or more field types and identifying a coupon code field and a cart total field from the field data; The step of the server returning the mapping to the field parameters to the mobile application; The step of the mobile application obtaining one or more coupon codes; The step of the software module using the mapping to the field parameters to find the coupon code field on the web page and trying the one or more coupon codes in the checkout page within the WebView of the mobile application, wherein the one or more coupon codes are tried in the identified coupon code field to determine whether the value associated with the cart total field decreases by any of the (plural) coupon codes. The software module identifies the best coupon code in response to a reward being provided on the checkout page by one or more coupon codes; The software module inserts the best coupon code into the identified coupon code field within the checkout page in the mobile application; A non-transitory computer-readable medium comprising the above. **Claim 9**: The extraction of the field data by the software module comprises: Creating an object model of the web page; Searching for labels associated with the coupon code field and the cart total field to identify potential coupon code fields and cart total fields, the search being performed using the object model and the web page; Collecting context data around the identified fields; Collecting metadata of the identified fields; Verifying that the identified fields are visible to the user; Generating a payload using the context data and the metadata of the identified fields; The non-transitory computer-readable medium according to claim 8, comprising the above. **Claim 10**: The identification of the coupon code field and the cart total field by the server includes the step of the server mapping field data to field parameters by a mapping process, where the field parameters are values indicating field types. The non-transitory computer-readable medium according to claim 8. **Claim 11**: The mapping process by the server comprises: Extracting metadata from the field data extracted at the checkout page; Creating a payload of the metadata; Uploading the payload of the metadata to the server; Generating field parameters from the payload of the metadata; Returning the field parameters as a result payload; The non-transitory computer-readable medium according to claim 10, comprising the above.
12. The non-transitory computer-readable medium according to claim 8, wherein the mobile application further includes a step of displaying the coupon code(s) being tried.
13. The non-transitory computer-readable medium according to claim 8, wherein the mobile application further includes a step of displaying the amount of savings in the mobile application after inserting the best coupon code into the identified coupon code field.
14. The identification of the coupon code field and the cart total field by the server includes a step of creating a vector representation of each field in the field data, a step of applying a neural network to the vector representation of the field in the field data, and a step of obtaining a predicted coupon code field and cart total field from the neural network. The non-transitory computer-readable medium according to claim 8.
15. A computer system having a mobile application and a server for automatic coupon code input, comprising one or more processors, and one or more memory units connected to the one or more processors and storing instructions that, when executed by the one or more processors, cause the system to execute a method. The method includes: A software module introduced into a web page within the WebView of the mobile application identifies the checkout page within the WebView of the mobile application. The software module extracts field data from the checkout page within the WebView of the mobile application. The software module uses the extracted field data to generate a payload, and the mobile application sends the payload to the server. The server maps the field data in the payload to field parameters that are values indicating field types, and identifies a coupon code field and a cart total field from the field data. The server returns the mapping to the field parameters to the mobile application. The mobile application obtaining one or more coupon codes; The software module using the mapping to the field parameter to find the coupon code field on the web page and trying the one or more coupon codes on the checkout page within the WebView of the mobile application, wherein the one or more coupon codes are tried in the identified coupon code field and it is determined whether a value associated with the cart total field is reduced by any of the (plural) coupon codes; The software module identifying the best coupon code in response to a reward being provided on the checkout page by the one or more coupon codes; The software module inserting the best coupon code into the identified coupon code field within the checkout page in the mobile application; A computer system comprising.
Citation Information
Patent Citations
Amount of money calculation device, amount of money calculation method, and program
JP2015072526A
Systems, methods, and computer programs for providing users maximum benefit in electronic commerce
US20210125262A1