US20180218403A1 - Deal-Surfacing Button - Google Patents
Deal-Surfacing Button Download PDFInfo
- Publication number
- US20180218403A1 US20180218403A1 US15/935,977 US201815935977A US2018218403A1 US 20180218403 A1 US20180218403 A1 US 20180218403A1 US 201815935977 A US201815935977 A US 201815935977A US 2018218403 A1 US2018218403 A1 US 2018218403A1
- Authority
- US
- United States
- Prior art keywords
- offer
- user
- merchant
- offers
- computing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0257—User requested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0222—During e-commerce, i.e. online transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Definitions
- the present disclosure relates generally to an offer system, and more particularly to methods and systems that render an offer button or control on a merchant application displaying an offer indication.
- Coupons offer coupons or rebates as incentives for purchasing particular products.
- coupons are distributed in a paper format.
- a user redeems the coupon by taking the physical coupon to a merchant and purchasing a product that satisfies the terms of the coupon.
- Other forms of traditional coupons include rebates for purchasing particular products, wherein after purchasing a product that satisfies the terms of the rebate offer, the user fills out and returns required forms to request the rebate.
- merchants have offered electronic offers. Such offers may be linked to merchant loyalty cards, wherein a user enrolls in a merchant's loyalty program and receives a loyalty card. A user then associates certain discounts to the loyalty card and redeems these discounts by presenting the loyalty card (or some form of identifying information, such as a telephone number) and the method of payment to the merchant when purchasing the discounted products.
- coupons and offers are distributed through electronic media, forums, and social networks.
- a method for rendering controls on merchant services comprises an offer created by a merchant system, manufacturer system, and/or alternative offer provider that is distributed to potential users.
- the user accesses a merchant service (for example, a merchant shopping application or an online shopping website, on a user device).
- An input indicating that the user has accessed the merchant service is communicated by the user device to an offer system that maintains an account for the user.
- the offer system receives the input and determines whether the user has an offer applicable to a purchase with the merchant.
- the offer system communicates a first offer to the user device, and the user device presents an offer control or button on a user interface of the user device.
- the offer button is rendered to indicate that the first offer is available for redemption by the user (for example, by displaying text of the offer, flashing a color, or displaying an animation).
- the user initiates an action on the merchant service (for example, selects an item to display more information, selects to put the item on a wish list or in a shopping basket, enters shipping information, or selects to pay with a digital wallet account).
- the user device communicates an indication of the action to the offer system, and the offer system determines if the user has a second offer applicable to a purchase with the merchant based on the action taken by the user.
- the offer system communicates the second offer to the user device, and the user device renders the offer button to indicate that the second offer is available for redemption by the user.
- Selection of the offer button applies the offer currently associated with the button to the transaction.
- FIG. 1 is a block diagram depicting an offer system, in accordance with certain example embodiments.
- FIG. 2 is a block flow diagram depicting a method for rendering an offer button, in accordance with certain example embodiments.
- FIG. 3 is a block flow diagram depicting a method for selecting offers, in accordance with certain example embodiments.
- FIG. 4 is a block flow diagram depicting a method for determining account statuses, in accordance with certain example embodiments.
- FIG. 5 is a block flow diagram depicting a method for monitoring interactions on merchant services, in accordance with certain example embodiments.
- FIG. 6 is a block diagram depicting a user interface displaying an offer button rendered on a merchant system shopping application to display an offer amount when a user accesses the merchant system shopping application, in accordance with certain example embodiments.
- FIG. 7 is a block diagram depicting a user interface displaying an offer button rendered on a merchant system shopping application product page to display an offer amount when a user selects an item to display more information, in accordance with certain example embodiments.
- FIG. 8 is a block diagram depicting a user interface displaying an offer button rendered on an online merchant system shopping basket to display an offer amount when a user pays with a digital wallet account, in accordance with certain example embodiments.
- FIG. 9 is a block diagram depicting a computer machine and module, in accordance with certain example embodiments.
- the example embodiments described herein provide computer-implemented techniques for rendering an offer button or control on a merchant service displaying an offer indication.
- a user accesses a merchant application on a user device (for example, a merchant shopping application), and a control button is rendered on the merchant application that displays a value or other indication of an offer applicable to the user's transaction.
- the user has an offer for free shipping for any purchase with Merchant A.
- the control button is rendered to display the text “FREE SHIPPING.”
- the user has an offer for $10 off a $50 purchase with Merchant B.
- the control button When the user selects an item that brings the shopping basket total over $50 while shopping Merchant B's electronic storefront, the control button is rendered to flash “$10 OFF.” In yet another example, the user has an offer for $ 5 off a purchase with any merchant when a digital wallet account managed by Offer System X is used to pay for a purchase. When the user accesses Merchant C's shopping application, the control button is rendered to display a yellow flashing button.
- An offer is created by a merchant system, manufacturer system, offer system, and/or alternative offer provider and distributed to potential users.
- the offer is a non-prepaid offer for which the user does not pay a fee to obtain (for example, a loyalty reward, a coupon, discounts, or other offer redeemable with a merchant, manufacturer, service provider, and/or provider of goods).
- the offer is a prepaid offer, and the user pays a predetermined price for the products associated with the offer.
- the offer comprises redemption terms that specify one or more of a redemption period, a purchase transaction minimum, and a product description applicable to the redemption of the offer.
- the offer also comprises discount information that specifies the cash value or loyalty point exchange rate of the offer.
- the offer system distributes the offer and may selectively send potential offers to the user. The offer system also may rank and prioritize the offers sent to a user.
- the user operates a user computing device to select one or more offers distributed by the offer system or by others through various distribution channels.
- the user selects the offer by clicking on it, pressing a button to “save” the offer, or by other suitable operation to indicate a desire to select and/or save the offer.
- the offer is a prepaid offer, and the user selects the offer by agreeing to purchase the offer.
- the user can download, select, scan, or otherwise capture the offer via the user computing device and import the offer specifics (such as merchant, product, value, redemption rules, and other specifics) to the user computing device.
- the user indicates a desire to save the offer in a user account maintained by the offer system.
- the user requests access to the merchant application.
- the user has previously logged into a transferable and recognizable global account that is associated with the merchant application.
- the merchant application is associated with another web browser, so the user's login information from one page is transferred to the associated merchant application.
- the user has previously logged into the merchant application, and the user's login information was stored by the merchant application so that the user is not prompted to re-enter his login information when returning to the web page.
- the user logs into a system account so that when the user enters a web page, the user's registration information is known or provided to the merchant application.
- the user's registration information is known by the offer system, or the user is prompted to log into the offer system prior to entering the merchant application.
- the user has previously logged into an operating system level account and/or offer system account on the user device.
- the merchant application is associated with the operating system level account and/or the offer system account.
- the merchant application loads on the user device, and an offer button is rendered on the merchant application.
- An offer control module initiates a request to authenticate the user's offer system account status.
- the offer control module functions as an intermediary between the merchant application and the offer system such that all relevant information is passed between the merchant application and the offer system through the offer control module.
- the offer control module communicates the request to the offer system, and the offer system determines the user's account status.
- information for determining whether the user has an offer applicable to a purchase with the merchant is communicated to the offer system through the offer control module.
- the offer system may determine if the user has a global offer applicable to a purchase with the merchant or an offer provided by the offer system applicable to a purchase with any merchant.
- the offer system communicates the user's account status to the offer control module, and the offer button is rendered to display an indication of the offer applicable to a purchase with the merchant.
- the offer button can display an offer amount, the color or style of the button can be changed to indicate an offer is applicable, the text displayed on the button can be changed, the button can flash or display animations, or other suitable indications of the available offer.
- the user initiates an action via the merchant application. For example, the user may select an item to be placed in or removed from the user's shopping basket, enter shipping information or payment information, add or remove an item to a wish list or registry, select an item to view reviews or otherwise request additional information about an item or group of items.
- the offer control module receives a load event for the user's action performed on the merchant application and communicates the action to the offer system by communicating the load event information.
- the offer control module receives notification of any combination of a user action and/or a change in the current state of the user's shopping basket, wish list, or registry.
- the offer system determines if the user has an offer applicable to a purchase with the merchant based on the newly communicated information, and the offer system communicates the user's account status to the offer control module.
- the offer button is rendered to display an indication of the offer applicable to a purchase with the merchant based on the action taken by the user.
- FIG. 1 is a block diagram depicting an offer system, in accordance with certain example embodiments.
- the example operating environment 100 includes a merchant system 110 , a user device 120 , and an offer system 130 that are configured to communicate with one another via one or more networks 140 .
- two or more of these systems including systems 110 , 120 , and 130 ) or parts thereof are integrated into the same system.
- Each network 140 includes a wired or wireless telecommunication means by which network systems (including systems 110 , 120 , and 130 ) can communicate and exchange data.
- each network 140 can be implemented as, or may be a part of, a storage area network (SAN), personal area network (PAN), a metropolitan area network (MAN), a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), a virtual private network (VPN), an intranet, an Internet, a mobile telephone network, a card network, Bluetooth, near field communication network (NFC), any form of standardized radio frequency, or any combination thereof, or any other appropriate architecture or system that facilitates the communication of signals, data, and/or messages (generally referred to as data).
- data and “information” are used interchangeably herein to refer to text, images, audio, video, or any other form of information that can exist in a computer-based environment.
- each network system includes a device having a communication module capable of transmitting and receiving data over the network 140 .
- each network system may comprise a server, personal computer, mobile device (for example, notebook computer, tablet computer, netbook computer, personal digital assistant (PDA), video game device, GPS locator device, cellular telephone, Smartphone, or other mobile device), a television with one or more processors embedded therein and/or coupled thereto, or other appropriate technology that includes or is coupled to a web browser or other application for communicating via the network 140 .
- the network systems are operated by merchants, users 101 , and an offer system operator, respectively.
- the merchant system 110 comprises at least one point of sale (“POS”) terminal 113 that is capable of processing a purchase transaction initiated by a user 101 (for example, a cash register).
- POS point of sale
- the merchant operates an online store and the user 101 indicates a desire to make a purchase by clicking a link or “checkout” button on a website.
- the merchant operates a merchant shopping application and the user 101 indicates a desire to make a purchase by clicking a link or “checkout” button on the application.
- the user device 120 is configured to perform the functions of the POS terminal 113 .
- the user 101 scans and/or pays for the transaction via the user device 120 without interacting with the POS terminal 113 .
- the merchant system 110 is capable of communicating with the user device 120 via an application 115 .
- the application 115 may be an integrated part of the POS terminal 113 or a standalone hardware device (not shown), in accordance with other example embodiments.
- the user device 120 may be a personal computer, mobile device (for example, notebook, computer, tablet computer, netbook computer, personal digital assistant (“PDA”), video game device, GPS locator device, cellular telephone, Smartphone or other mobile device), television, or other appropriate technology that includes or is coupled to a web server, or other suitable application for interacting with web page files.
- the user 101 can use the user device 120 to access a merchant system 110 service (for example, a shopping website or shopping application) via a user interface 121 and an application 125 .
- the application 125 is a program, function, routine, applet or similar entity that exists on and performs its operations on the user device 120 .
- the application 125 may be one or more of a shopping application, merchant system 110 application, an Internet browser, a digital wallet application, a loyalty card application, another value-added application, a user interface 121 application, or other suitable application operating on the user device 120 .
- the user 101 must install an application 125 and/or make a feature selection on the user device 120 to obtain the benefits of the techniques described herein.
- the data storage unit 127 and application 125 may be implemented in a secure element or other secure memory (not shown) on the user device 120 .
- the data storage unit 127 may be a separate memory unit resident on the user device 120 .
- An example data storage unit 127 enables storage of user contact details and offers for retrieval of a user offer system 130 account.
- the data storage unit 127 can include any local or remote data storage structure accessible to the user device 120 suitable for storing information.
- the data storage unit 127 stores encrypted information, such as HTML5 local storage.
- An example user device 120 comprises an offer control module 123 .
- An example offer control module 123 is an application plug-in corresponding to the offer system 130 .
- the offer control module 123 is a browser plug-in corresponding to the offer system 130 .
- the offer control module 123 may be an integrated part of the application 125 , an integrated part of the offer system 130 , or a stand along hardware device (not shown), in accordance with other example embodiments.
- the user 101 installs the offer control module 123 on the user device 120 to facilitate auto-detection of actions on merchant system 110 service, communicate actions to the offer system 130 , receive notification of offers available for redemption based on the actions, and render an offer control or button on the user interface 121 to display an indication of the offer available for redemption.
- the application 125 communicates with the offer control module 123 .
- the application 125 provides data to the offer control module 123 to allow for the detection of specific load events, such as the loading of the merchant system's 110 shopping application, shopping basket, and product information.
- the offer control module 123 comprises application programming interfaces (“APIs”) that allow the module 123 to interact and communicate with the application 125 .
- APIs application programming interfaces
- An example offer control module 123 communicates with the offer system 130 .
- the offer control module 123 transmits load event information to the offer system 130 when action on the merchant system 110 shopping application is detected.
- An example offer system 130 comprises a button rendering module 135 and a data storage unit 137 .
- the offer system 130 maintains an account for the user 101 .
- An example user 101 account comprises one or more offers.
- the offer system 130 receives offers from the merchant system 110 , a manufacturer system (not shown) and/or other offer creators and distributes the offers to users 101 for review and selection.
- the offer system 130 creates the offers.
- the offer system 130 may generate web-based user interfaces providing forms for the merchant system 110 to create offers.
- the user account maintained by the offer system 130 comprises an electronic record having associated therewith one or more offers.
- the user 101 may be automatically prompted with one or more offers based on the user's registration information immediately after completing the registration process. In another example embodiment, the user 101 may be prompted to register with the offer system 130 when the user 101 clicks on or selects an offer. In an example embodiment, the user 101 may use a smart phone application 125 to register with the offer system 130 . In another example embodiment, the user 101 may register with the offer system 130 through the user's digital wallet.
- the offers arc distributed through selected distribution channels.
- the distribution channels comprise one or more of a display on cost per mille impression (“CPM”) or pay per click (“PPC”) impression, electronic correspondence distribution, SMS distribution, display based on geo-fencing, user device 120 map display, display in response to an Internet search, and display on an offer website.
- the offers are selectively presented to users based on the user's offer system 130 account information.
- the merchant system 110 specifies the details of the offer, by selecting the type of offer, the duration, the discount amount or percentage, redemption rules, and additional pertinent details when creating the offer.
- the offers arc distributed directly by the merchant system 110 or a third party without offer system 130 involvement.
- the selected offers are saved in the data storage unit 137 .
- the data storage unit 137 can include any local or remote data storage structure accessible to the account management system 130 suitable for storing information.
- the data storage unit 137 stores encrypted information, such as HTML5 local storage.
- each offer will have one or more structured rules or conditions that the offer system 130 can understand without human intervention. These rules include, but arc not limited to, a purchase threshold (for example, receive $10 back on a single purchase of more than $50 from the merchant), an aggregate purchase threshold (for example, receive $10 back from the next purchase from the merchant after the accumulated purchase at merchant has reached $1000), a minimum number of purchases from the merchant (for example, receive $10 back on your tenth purchase from the merchant), a time restriction (for example, receive $10 back for a lunch-time purchase), a location restriction (for example, receive $10 back from a purchase at a specified merchant location), a product or category restriction (for example, receive $10 back when you purchase a specific product or a product from a specific department), an expiration date, a limited number of redemptions, and pre-payment terms.
- the offer is a prepaid offer or other offer, and the redemption rules include an expiration date.
- the offers may include, but are not limited to, coupons, loyalty points
- these rules are set by the merchant system 110 at the time the offer is created and reviewed by the offer system 130 before the offer is applied.
- the user's 101 selected offer is not redeemable because the one or more structured rules or conditions arc not met (for example, the redemption term has expired, the offer has exceeded the maximum number of allotted redemptions, the purchase transaction amount is less than the minimum purchase transaction amount for the offer, or the description of the products purchased does not match the description of the products in the selected offer).
- the offer rules are reviewed by the offer rendering module 135 or another module (not shown) on the user device 120 .
- the button rendering module 135 receives the load event information for action taken on the merchant system 110 shopping application from the offer control module 123 and retrieves applicable offers from the user's 101 offer system account. In an example embodiment, the button rendering module 135 receives load event information indicating that the user 101 has accessed the merchant system 110 shopping application. The button rendering module 135 determines whether the user 101 has an offer applicable to any purchase with the merchant system 110 . Once an offer is identified, the button rendering module 135 communicates the offer to the offer control module 123 . In an example embodiment, the button rendering module 135 communicates an indication of how the offer button will be rendered on the user interface 121 .
- the button rendering module 135 communicates the details of the offer to the offer control module 123 and the offer control module 123 determines how the offer button will be rendered.
- the button rendering module 135 is split across multiple system (for example systems 130 and 120 ).
- a portion of the button rendering module 135 on the offer system 130 may render part of the offer button and send the information to the portion of the button rendering module 135 on the user device 120 .
- the portion of the button rendering module 135 on the user device combines the information received with additional details to render the offer button.
- the button rendering module 135 on the user device 120 sends information to the button rendering module 135 on the offer system 130 .
- FIG. 6 is a block diagram depicting a user interface 121 displaying an offer button 610 rendered on a merchant system 110 shopping application to display an offer amount when the user 101 accesses the merchant system 110 shopping application, in accordance with certain example embodiments.
- the example operating environment 600 comprises a user device 120 , a user interface 121 , and an offer button 610 .
- the offer control module 123 communicates the action to the offer system 130 , and the offer button 610 is rendered to display an offer capable of redemption based on the user 101 accessing the merchant system 110 shopping application.
- the user interface 121 displays the rendered offer button 610 .
- FIG. 7 is a block diagram depicting a user interface 121 displaying the offer button 610 rendered on a merchant system 110 shopping application product page to display an offer amount when the user 101 selects an item to display more information, in accordance with certain example embodiments.
- the example operating environment 700 comprises a user device 120 , a user interface 121 , and an offer button 610 .
- the offer control module 123 communicates the action to the offer system 130 , and the offer button 610 is rendered to display an offer capable of redemption based on the user 101 selecting the item in the merchant system 110 shopping application.
- the user interface 121 displays the rendered offer button 610 .
- FIG. 8 is a block diagram depicting a user interface 121 displaying an offer button 610 rendered on an online merchant system 110 shopping basket to display an offer amount when the user 101 pays with a digital wallet account, in accordance with certain example embodiments.
- the example operating environment 800 comprises a user device 120 , a user interface 121 , and an offer button 610 .
- the offer control module 123 communicates the action to the offer system 130 , and the offer button 610 is rendered to display an offer capable of redemption based on the user 101 indicating a desire to pay with the user's 101 digital wallet account.
- the user interface 121 displays the rendered offer button 610 .
- FIGS. 2-5 The components of the example operating environments 100 , 600 , 700 , and 800 are described hereinafter with reference to the example methods illustrated in FIGS. 2-5 .
- the example methods of FIGS. 2-5 may also be performed with other systems and in other environments.
- FIG. 2 is a block flow diagram depicting a method for rendering an offer button 610 , in accordance with certain example embodiments. The method 200 is described with reference to the components illustrated in FIG. 1 .
- a user 101 selects one or more offers to be saved in the user's 101 offer system 130 account.
- offers are created by the merchant system 110 , the manufacturer system (not shown), offer system ( 130 ), or another third party system (not shown) and be distributed by the offer system 130 .
- the offers are created by the offer system 130 or third party system (not shown) on behalf of the merchant system 110 , the manufacturer system (not shown), and/or both systems.
- the offers are distributed by the merchant system 110 or a third party system (not shown).
- offers are selected and/or saved in the user's 101 offer system 130 account without user 101 interaction (for example, the offer system 130 transmits offers to be automatically saved in the user's 101 offer system 130 account without the user 101 having to take any action).
- offers are redeemable by any user and not saved to the user's 101 offer system 130 account.
- offers may be automatically saved to the user's 101 offer system 130 account.
- the offers may include, but are not limited to, coupons, loyalty points, prepaid offers, rebates, and other forms of value added services.
- the offers may comprise merchant offers, manufacturer offers, third party offers, and other types of offers.
- the offers are for a specific product or group of products. For example, the offer may be for $1.00 off Brand A laundry detergent or $1.00 off a Manufacturer X product. These offers may be redeemed at any merchant that accepts manufacturer coupons.
- the offers arc for a particular merchant.
- the offer may be for $10 off a $50 purchase at Merchant Q.
- the offers comprise loyalty reward point redemptions.
- the offer may be for 10 loyalty points for every purchase of a Manufacturer X product.
- the offers comprise details on how the offer can be redeemed and redemption rules.
- the offer may comprise the identification of the item to be purchased, such as product title, brand information, universal product code (“UPC”), a stock keeping unit (“SKU”), a Japanese article number (“JAN”), a world product code (“WPC”), International Standard Book Number (“ISBN”), European Article Number (“EAN”), color, size, and other relevant sale information.
- UPC universal product code
- SKU stock keeping unit
- JAN Japanese article number
- WPC world product code
- ISBN International Standard Book Number
- EAN European Article Number
- each offer will have one or more rules or conditions associated with it.
- rules or conditions include, but are not limited to a purchase threshold (for example, receive $1.00 off Brand Z laundry detergent that is regularly priced $5.00 or more, or $10 single purchase of more than $50 from Merchant X), an aggregate purchase threshold (for example, receive $10 off next purchase from a merchant after the accumulated purchase of Manufacturer B products has reached $100), a minimum number of purchases of an item (for example, receive $10 off your tenth purchase of Brand Z items), a time restriction (for example, receive $10 off a lunch-time purchase), a maximum discount (for example, the merchant system 110 sets $10 off as a maximum and user A gets $1 off, while user B gets $2 off), and/or a location restriction (for example, receive $10 off a purchase at a specified location).
- a purchase threshold for example, receive $1.00 off Brand Z laundry detergent that is regularly priced $5.00 or more, or $10 single purchase of more than $50 from Merchant X
- an aggregate purchase threshold for example, receive $10 off next purchase from a merchant after the accumulated
- these rules are set by the merchant system 110 at the time the offer is created and reviewed before the offer is applied.
- the offer is a prepaid offer and the redemption rules may include an expiration date.
- each offer will have no rules or conditions associated with it. For example, an offer for $10 off any purchase with any merchant.
- the offer content and discount may be personalized to a particular user. For example, user A may receive a 5% off coupon for a particular product or service while user B may receive a 10% off coupon for the same product or service.
- the offer system 130 may distribute the offers and selectively send potential offers to the user 101 .
- the offer system 130 may determine which users 101 qualify for a particular offer.
- the offer system 130 may also rank and prioritize the offers sent to a user.
- the merchant system 110 creates the offer outside of the offer system 130 .
- the offer system 130 may generate web-based user interfaces providing forms for the merchant system 110 to create offers.
- the offer system 130 receives the offers and redemption terms transmitted by the merchant system 110 .
- the offers can be received electronically on a regular basis (for example, daily/weekly), as part of a pull from the offer system 130 , and/or as part of a push from the merchant system 110 to the offer system 130 .
- the pull from the offer system 130 and/or the push from the merchant system 110 can be triggered by a time condition, non-time condition (for example a new offer is available or a location-based condition), or a combination of multiple conditions (for example, between the time of 2 PM and 5 PM for all users in New York).
- the offer system 130 saves the offer and redemption terms in the data storage unit 137 thereby allowing the offer system 130 to identify the conditions under which the offer is redeemable.
- the offer system 130 distributes the offers.
- the offer system 130 distributes offers through selected network channels.
- the offer system 130 communicates the offers via the network 140 for presentation to end users 101 on corresponding user devices 120 .
- the offers can be monitored for interaction by the users 101 in accordance with the various network channels selected by the merchant.
- the network channels comprise display on cost per mille impression (“CPM”), pay per click (“PPC”), cost per action (“CPA”), electronic correspondence, and offers near me.
- CCM cost per mille impression
- PPC pay per click
- CPA cost per action
- the merchant system 110 may select multiple methods of distribution for the same offer.
- the merchant system 110 may also create multiple offers to be distributed through the same or different network channels.
- the merchant system 110 specifies the details of the offer, by selecting the type of offer, the duration, the discount amount or percentage, redemption rules, and additional pertinent details when creating the offer.
- the user 101 reviews the offers and selects one or more offers to be saved to the user's 101 offer system 130 account.
- the method for selecting one or more offers is described in more detail hereinafter with reference to the methods described in FIG. 3 .
- FIG. 3 is a block flow diagram depicting a method 210 for selecting one or more offers, in accordance with certain example embodiments, as referenced in block 210 .
- the method 210 is described with reference to the components illustrated in FIG. 1 .
- the user 101 reviews the offers distributed by the offer system 130 .
- the user device 120 displays the offer in a web browser for the user 101 to review.
- the offer is displayed in an offer application 125 resident on the user device 120 .
- the offer is displayed in response to an Internet search, in an electronic message or text message, or as a banner or other advertisement in an Internet browser.
- the user 101 selects the offer.
- the user 101 reviews and selects one or more offers.
- the user 101 select, prepays, agrees to pay for, prints, saves, and/or interacts with the offer.
- the user 101 selects one or more offers distributed by the offer system 130 or by others through the various distribution channels.
- the user 101 selects the offer by clicking on it, pressing a button to “save” the offer, pressing a button to “pay for” the offer, or by other suitable means to indicate a desire to select, pay, and/or save the offer.
- the user 101 can download, select, scan, or otherwise capture the offer and import the offer specifics (such as merchant, product, value, redemption rules, and other specifics) to the user device 120 .
- the user 101 may register with a merchant system's 110 loyalty rewards program, and offers generated from the loyalty rewards program can be associated with the user device 120 .
- the merchant system 110 may implement its loyalty rewards program via the offer system 130 such that each purchase by the user 101 will increment the loyalty rewards.
- the loyalty rewards offer is saved on the user device 120 and then applied when a purchase of the user 101 from the merchant meets the redemption rules for the loyalty rewards offer.
- the offer system 130 receives a notification that the user 101 has selected the offer and determines whether the user 101 has an offer system 130 account.
- the user 101 is prompted to log into or create an offer system 130 account when the offer is selected and/or paid for.
- the user 101 previously logged into the offer system 130 account and is otherwise automatically logged into the account.
- the user's 101 login credentials are shared across other accounts (for example, social networking websites and user device 120 accounts) and the user 101 is automatically logged into the offer system 130 account using the shared login credentials.
- the method 210 proceeds to block 340 and the user 101 is prompted to create an offer system 130 account.
- the user 101 is prompted to register with the offer system 130 when the user 101 clicks on or selects the offer.
- the user 101 is prompted to register with the offer system 130 when the user 101 pays for the offer (not pictured in FIG. 3 ).
- the user 101 is not required to log in or register for an offer system 130 account.
- the methods described herein are performed for a “guest” user.
- the user 101 may create the offer system 130 account at any time prior to or while selecting, saving, or paying for the offer.
- the user 101 accesses the offer system 130 via a website and the network 140 .
- the user 101 submits registration information to the offer system 130 , including, but not limited to, name, address, phone number, e-mail address, and information for one or more registered financial card accounts, including bank account debit cards, credit cards, a loyalty rewards account card, or other type of account that can be used to make a purchase (for example, card type, card number, expiration date, security code, and billing address).
- the user's offer system 130 account information is saved in the data storage unit 137 and is accessible to the button rendering module 135 .
- the user 101 is not required to log into and/or maintain an offer system 130 account.
- the offer system 130 maintains offers that may be redeemed by any user.
- the offer system 130 account is a digital wallet account maintained by the offer system 130 or a third party system.
- the user 101 may use a smart phone application 125 to register with the offer system 130 .
- the user 101 accesses the offer system 130 via a smart phone application 125 .
- the user 101 logs into the account in block 350 .
- the user's offer system 130 account information is saved in the user device 120 and the user 101 is automatically signed into the user's offer system 130 account.
- the user 101 is automatically logged into the offer system 130 account using shared login credentials.
- the user 101 was previously logged into the offer system 130 account and is not required to login.
- the selected offer is saved in the user's 101 offer system 130 account.
- the offer is saved in the data storage unit 137 and accessible by the button rendering module 135 .
- the user 101 indicates a desire to save the offer in the user's 101 account maintained by the offer system 130 .
- the user 101 can download, select, scan, or otherwise capture the offer via the user device 120 and import the offer specifics (such as merchant, product, value, redemption rules, and other specifics) to the user device 120 .
- the method 210 then proceeds to block 220 in FIG. 2 .
- the user requests access to a merchant application 125 .
- the merchant application 125 is a web page, a merchant shopping service, or a stand-alone application 125 and the user 101 requests access by opening the service, logging in, or otherwise initiating the service.
- the user's 101 offer system 130 account status is determined.
- the user 101 is logged into the offer system 130 to perform the functions described herein.
- any offers saved in the user's 101 offer system 130 account can be reviewed and selected for rendering on the control button.
- the user 101 is prompted to log into the user's 101 offer system 130 account.
- determining the user's 101 offer system 130 account status comprises determining whether the user 101 has an offer applicable to a transaction with the merchant (for example, whether the redemption terms of the offer permit the offer to be redeemed with any purchase with the merchant system 110 ). The method for determining the user's 101 offer system 130 account status is described in more detail hereinafter with reference to the methods described in FIG. 4 .
- FIG. 4 is a block flow diagram depicting a method 230 for determining the user's 101 offer system 130 account status, in accordance with certain example embodiments, as referenced in block 230 .
- the method 230 is described with reference to the components illustrated in FIG. 1 .
- the offer control module 123 initiates authentication of the user's 101 offer system 130 account.
- the user has previously logged into a transferable and recognizable global account that is associated with the merchant application 125 .
- the merchant application 125 is associated with another web browser, so the user's login information from one page is transferred to the associated merchant application 125 .
- the user has previously logged into the merchant application 125 , and the user's login information was stored by the merchant application 125 so that the user is not prompted to re-enter his login information when returning to the web page.
- the user logs into a system account so that when the user enters a web page or application, the user's registration information is known or provided to the merchant application 125 .
- the user's registration information is known by the offer system 130 , or the user is prompted to log into the offer system 130 prior to entering the merchant application 125 .
- the user 101 is required to log into the offer system 130 account before the methods described herein may be performed.
- the offer control module 123 monitors for load event. In an example embodiment, the offer control module 123 receives an indication whenever a webpage or an application 125 page is loaded on the user device 120 . In another example embodiment, the offer control module 123 continuously monitors or periodically monitors the user device to determine when a load event occurs.
- the offer control module 123 communicates a request to authenticate the user's 101 offer system 130 account to the offer system 130 .
- the request is communicated to the button rendering module 135 resident on the offer system 130 .
- the request comprises an identity of the merchant system 110 and an identity of the user 101 .
- the offer control module 123 communicates these details in response to a request by the offer system 130 or in multiple communications to the offer system 130 .
- the offer system 130 receives the request to authenticate the user's 101 offer system 130 account.
- the offer system 130 determines the user's 101 account status.
- the button rendering module 135 cross-references the identity of the merchant system 110 transmitted in block 420 with the offer saved in the data storage unit 137 .
- one or more of the offers are applicable to a transaction with a specific merchant system 110 , as defined by the terms and conditions of the offer redemption code.
- the button rendering module 135 reviews the terms and conditions of the offers and determines whether the offers are applicable to a transaction with the merchant system 110 .
- the button rendering module 135 determines which of the offers applicable to a transaction with the merchant system 110 can be applied.
- each offer will have one or more structured rules or conditions that the offer system 130 can understand without human intervention. These rules include, but are not limited to, a merchant identification (for example, $10 any purchase with Merchant X), a purchase threshold (for example, receive $10 back on a single purchase of more than $50 from the merchant system 110 ), a minimum number of purchases from the merchant (for example, receive $10 back on your tenth purchase from the merchant system 110 ), a time restriction (for example, receive $10 back for a purchase on Wednesday), a product or category restriction (for example, receive $10 back when you purchase a specific product or a product from a specific department), an expiration date, a product limitation, a user 101 limitation, and a limited number of redemptions.
- these rules are set by merchant system 110 at the time the redemption offer is created and reviewed by the offer system 130 before the offer is transmitted to the offer control module 123 and/
- the button rendering module 135 reviews the terms of the offer and the information from the request for the user's 101 offer system 130 account status to determine which of the offers are applicable to a transaction with the merchant system 110 . For example, the button rendering module 135 may determine if the user 101 has a global offer applicable to a purchase with the merchant system 110 or an offer provided by the offer system 130 applicable to a purchase with any merchant system 110 . In an example embodiment, a global offer is an offer that that may be applied to any purchase with a merchant system, for example 10% all items for sale by Merchant System A.
- the button rendering module 135 reviews the redemption terms of the offer and provides recommendations for offers that may be applicable if the user 101 performs additional action on the merchant application 125 .
- the offer system 130 communicates the user's 101 account status to the offer control module 123 .
- the button rendering module 135 has identified an offer applicable to a transaction with the merchant system 110 in block 440 and the offer system 130 communicates the offer to the offer control module 123 .
- the offer system 130 was unable to identify the user's 101 offer system 130 account and the offer system 130 communicates a request to the offer control module 123 to prompt the user 101 to log in.
- the button rendering module 135 was unable to identify an offer application to a transaction with the merchant without receiving additional information such as items selected, shipping information, and payment account information.
- the offer system 130 communicates a request for more information to the offer control module.
- the offer system 130 communicates an affirmative account response to the offer control module 123 .
- the user 101 is not required to maintain or log into an offer system 130 account.
- the offer system 130 will respond with offers available to any user 101 , including those who have not logged in or created an offer system 130 account.
- the offer control module 123 receives the user's 101 offer system 130 account status from the offer system 130 .
- the method 230 then proceeds to block 240 in FIG. 2 .
- the offer control module 123 determines whether the user 101 is logged into the offer system 130 . In an example embodiment, the offer control module 123 receives an indication from the offer system 130 in block 460 in FIG. 4 . In another example embodiment, block 230 may be performed at any time prior to the rendering of an offer on the control button.
- the method 200 proceeds to block 245 .
- the user 101 is prompted to log into the offer system 130 .
- the user 101 is not required to log into and/or maintain an offer system 130 account.
- the offer system 130 maintains offers that may be redeemed by any user and the offer button 610 is rendered for the user 101 as a “guest” user.
- the merchant application 125 loads on the user device 120 .
- the offer button 610 is rendered on the merchant application 125 .
- the offer button 610 is a button, link, or other control, such that selection of the button comprises the activation of the matter the button controls.
- selection of the button on the web page allows the user 101 to activate a further action controlled by the button.
- the button is displayed as available or active for the user 101 to press or otherwise select the button to attempt to access the content controlled by the button.
- the button is displayed as a URL link in the text displayed on the user interface 121 of the merchant application 125 .
- the link is displayed a selectable by the user 101 so that the user may click, press or otherwise select the link to access the content controlled by the link.
- the button is a tab displayed on the user interface 121 of the merchant application 125 or website. The tab is displayed as selectable by the user 101 so that the user may click, press or otherwise select the tab to access content controlled by the tab.
- the offer button 610 is rendered to display the offer available for redemption by the user 101 for a transaction with the merchant system 110 .
- the offer button 610 can display an offer amount, the color or style of the button can be changed to indicate an offer is applicable, the text displayed on the button can be changed, the button can flash or display animations, or other suitable indications of the available offer.
- the offer button 610 is rendered to display an indication that an offer is available if the user 101 performs an additional action.
- the offer button 610 may be rendered to display an indication that the user 101 has an offer for $10 off a $50 purchase or an indication that if the user 101 selection $50 worth of goods/services, the $10 offer may be applied.
- the offer control module 123 monitors the user's 101 interaction with the merchant application 125 to determine whether a second or subsequent offer is available for redemption.
- the offer control module 123 receives an indication whenever a page is loaded in the merchant application 125 on the user device 120 .
- the offer control module 123 continuously monitors or periodically monitors the application to determine when an action is taken.
- the current state of the user's shopping cart, registry, or wish list is monitored. In this embodiment, any changes in the current state (for example, adding or removing items) are determined.
- the offer control module 123 monitors the user's 101 interaction with the merchant application 125 and the current state of the user's shopping cart, registry, or wish list. The method for monitoring the user's 101 interaction with the merchant application 125 is described in more detail hereinafter with reference to the methods described in FIG. 5 .
- FIG. 5 is a block flow diagram depicting a method 270 for monitoring the user's 101 interaction with the merchant application 125 , in accordance with certain example embodiments, as referenced in block 270 .
- the method 270 is described with reference to the components illustrated in FIG. 1 .
- the user 101 interacts with the merchant application.
- the user 101 selects an item to view more information, to view reviews, to view comparable products, to add to a wish list/registry, to add to a shopping basket, or to perform additional actions.
- the user 101 has previously selected items to add to a shopping basket and the user 101 selects to pay with a digital wallet account or specified financial account.
- the user 101 has entered shipping information, deleted an item from the shopping basket, conducted a search, or performed any action on the merchant application.
- the offer control module 123 receives a load event for the user 101 action performed on the merchant application.
- the load event for the user 101 action comprises an indication of the type of action taken (for example, the user 101 has selected Item A to read additional information about the product).
- the load event comprises an identification of the merchant system 110 and an identification of the user 101 .
- the offer control module 123 transmits the load information and a query to the offer system 130 for offers available based on the action performed by the user 101 on the merchant application.
- the information is communicated to the button rendering module 135 resident on the offer system 130 .
- the request comprises an identity of the merchant system 110 and an identity of the user 101 .
- the offer control module 123 communicates these details in response to a request by the offer system 130 or in multiple communications to the offer system 130 .
- the request comprises a relevant application state (for example, the contents of the user's 101 shopping cart).
- the request comprises incremental actions or differences from the last application state communicated to the offer system 130 .
- the offer system 130 receives the load event information and the query for available offers.
- the offer system 130 identifies the user's 101 offer system 130 account.
- the button rendering module 135 references the identity of the user 101 transmitted in blocks 530 and/or 420 .
- the offer system 130 reviews or searches user accounts and identifies the account associated with the identity of the user 101 .
- the offer system 130 reviews or searches records maintained by the offer system 130 and identifies records associated with the identity of the user 101 .
- the user 101 is not logged into an offer system 130 account and the offer system 130 identifies the user 101 as a “guest.”
- the user 101 is logged into multiple offer system 130 accounts and the offer system 130 determines which account comprises the best available offers for the user 101 .
- the offer system 130 reads the offers available for redemption by the user 101 based on the load event information.
- the button rendering module 135 reviews the terms and conditions of the offers and determines whether the offers are applicable based on the action taken by the user 101 in the merchant application. For example, if the user 101 selected Product A to review additional information, the offer system 130 will determine whether the user 101 has an offer applicable to a purchase of Product A. In another example, if the user 101 has added Product A to the user's 101 shopping basket, the offer system 130 will determine whether the user 101 has an offer applicable to the purchase of Product A or a purchase with the merchant system 110 based on the total sales amount of the shopping basket (for example, $10 off a $50 purchase).
- the offer system 130 is able to identify items in the shopping basket and/or items viewed on the merchant application.
- the button rendering module 135 identifies items from the load event information transmitted by the offer control module 123 .
- the offer control module 123 may capture the load event for a particular item on the merchant application and then a load event for the shopping basket. The offer control module 123 may transmit the product identification information captured from the item page on the merchant application page with the load event information for the shopping basket.
- the offer control module 123 reviews the user's 101 browser history or the load events for items viewed by the user 101 and transmit information regarding the items browsed with the load event information. The button rendering module 135 may then determine and identity of items based on the browser history.
- the offer control module 123 may use smart logic to otherwise determine the identity of the items and transmit the identity with the load event information.
- the button rendering module 135 determines if offer redemption codes are applicable to the action taken by the user 101 . In an example embodiment, the button rendering module 135 cross-references the action taken by the user 101 or identity of the items with the offers saved in the data storage unit 137 . In an example embodiment, one or more of the offers are applicable to a specific item, as defined by the terms and conditions of the offer. The button rendering module 135 reviews the terms and conditions of the offers and determines whether the offers are applicable to the item.
- each offer will have one or more structured rules or conditions that the offer system 130 can understand without human intervention.
- rules include, but are not limited to, a purchase threshold (for example, receive $10 back on a single purchase of more than $50 from the merchant system 110 ), a minimum number of purchases from the merchant (for example, receive $10 back on your tenth purchase from the merchant system 110 ), a time restriction (for example, receive $10 back for a purchase on Wednesday), a product or category restriction (for example, receive $10 back when you purchase a specific product or a product from a specific department), an expiration date, a product limitation, a user 101 limitation, and a limited number of redemptions.
- a purchase threshold for example, receive $10 back on a single purchase of more than $50 from the merchant system 110
- a minimum number of purchases from the merchant for example, receive $10 back on your tenth purchase from the merchant system 110
- a time restriction for example, receive $10 back for a purchase on Wednesday
- a product or category restriction for example, receive $10 back when you purchase a specific
- these rules are set by merchant system 110 at the time the redemption offer is created and reviewed by the offer system 130 before the offer is transmitted or applied.
- each offer will have no rules or conditions associated with it. For example, an offer for $10 off any purchase with any merchant.
- the offer control module 123 reviews the terms of the offer and the load event information to determine which of the offers is applicable to the action taken by the user 101 .
- the offer system 130 transmits the offers available for redemption by the user 101 to the offer control module 123 , and the offer control module 123 reviews the terms of the offer to determine which of the offers is applicable to the action taken by the user 101 .
- the offer control module 123 makes performs the function of the offer system 130 previously described.
- the offer control module 123 reviews the redemption terms of the offer and provides recommendations for offers that may be applicable if the user 101 performs an additional action (for example, adds $5 more to the user's 101 shopping basket).
- the offer system 130 transmits the offers available for redemption by the user 101 to the offer control module 123 , and the offer control module 123 reviews the terms of the offer to determine which of the offers is applicable to the action taken by the user 101 .
- the offer control module 123 also determines which offers, if redeemed, would provide the user 101 with the greatest savings.
- the offer control module 123 determines what additional action must be taken by the user 101 to satisfy the terms of the offer that would provide the user 102 with the greatest savings and notifies the user 101 of the additional action required.
- the offer system 130 communicates the available offers to the offer control module 123 .
- the offer system 130 transmits the offer that provides the greatest savings to the user 101 .
- the offer system 130 transmits multiple offers and provides an indication of the best savings for the user 101 .
- the offer control module 123 determines which offer provides the greatest savings to the user 101 .
- the offer control module 123 receives the offers.
- the method 270 then proceeds to block 280 in FIG. 2 .
- the offer button 610 is rendered to display an offer value applicable to the current state of the user's 101 interaction with the merchant application 125 . For example, if the user 101 has selected an item to review and the user 101 has a $5 off offer for that item, the offer button 610 is rendered to display an indication of the $5 off offer.
- the offer button 610 can display an offer amount, the color or style of the button can be changed to indicate an offer is applicable, the text displayed on the button can be changed, the button can flash or display animations, or other suitable indications of the available offer.
- the text displayed corresponds to a description or amount of the offer received from the offer system 130 in block 580 of FIG. 5 .
- the offer button 610 is tied to the corresponding offer, such that if the user 101 clicks on the offer button 601 , the corresponding offer is applied to the user's 101 transaction with the merchant, so long as the transaction continues to meet the terms of the offer.
- the offer button 610 is rendered to display an indication that an offer is available if the user 101 performs an additional action.
- the offer button 610 may be rendered to display an indication that the user 101 has an offer for $10 off a $50 purchase or an indication that if the user 101 selection $50 worth of goods/services, the $10 offer may be applied.
- the offer button 610 is tied to the corresponding offer. In this embodiment, the offer cannot be applied until the user 101 takes additional action to fulfill the terms of the offer. In an example embodiment, if the user 101 clicks on or otherwise selects the offer button 610 before performing the additional action required to fulfill the terms of the offer, the offer will not be applied to the transaction. In another example embodiment, the user 101 will be notified that the offer cannot yet be applied when the offer button 610 is selected.
- the text of the offer button 610 may be changed to notify the user 101 that the offer cannot yet be applied, a pop-up window or other alert may be displayed on the user interface 121 to notify the user 101 , or the offer button 610 may be grayed out or otherwise unselectable until the user 101 takes the additional action required to fulfill the terms of the offer.
- the offer control module 123 applies the offer to the transaction with the merchant.
- the complete terms of the offer were transmitted by the offer system 130 to the offer control module 123 in block 570 of FIG. 5 .
- the offer control module 123 notifies the merchant system 110 of the offer and it is applied to the transaction with the merchant.
- the user 101 is not required to press or otherwise select the offer button 610 to apply the offer.
- the offer control module 123 automatically applies the offer, once the terms of the offer are satisfied without the user 101 having to indicate a desire to apply the offer.
- the offer control module 123 notifies the offer system 130 , and the offer system 130 communicates the terms of the offer to the merchant system 110 to redeem the offer.
- the user 101 initiates further action on the merchant application 125 and the methods described in blocks 270 and 280 are repeated as necessary for each action the user 101 performs.
- FIG. 9 depicts a computing machine 2000 and a module 2050 in accordance with certain example embodiments.
- the computing machine 2000 may correspond to any of the various computers, servers, mobile devices, embedded systems, or computing systems presented herein.
- the module 2050 may comprise one or more hardware or software elements configured to facilitate the computing machine 2000 in performing the various methods and processing functions presented herein.
- the computing machine 2000 may include various internal or attached components such as a processor 2010 , system bus 2020 , system memory 2030 , storage media 2040 , input/output interface 2060 , and a network interface 2070 for communicating with a network 2080 .
- the computing machine 2000 may be implemented as a conventional computer system, an embedded controller, a laptop, a server, a mobile device, a smartphone, a set-top box, a kiosk, a vehicular information system, one more processors associated with a television, a customized machine, any other hardware platform, or any combination or multiplicity thereof
- the computing machine 2000 may be a distributed system configured to function using multiple computing machines interconnected via a data network or bus system.
- the processor 2010 may be configured to execute code or instructions to perform the operations and functionality described herein, manage request flow and address mappings, and to perform calculations and generate commands.
- the processor 2010 may be configured to monitor and control the operation of the components in the computing machine 2000 .
- the processor 2010 may be a general purpose processor, a processor core, a multiprocessor, a reconfigurable processor, a microcontroller, a digital signal processor (“DSP”), an application specific integrated circuit (“ASIC”), a graphics processing unit (“GPU”), a field programmable gate array (“FPGA”), a programmable logic device (“PLD”), a controller, a state machine, gated logic, discrete hardware components, any other processing unit, or any combination or multiplicity thereof.
- DSP digital signal processor
- ASIC application specific integrated circuit
- GPU graphics processing unit
- FPGA field programmable gate array
- PLD programmable logic device
- the processor 2010 may be a single processing unit, multiple processing units, a single processing core, multiple processing cores, special purpose processing cores, co-processors, or any combination thereof. According to certain embodiments, the processor 2010 along with other components of the computing machine 2000 may be a virtualized computing machine executing within one or more other computing machines.
- the system memory 2030 may include non-volatile memories such as read-only memory (“ROM”), programmable read-only memory (“PROM”), erasable programmable read-only memory (“EPROM”), flash memory, or any other device capable of storing program instructions or data with or without applied power.
- the system memory 2030 may also include volatile memories such as random access memory (“RAM”), static random access memory (“SRAM”), dynamic random access memory (“DRAM”), and synchronous dynamic random access memory (“SDRAM”). Other types of RAM also may be used to implement the system memory 2030 .
- RAM random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- SDRAM synchronous dynamic random access memory
- Other types of RAM also may be used to implement the system memory 2030 .
- the system memory 2030 may be implemented using a single memory module or multiple memory modules.
- system memory 2030 is depicted as being part of the computing machine 2000 , one skilled in the art will recognize that the system memory 2030 may be separate from the computing machine 2000 without departing from the scope of the subject technology. It should also be appreciated that the system memory 2030 may include, or operate in conjunction with, a non-volatile storage device such as the storage media 2040 .
- the storage media 2040 may include a hard disk, a floppy disk, a compact disc read only memory (“CD-ROM”), a digital versatile disc (“DVD”), a Blu-ray disc, a magnetic tape, a flash memory, other non-volatile memory device, a solid state drive (“SSD”), any magnetic storage device, any optical storage device, any electrical storage device, any semiconductor storage device, any physical-based storage device, any other data storage device, or any combination or multiplicity thereof.
- the storage media 2040 may store one or more operating systems, application programs and program modules such as module 2050 , data, or any other information.
- the storage media 2040 may be part of, or connected to, the computing machine 2000 .
- the storage media 2040 may also be part of one or more other computing machines that are in communication with the computing machine 2000 such as servers, database servers, cloud storage, network attached storage, and so forth.
- the module 2050 may comprise one or more hardware or software elements configured to facilitate the computing machine 2000 with performing the various methods and processing functions presented herein.
- the module 2050 may include one or more sequences of instructions stored as software or firmware in association with the system memory 2030 , the storage media 2040 , or both.
- the storage media 2040 may therefore represent examples of machine or computer readable media on which instructions or code may be stored for execution by the processor 2010 .
- Machine or computer readable media may generally refer to any medium or media used to provide instructions to the processor 2010 .
- Such machine or computer readable media associated with the module 2050 may comprise a computer software product.
- a computer software product comprising the module 2050 may also be associated with one or more processes or methods for delivering the module 2050 to the computing machine 2000 via the network 2080 , any signal-bearing medium, or any other communication or delivery technology.
- the module 2050 may also comprise hardware circuits or information for configuring hardware circuits such as microcode or configuration information for an FPGA or other PLD.
- the input/output (“I/O”) interface 2060 may be configured to couple to one or more external devices, to receive data from the one or more external devices, and to send data to the one or more external devices. Such external devices along with the various internal devices may also be known as peripheral devices.
- the I/O interface 2060 may include both electrical and physical connections for operably coupling the various peripheral devices to the computing machine 2000 or the processor 2010 .
- the I/O interface 2060 may be configured to communicate data, addresses, and control signals between the peripheral devices, the computing machine 2000 , or the processor 2010 .
- the I/O interface 2060 may be configured to implement any standard interface, such as small computer system interface (“SCSI”), serial-attached SCSI (“SAS”), fiber channel, peripheral component interconnect (“PCI”), PCI express (PCIe), serial bus, parallel bus, advanced technology attached (“ATA”), serial ATA (“SATA”), universal serial bus (“USB”), Thunderbolt, FireWire, various video buses, and the like.
- SCSI small computer system interface
- SAS serial-attached SCSI
- PCIe peripheral component interconnect
- PCIe PCI express
- serial bus parallel bus
- ATA advanced technology attached
- SATA serial ATA
- USB universal serial bus
- Thunderbolt FireWire
- the I/O interface 2060 may be configured to implement only one interface or bus technology.
- the I/O interface 2060 may be configured to implement multiple interfaces or bus technologies.
- the I/O interface 2060 may be configured as part of, all of, or to operate in conjunction with, the system bus 2020 .
- the I/O interface 2060 may couple the computing machine 2000 to various input devices including mice, touch-screens, scanners, electronic digitizers, sensors, receivers, touchpads, trackballs, cameras, microphones, keyboards, any other pointing devices, or any combinations thereof
- the I/O interface 2060 may couple the computing machine 2000 to various output devices including video displays, speakers, printers, projectors, tactile feedback devices, automation control, robotic components, actuators, motors, fans, solenoids, valves, pumps, transmitters, signal emitters, lights, and so forth.
- the computing machine 2000 may operate in a networked environment using logical connections through the network interface 2070 to one or more other systems or computing machines across the network 2080 .
- the network 2080 may include wide area networks (WAN), local area networks (LAN), intranets, the Internet, wireless access networks, wired networks, mobile networks, telephone networks, optical networks, or combinations thereof.
- the network 2080 may be packet switched, circuit switched, of any topology, and may use any communication protocol. Communication links within the network 2080 may involve various digital or an analog communication media such as fiber optic cables, free-space optics, waveguides, electrical conductors, wireless links, antennas, radio-frequency communications, and so forth.
- the processor 2010 may be connected to the other elements of the computing machine 2000 or the various peripherals discussed herein through the system bus 2020 . It should be appreciated that the system bus 2020 may be within the processor 2010 , outside the processor 2010 , or both. According to some embodiments, any of the processor 2010 , the other elements of the computing machine 2000 , or the various peripherals discussed herein may be integrated into a single device such as a system on chip (“SOC”), system on package (“SOP”), or ASIC device.
- SOC system on chip
- SOP system on package
- ASIC application specific integrated circuit
- the users may be provided with an opportunity or option to control whether programs or features collect user information (e.g., information about a user's social network, social actions or activities, profession, a user's preferences, or a user's current location), or to control whether and/or how to receive content from the content server that may be more relevant to the user.
- user information e.g., information about a user's social network, social actions or activities, profession, a user's preferences, or a user's current location
- certain data may be treated in one or more ways before it is stored or used, so that personally identifiable information is removed.
- a user's identity may be treated so that no personally identifiable information can be determined for the user, or a user's geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a user cannot be determined.
- location information such as to a city, ZIP code, or state level
- the user may have control over how information is collected about the user and used by a content server.
- Embodiments may comprise a computer program that embodies the functions described and illustrated herein, wherein the computer program is implemented in a computer system that comprises instructions stored in a machine-readable medium and a processor that executes the instructions.
- the embodiments should not be construed as limited to any one set of computer program instructions.
- a skilled programmer would be able to write such a computer program to implement an embodiment of the disclosed embodiments based on the appended flow charts and associated description in the application text. Therefore, disclosure of a particular set of program code instructions is not considered necessary for an adequate understanding of how to make and use embodiments.
- the example embodiments described herein can be used with computer hardware and software that perform the methods and processing functions described herein.
- the systems, methods, and procedures described herein can be embodied in a programmable computer, computer-executable software, or digital circuitry.
- the software can be stored on computer-readable media.
- computer-readable media can include a floppy disk, RAM, ROM, hard disk, removable media, flash memory, memory stick, optical media, magneto-optical media, CD-ROM, etc.
- Digital circuitry can include integrated circuits, gate arrays, building block logic, field programmable gate arrays (FPGA), etc.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
- The present disclosure relates generally to an offer system, and more particularly to methods and systems that render an offer button or control on a merchant application displaying an offer indication.
- Merchants offer coupons or rebates as incentives for purchasing particular products. Traditionally, coupons are distributed in a paper format. A user redeems the coupon by taking the physical coupon to a merchant and purchasing a product that satisfies the terms of the coupon. Other forms of traditional coupons include rebates for purchasing particular products, wherein after purchasing a product that satisfies the terms of the rebate offer, the user fills out and returns required forms to request the rebate.
- More recently, merchants have offered electronic offers. Such offers may be linked to merchant loyalty cards, wherein a user enrolls in a merchant's loyalty program and receives a loyalty card. A user then associates certain discounts to the loyalty card and redeems these discounts by presenting the loyalty card (or some form of identifying information, such as a telephone number) and the method of payment to the merchant when purchasing the discounted products. Alternatively, coupons and offers are distributed through electronic media, forums, and social networks.
- With the advent of online marketplaces and shopping applications for smart devices, users can copy/paste, click a link, or otherwise manually enter offer codes when completing a transaction with a merchant to receive a discount associated with the code. The user is required to search for codes that apply to the merchant and/or the items in the user's shopping basket.
- In certain example aspects described herein, a method for rendering controls on merchant services comprises an offer created by a merchant system, manufacturer system, and/or alternative offer provider that is distributed to potential users. The user accesses a merchant service (for example, a merchant shopping application or an online shopping website, on a user device). An input indicating that the user has accessed the merchant service is communicated by the user device to an offer system that maintains an account for the user. The offer system receives the input and determines whether the user has an offer applicable to a purchase with the merchant. The offer system communicates a first offer to the user device, and the user device presents an offer control or button on a user interface of the user device. The offer button is rendered to indicate that the first offer is available for redemption by the user (for example, by displaying text of the offer, flashing a color, or displaying an animation).
- The user initiates an action on the merchant service (for example, selects an item to display more information, selects to put the item on a wish list or in a shopping basket, enters shipping information, or selects to pay with a digital wallet account). The user device communicates an indication of the action to the offer system, and the offer system determines if the user has a second offer applicable to a purchase with the merchant based on the action taken by the user. The offer system communicates the second offer to the user device, and the user device renders the offer button to indicate that the second offer is available for redemption by the user.
- Selection of the offer button applies the offer currently associated with the button to the transaction.
- These and other aspects, objects, features, and advantages of the example embodiments will become apparent to those having ordinary skill in the art upon consideration of the following detailed description of illustrated example embodiments.
-
FIG. 1 is a block diagram depicting an offer system, in accordance with certain example embodiments. -
FIG. 2 is a block flow diagram depicting a method for rendering an offer button, in accordance with certain example embodiments. -
FIG. 3 is a block flow diagram depicting a method for selecting offers, in accordance with certain example embodiments. -
FIG. 4 is a block flow diagram depicting a method for determining account statuses, in accordance with certain example embodiments. -
FIG. 5 is a block flow diagram depicting a method for monitoring interactions on merchant services, in accordance with certain example embodiments. -
FIG. 6 is a block diagram depicting a user interface displaying an offer button rendered on a merchant system shopping application to display an offer amount when a user accesses the merchant system shopping application, in accordance with certain example embodiments. -
FIG. 7 is a block diagram depicting a user interface displaying an offer button rendered on a merchant system shopping application product page to display an offer amount when a user selects an item to display more information, in accordance with certain example embodiments. -
FIG. 8 is a block diagram depicting a user interface displaying an offer button rendered on an online merchant system shopping basket to display an offer amount when a user pays with a digital wallet account, in accordance with certain example embodiments. -
FIG. 9 is a block diagram depicting a computer machine and module, in accordance with certain example embodiments. - The example embodiments described herein provide computer-implemented techniques for rendering an offer button or control on a merchant service displaying an offer indication. In an example embodiment, a user accesses a merchant application on a user device (for example, a merchant shopping application), and a control button is rendered on the merchant application that displays a value or other indication of an offer applicable to the user's transaction. For example, the user has an offer for free shipping for any purchase with Merchant A. When the user accesses Merchant A's shopping application, the control button is rendered to display the text “FREE SHIPPING.” In another example, the user has an offer for $10 off a $50 purchase with Merchant B. When the user selects an item that brings the shopping basket total over $50 while shopping Merchant B's electronic storefront, the control button is rendered to flash “$10 OFF.” In yet another example, the user has an offer for $5 off a purchase with any merchant when a digital wallet account managed by Offer System X is used to pay for a purchase. When the user accesses Merchant C's shopping application, the control button is rendered to display a yellow flashing button.
- An offer is created by a merchant system, manufacturer system, offer system, and/or alternative offer provider and distributed to potential users. In an example embodiment, the offer is a non-prepaid offer for which the user does not pay a fee to obtain (for example, a loyalty reward, a coupon, discounts, or other offer redeemable with a merchant, manufacturer, service provider, and/or provider of goods). In another example embodiment, the offer is a prepaid offer, and the user pays a predetermined price for the products associated with the offer.
- The offer comprises redemption terms that specify one or more of a redemption period, a purchase transaction minimum, and a product description applicable to the redemption of the offer. The offer also comprises discount information that specifies the cash value or loyalty point exchange rate of the offer. The offer system distributes the offer and may selectively send potential offers to the user. The offer system also may rank and prioritize the offers sent to a user.
- The user operates a user computing device to select one or more offers distributed by the offer system or by others through various distribution channels. In an example embodiment, the user selects the offer by clicking on it, pressing a button to “save” the offer, or by other suitable operation to indicate a desire to select and/or save the offer. In another example embodiment, the offer is a prepaid offer, and the user selects the offer by agreeing to purchase the offer. The user can download, select, scan, or otherwise capture the offer via the user computing device and import the offer specifics (such as merchant, product, value, redemption rules, and other specifics) to the user computing device. By selecting the offer, the user indicates a desire to save the offer in a user account maintained by the offer system.
- The user requests access to the merchant application. In an example embodiment, the user has previously logged into a transferable and recognizable global account that is associated with the merchant application. In this embodiment, the merchant application is associated with another web browser, so the user's login information from one page is transferred to the associated merchant application. In another example embodiment, the user has previously logged into the merchant application, and the user's login information was stored by the merchant application so that the user is not prompted to re-enter his login information when returning to the web page. In yet another example embodiment, the user logs into a system account so that when the user enters a web page, the user's registration information is known or provided to the merchant application. In another example embodiment, the user's registration information is known by the offer system, or the user is prompted to log into the offer system prior to entering the merchant application. In yet another example embodiment, the user has previously logged into an operating system level account and/or offer system account on the user device. In this embodiment, the merchant application is associated with the operating system level account and/or the offer system account.
- The merchant application loads on the user device, and an offer button is rendered on the merchant application. An offer control module initiates a request to authenticate the user's offer system account status. In an example embodiment, the offer control module functions as an intermediary between the merchant application and the offer system such that all relevant information is passed between the merchant application and the offer system through the offer control module. The offer control module communicates the request to the offer system, and the offer system determines the user's account status. In an example embodiment, information for determining whether the user has an offer applicable to a purchase with the merchant is communicated to the offer system through the offer control module. For example, the offer system may determine if the user has a global offer applicable to a purchase with the merchant or an offer provided by the offer system applicable to a purchase with any merchant. The offer system communicates the user's account status to the offer control module, and the offer button is rendered to display an indication of the offer applicable to a purchase with the merchant. For example, the offer button can display an offer amount, the color or style of the button can be changed to indicate an offer is applicable, the text displayed on the button can be changed, the button can flash or display animations, or other suitable indications of the available offer.
- The user initiates an action via the merchant application. For example, the user may select an item to be placed in or removed from the user's shopping basket, enter shipping information or payment information, add or remove an item to a wish list or registry, select an item to view reviews or otherwise request additional information about an item or group of items. For each action taken by the user, the offer control module receives a load event for the user's action performed on the merchant application and communicates the action to the offer system by communicating the load event information. In an example embodiment, the offer control module receives notification of any combination of a user action and/or a change in the current state of the user's shopping basket, wish list, or registry. The offer system determines if the user has an offer applicable to a purchase with the merchant based on the newly communicated information, and the offer system communicates the user's account status to the offer control module. The offer button is rendered to display an indication of the offer applicable to a purchase with the merchant based on the action taken by the user.
- The inventive functionality of the invention will be explained in more detail in the following description, read in conjunction with the figures illustrating the program flow.
- Turning now to the drawings, in which like numerals indicate like (but not necessarily identical) elements throughout the figures, example embodiments are described in detail.
-
FIG. 1 is a block diagram depicting an offer system, in accordance with certain example embodiments. As depicted inFIG. 1 , theexample operating environment 100 includes amerchant system 110, a user device 120, and anoffer system 130 that are configured to communicate with one another via one ormore networks 140. In another example embodiment, two or more of these systems (includingsystems 110, 120, and 130) or parts thereof are integrated into the same system. - Each
network 140 includes a wired or wireless telecommunication means by which network systems (includingsystems 110, 120, and 130) can communicate and exchange data. For example, eachnetwork 140 can be implemented as, or may be a part of, a storage area network (SAN), personal area network (PAN), a metropolitan area network (MAN), a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), a virtual private network (VPN), an intranet, an Internet, a mobile telephone network, a card network, Bluetooth, near field communication network (NFC), any form of standardized radio frequency, or any combination thereof, or any other appropriate architecture or system that facilitates the communication of signals, data, and/or messages (generally referred to as data). Throughout this specification, it should be understood that the terms “data” and “information” are used interchangeably herein to refer to text, images, audio, video, or any other form of information that can exist in a computer-based environment. - In an example embodiment, each network system (including
systems 110, 120, and 130) includes a device having a communication module capable of transmitting and receiving data over thenetwork 140. For example, each network system (includingsystems 110, 120, and 130) may comprise a server, personal computer, mobile device (for example, notebook computer, tablet computer, netbook computer, personal digital assistant (PDA), video game device, GPS locator device, cellular telephone, Smartphone, or other mobile device), a television with one or more processors embedded therein and/or coupled thereto, or other appropriate technology that includes or is coupled to a web browser or other application for communicating via thenetwork 140. In the example embodiment depicted inFIG. 1 , the network systems (includingsystems 110, 120, and 130) are operated by merchants, users 101, and an offer system operator, respectively. - The
merchant system 110 comprises at least one point of sale (“POS”) terminal 113 that is capable of processing a purchase transaction initiated by a user 101 (for example, a cash register). In an example embodiment, the merchant operates an online store and the user 101 indicates a desire to make a purchase by clicking a link or “checkout” button on a website. In another example embodiment, the merchant operates a merchant shopping application and the user 101 indicates a desire to make a purchase by clicking a link or “checkout” button on the application. In another example embodiment, the user device 120 is configured to perform the functions of thePOS terminal 113. In this example, the user 101 scans and/or pays for the transaction via the user device 120 without interacting with thePOS terminal 113. - In an example embodiment, the
merchant system 110 is capable of communicating with the user device 120 via anapplication 115. Theapplication 115 may be an integrated part of thePOS terminal 113 or a standalone hardware device (not shown), in accordance with other example embodiments. - In an example embodiment, the user device 120 may be a personal computer, mobile device (for example, notebook, computer, tablet computer, netbook computer, personal digital assistant (“PDA”), video game device, GPS locator device, cellular telephone, Smartphone or other mobile device), television, or other appropriate technology that includes or is coupled to a web server, or other suitable application for interacting with web page files. The user 101 can use the user device 120 to access a
merchant system 110 service (for example, a shopping website or shopping application) via auser interface 121 and anapplication 125. Theapplication 125 is a program, function, routine, applet or similar entity that exists on and performs its operations on the user device 120. For example, theapplication 125 may be one or more of a shopping application,merchant system 110 application, an Internet browser, a digital wallet application, a loyalty card application, another value-added application, auser interface 121 application, or other suitable application operating on the user device 120. In some embodiments, the user 101 must install anapplication 125 and/or make a feature selection on the user device 120 to obtain the benefits of the techniques described herein. - In an example embodiment, the
data storage unit 127 andapplication 125 may be implemented in a secure element or other secure memory (not shown) on the user device 120. In another example embodiment, thedata storage unit 127 may be a separate memory unit resident on the user device 120. An exampledata storage unit 127 enables storage of user contact details and offers for retrieval of auser offer system 130 account. In an example embodiment, thedata storage unit 127 can include any local or remote data storage structure accessible to the user device 120 suitable for storing information. In an example embodiment, thedata storage unit 127 stores encrypted information, such as HTML5 local storage. - An example user device 120 comprises an
offer control module 123. An exampleoffer control module 123 is an application plug-in corresponding to theoffer system 130. In another example embodiment, theoffer control module 123 is a browser plug-in corresponding to theoffer system 130. Theoffer control module 123 may be an integrated part of theapplication 125, an integrated part of theoffer system 130, or a stand along hardware device (not shown), in accordance with other example embodiments. The user 101 installs theoffer control module 123 on the user device 120 to facilitate auto-detection of actions onmerchant system 110 service, communicate actions to theoffer system 130, receive notification of offers available for redemption based on the actions, and render an offer control or button on theuser interface 121 to display an indication of the offer available for redemption. In an example embodiment, theapplication 125 communicates with theoffer control module 123. For example, theapplication 125 provides data to theoffer control module 123 to allow for the detection of specific load events, such as the loading of the merchant system's 110 shopping application, shopping basket, and product information. In an example embodiment, theoffer control module 123 comprises application programming interfaces (“APIs”) that allow themodule 123 to interact and communicate with theapplication 125. - An example
offer control module 123 communicates with theoffer system 130. For example, theoffer control module 123 transmits load event information to theoffer system 130 when action on themerchant system 110 shopping application is detected. Anexample offer system 130 comprises abutton rendering module 135 and adata storage unit 137. Theoffer system 130 maintains an account for the user 101. An example user 101 account comprises one or more offers. In an example embodiment, theoffer system 130 receives offers from themerchant system 110, a manufacturer system (not shown) and/or other offer creators and distributes the offers to users 101 for review and selection. In an example embodiment, theoffer system 130 creates the offers. In another example embodiment, theoffer system 130 may generate web-based user interfaces providing forms for themerchant system 110 to create offers. In an example embodiment, the user account maintained by theoffer system 130 comprises an electronic record having associated therewith one or more offers. - The user 101 may be automatically prompted with one or more offers based on the user's registration information immediately after completing the registration process. In another example embodiment, the user 101 may be prompted to register with the
offer system 130 when the user 101 clicks on or selects an offer. In an example embodiment, the user 101 may use asmart phone application 125 to register with theoffer system 130. In another example embodiment, the user 101 may register with theoffer system 130 through the user's digital wallet. - The offers arc distributed through selected distribution channels. In an example embodiment, the distribution channels comprise one or more of a display on cost per mille impression (“CPM”) or pay per click (“PPC”) impression, electronic correspondence distribution, SMS distribution, display based on geo-fencing, user device 120 map display, display in response to an Internet search, and display on an offer website. In another example embodiment, the offers are selectively presented to users based on the user's
offer system 130 account information. Themerchant system 110 specifies the details of the offer, by selecting the type of offer, the duration, the discount amount or percentage, redemption rules, and additional pertinent details when creating the offer. In an example embodiment, the offers arc distributed directly by themerchant system 110 or a third party withoutoffer system 130 involvement. - The selected offers are saved in the
data storage unit 137. In an example embodiment, thedata storage unit 137 can include any local or remote data storage structure accessible to theaccount management system 130 suitable for storing information. In an example embodiment, thedata storage unit 137 stores encrypted information, such as HTML5 local storage. - In an example embodiment, each offer will have one or more structured rules or conditions that the
offer system 130 can understand without human intervention. These rules include, but arc not limited to, a purchase threshold (for example, receive $10 back on a single purchase of more than $50 from the merchant), an aggregate purchase threshold (for example, receive $10 back from the next purchase from the merchant after the accumulated purchase at merchant has reached $1000), a minimum number of purchases from the merchant (for example, receive $10 back on your tenth purchase from the merchant), a time restriction (for example, receive $10 back for a lunch-time purchase), a location restriction (for example, receive $10 back from a purchase at a specified merchant location), a product or category restriction (for example, receive $10 back when you purchase a specific product or a product from a specific department), an expiration date, a limited number of redemptions, and pre-payment terms. In another example embodiment, the offer is a prepaid offer or other offer, and the redemption rules include an expiration date. In an example embodiment, the offers may include, but are not limited to, coupons, loyalty points, prepaid offers, rebates, and other forms of value added services. - In an example embodiment, these rules are set by the
merchant system 110 at the time the offer is created and reviewed by theoffer system 130 before the offer is applied. In an example embodiment, the user's 101 selected offer is not redeemable because the one or more structured rules or conditions arc not met (for example, the redemption term has expired, the offer has exceeded the maximum number of allotted redemptions, the purchase transaction amount is less than the minimum purchase transaction amount for the offer, or the description of the products purchased does not match the description of the products in the selected offer). In another example embodiment, the offer rules are reviewed by theoffer rendering module 135 or another module (not shown) on the user device 120. - The
button rendering module 135 receives the load event information for action taken on themerchant system 110 shopping application from theoffer control module 123 and retrieves applicable offers from the user's 101 offer system account. In an example embodiment, thebutton rendering module 135 receives load event information indicating that the user 101 has accessed themerchant system 110 shopping application. Thebutton rendering module 135 determines whether the user 101 has an offer applicable to any purchase with themerchant system 110. Once an offer is identified, thebutton rendering module 135 communicates the offer to theoffer control module 123. In an example embodiment, thebutton rendering module 135 communicates an indication of how the offer button will be rendered on theuser interface 121. In another example embodiment, thebutton rendering module 135 communicates the details of the offer to theoffer control module 123 and theoffer control module 123 determines how the offer button will be rendered. In yet another example embodiment, thebutton rendering module 135 is split across multiple system (forexample systems 130 and 120). In an example embodiment, a portion of thebutton rendering module 135 on theoffer system 130 may render part of the offer button and send the information to the portion of thebutton rendering module 135 on the user device 120. The portion of thebutton rendering module 135 on the user device combines the information received with additional details to render the offer button. In another example embodiment, thebutton rendering module 135 on the user device 120 sends information to thebutton rendering module 135 on theoffer system 130. -
FIG. 6 is a block diagram depicting auser interface 121 displaying anoffer button 610 rendered on amerchant system 110 shopping application to display an offer amount when the user 101 accesses themerchant system 110 shopping application, in accordance with certain example embodiments. As depicted inFIG. 6 , theexample operating environment 600 comprises a user device 120, auser interface 121, and anoffer button 610. Once the user 101 accesses themerchant system 110 shopping application, theoffer control module 123 communicates the action to theoffer system 130, and theoffer button 610 is rendered to display an offer capable of redemption based on the user 101 accessing themerchant system 110 shopping application. As depicted inFIG. 6 , theuser interface 121 displays the renderedoffer button 610. -
FIG. 7 is a block diagram depicting auser interface 121 displaying theoffer button 610 rendered on amerchant system 110 shopping application product page to display an offer amount when the user 101 selects an item to display more information, in accordance with certain example embodiments. As depicted inFIG. 7 , theexample operating environment 700 comprises a user device 120, auser interface 121, and anoffer button 610. Once the user 101 selects an item, theoffer control module 123 communicates the action to theoffer system 130, and theoffer button 610 is rendered to display an offer capable of redemption based on the user 101 selecting the item in themerchant system 110 shopping application. As depicted inFIG. 7 , theuser interface 121 displays the renderedoffer button 610. -
FIG. 8 is a block diagram depicting auser interface 121 displaying anoffer button 610 rendered on anonline merchant system 110 shopping basket to display an offer amount when the user 101 pays with a digital wallet account, in accordance with certain example embodiments. As depicted inFIG. 8 , theexample operating environment 800 comprises a user device 120, auser interface 121, and anoffer button 610. Once the user 101 indicates a desire to pay with the user's 101 digital wallet account, theoffer control module 123 communicates the action to theoffer system 130, and theoffer button 610 is rendered to display an offer capable of redemption based on the user 101 indicating a desire to pay with the user's 101 digital wallet account. As depicted inFIG. 8 , theuser interface 121 displays the renderedoffer button 610. - The components of the
example operating environments FIGS. 2-5 . The example methods ofFIGS. 2-5 may also be performed with other systems and in other environments. -
FIG. 2 is a block flow diagram depicting a method for rendering anoffer button 610, in accordance with certain example embodiments. Themethod 200 is described with reference to the components illustrated inFIG. 1 . - In
block 210, a user 101 selects one or more offers to be saved in the user's 101offer system 130 account. In an example embodiment, offers are created by themerchant system 110, the manufacturer system (not shown), offer system (130), or another third party system (not shown) and be distributed by theoffer system 130. In another example embodiment, the offers are created by theoffer system 130 or third party system (not shown) on behalf of themerchant system 110, the manufacturer system (not shown), and/or both systems. In another example embodiment, the offers are distributed by themerchant system 110 or a third party system (not shown). In another example embodiment, offers are selected and/or saved in the user's 101offer system 130 account without user 101 interaction (for example, theoffer system 130 transmits offers to be automatically saved in the user's 101offer system 130 account without the user 101 having to take any action). In another example embodiment, offers are redeemable by any user and not saved to the user's 101offer system 130 account. In yet another example embodiment, offers may be automatically saved to the user's 101offer system 130 account. - In an example embodiment, the offers may include, but are not limited to, coupons, loyalty points, prepaid offers, rebates, and other forms of value added services. In this embodiment, the offers may comprise merchant offers, manufacturer offers, third party offers, and other types of offers. In an example embodiment, the offers are for a specific product or group of products. For example, the offer may be for $1.00 off Brand A laundry detergent or $1.00 off a Manufacturer X product. These offers may be redeemed at any merchant that accepts manufacturer coupons. In an alternative example embodiment, the offers arc for a particular merchant. For example, the offer may be for $10 off a $50 purchase at Merchant Q. In an alternative example embodiment, the offers comprise loyalty reward point redemptions. For example, the offer may be for 10 loyalty points for every purchase of a Manufacturer X product.
- In an example embodiment, the offers comprise details on how the offer can be redeemed and redemption rules. For example, the offer may comprise the identification of the item to be purchased, such as product title, brand information, universal product code (“UPC”), a stock keeping unit (“SKU”), a Japanese article number (“JAN”), a world product code (“WPC”), International Standard Book Number (“ISBN”), European Article Number (“EAN”), color, size, and other relevant sale information.
- In an example embodiment, each offer will have one or more rules or conditions associated with it. These rule include, but are not limited to a purchase threshold (for example, receive $1.00 off Brand Z laundry detergent that is regularly priced $5.00 or more, or $10 single purchase of more than $50 from Merchant X), an aggregate purchase threshold (for example, receive $10 off next purchase from a merchant after the accumulated purchase of Manufacturer B products has reached $100), a minimum number of purchases of an item (for example, receive $10 off your tenth purchase of Brand Z items), a time restriction (for example, receive $10 off a lunch-time purchase), a maximum discount (for example, the
merchant system 110 sets $10 off as a maximum and user A gets $1 off, while user B gets $2 off), and/or a location restriction (for example, receive $10 off a purchase at a specified location). In an example embodiment, these rules are set by themerchant system 110 at the time the offer is created and reviewed before the offer is applied. In another example embodiment, the offer is a prepaid offer and the redemption rules may include an expiration date. In yet another example embodiment, each offer will have no rules or conditions associated with it. For example, an offer for $10 off any purchase with any merchant. The offer content and discount may be personalized to a particular user. For example, user A may receive a 5% off coupon for a particular product or service while user B may receive a 10% off coupon for the same product or service. Theoffer system 130 may distribute the offers and selectively send potential offers to the user 101. Theoffer system 130 may determine which users 101 qualify for a particular offer. Theoffer system 130 may also rank and prioritize the offers sent to a user. - In an example embodiment, the
merchant system 110 creates the offer outside of theoffer system 130. In another example embodiment, theoffer system 130 may generate web-based user interfaces providing forms for themerchant system 110 to create offers. - In an example embodiment, the
offer system 130 receives the offers and redemption terms transmitted by themerchant system 110. In an example embodiment, the offers can be received electronically on a regular basis (for example, daily/weekly), as part of a pull from theoffer system 130, and/or as part of a push from themerchant system 110 to theoffer system 130. In this embodiment, the pull from theoffer system 130 and/or the push from themerchant system 110 can be triggered by a time condition, non-time condition (for example a new offer is available or a location-based condition), or a combination of multiple conditions (for example, between the time of 2 PM and 5 PM for all users in New York). - In an example embodiment, the
offer system 130 saves the offer and redemption terms in thedata storage unit 137 thereby allowing theoffer system 130 to identify the conditions under which the offer is redeemable. - In an example embodiment, the
offer system 130 distributes the offers. In an example embodiment, theoffer system 130 distributes offers through selected network channels. For example, theoffer system 130 communicates the offers via thenetwork 140 for presentation to end users 101 on corresponding user devices 120. The offers can be monitored for interaction by the users 101 in accordance with the various network channels selected by the merchant. In an example embodiment, the network channels comprise display on cost per mille impression (“CPM”), pay per click (“PPC”), cost per action (“CPA”), electronic correspondence, and offers near me. Themerchant system 110 may select multiple methods of distribution for the same offer. Themerchant system 110 may also create multiple offers to be distributed through the same or different network channels. Themerchant system 110 specifies the details of the offer, by selecting the type of offer, the duration, the discount amount or percentage, redemption rules, and additional pertinent details when creating the offer. - In an example embodiment, the user 101 reviews the offers and selects one or more offers to be saved to the user's 101
offer system 130 account. The method for selecting one or more offers is described in more detail hereinafter with reference to the methods described inFIG. 3 . -
FIG. 3 is a block flow diagram depicting amethod 210 for selecting one or more offers, in accordance with certain example embodiments, as referenced inblock 210. Themethod 210 is described with reference to the components illustrated inFIG. 1 . - In
block 310, the user 101 reviews the offers distributed by theoffer system 130. In an example embodiment, the user device 120 displays the offer in a web browser for the user 101 to review. In an example embodiment, the offer is displayed in anoffer application 125 resident on the user device 120. In another example embodiment, the offer is displayed in response to an Internet search, in an electronic message or text message, or as a banner or other advertisement in an Internet browser. - In
block 320, the user 101 selects the offer. In an example embodiment, the user 101 reviews and selects one or more offers. The user 101 select, prepays, agrees to pay for, prints, saves, and/or interacts with the offer. In an example embodiment, the user 101 selects one or more offers distributed by theoffer system 130 or by others through the various distribution channels. In an example embodiment, the user 101 selects the offer by clicking on it, pressing a button to “save” the offer, pressing a button to “pay for” the offer, or by other suitable means to indicate a desire to select, pay, and/or save the offer. - The user 101 can download, select, scan, or otherwise capture the offer and import the offer specifics (such as merchant, product, value, redemption rules, and other specifics) to the user device 120. In an example embodiment, the user 101 may register with a merchant system's 110 loyalty rewards program, and offers generated from the loyalty rewards program can be associated with the user device 120. Additionally, the
merchant system 110 may implement its loyalty rewards program via theoffer system 130 such that each purchase by the user 101 will increment the loyalty rewards. When the user 101 has accumulated sufficient loyalty rewards to qualify for a loyalty rewards offer, the loyalty rewards offer is saved on the user device 120 and then applied when a purchase of the user 101 from the merchant meets the redemption rules for the loyalty rewards offer. - In
block 330, theoffer system 130 receives a notification that the user 101 has selected the offer and determines whether the user 101 has anoffer system 130 account. In an example embodiment, the user 101 is prompted to log into or create anoffer system 130 account when the offer is selected and/or paid for. In another example embodiment, the user 101 previously logged into theoffer system 130 account and is otherwise automatically logged into the account. In another example embodiment, the user's 101 login credentials are shared across other accounts (for example, social networking websites and user device 120 accounts) and the user 101 is automatically logged into theoffer system 130 account using the shared login credentials. - If the user 101 does not have an
offer system 130 account, themethod 210 proceeds to block 340 and the user 101 is prompted to create anoffer system 130 account. In an example, the user 101 is prompted to register with theoffer system 130 when the user 101 clicks on or selects the offer. In another example embodiment, the user 101 is prompted to register with theoffer system 130 when the user 101 pays for the offer (not pictured inFIG. 3 ). In another example embodiment, the user 101 is not required to log in or register for anoffer system 130 account. In this embodiment, the methods described herein are performed for a “guest” user. - In an example embodiment, the user 101 may create the
offer system 130 account at any time prior to or while selecting, saving, or paying for the offer. In an example embodiment, the user 101 accesses theoffer system 130 via a website and thenetwork 140. In an example embodiment, the user 101 submits registration information to theoffer system 130, including, but not limited to, name, address, phone number, e-mail address, and information for one or more registered financial card accounts, including bank account debit cards, credit cards, a loyalty rewards account card, or other type of account that can be used to make a purchase (for example, card type, card number, expiration date, security code, and billing address). In an example embodiment, the user'soffer system 130 account information is saved in thedata storage unit 137 and is accessible to thebutton rendering module 135. In another example embodiment, the user 101 is not required to log into and/or maintain anoffer system 130 account. In this embodiment, theoffer system 130 maintains offers that may be redeemed by any user. - In an example embodiment, the
offer system 130 account is a digital wallet account maintained by theoffer system 130 or a third party system. In another example embodiment, the user 101 may use asmart phone application 125 to register with theoffer system 130. In yet another example embodiment, the user 101 accesses theoffer system 130 via asmart phone application 125. - From
block 340, themethod 210 proceeds to block 360 inFIG. 3 . - Returning to block 330 in
FIG. 3 , if the user 101 has anoffer system 130 account, the user 101 logs into the account inblock 350. In an example embodiment, the user'soffer system 130 account information is saved in the user device 120 and the user 101 is automatically signed into the user'soffer system 130 account. In another example embodiment, the user 101 is automatically logged into theoffer system 130 account using shared login credentials. In yet another example embodiment, the user 101 was previously logged into theoffer system 130 account and is not required to login. - In
block 360, the selected offer is saved in the user's 101offer system 130 account. In an example embodiment, the offer is saved in thedata storage unit 137 and accessible by thebutton rendering module 135. In an example embodiment, by selecting the offer, the user 101 indicates a desire to save the offer in the user's 101 account maintained by theoffer system 130. In another example embodiment, the user 101 can download, select, scan, or otherwise capture the offer via the user device 120 and import the offer specifics (such as merchant, product, value, redemption rules, and other specifics) to the user device 120. - The
method 210 then proceeds to block 220 inFIG. 2 . - Returning to
FIG. 2 , inblock 220, the user requests access to amerchant application 125. In an example embodiment, themerchant application 125 is a web page, a merchant shopping service, or a stand-alone application 125 and the user 101 requests access by opening the service, logging in, or otherwise initiating the service. - In
block 230, the user's 101offer system 130 account status is determined. In an example embodiment, the user 101 is logged into theoffer system 130 to perform the functions described herein. In this embodiment, any offers saved in the user's 101offer system 130 account can be reviewed and selected for rendering on the control button. In another example embodiment, the user 101 is prompted to log into the user's 101offer system 130 account. In an example embodiment, determining the user's 101offer system 130 account status comprises determining whether the user 101 has an offer applicable to a transaction with the merchant (for example, whether the redemption terms of the offer permit the offer to be redeemed with any purchase with the merchant system 110). The method for determining the user's 101offer system 130 account status is described in more detail hereinafter with reference to the methods described inFIG. 4 . -
FIG. 4 is a block flow diagram depicting amethod 230 for determining the user's 101offer system 130 account status, in accordance with certain example embodiments, as referenced inblock 230. Themethod 230 is described with reference to the components illustrated inFIG. 1 . - In
block 410, theoffer control module 123 initiates authentication of the user's 101offer system 130 account. In an example embodiment, the user has previously logged into a transferable and recognizable global account that is associated with themerchant application 125. In this embodiment, themerchant application 125 is associated with another web browser, so the user's login information from one page is transferred to the associatedmerchant application 125. In another example embodiment, the user has previously logged into themerchant application 125, and the user's login information was stored by themerchant application 125 so that the user is not prompted to re-enter his login information when returning to the web page. In yet another example embodiment, the user logs into a system account so that when the user enters a web page or application, the user's registration information is known or provided to themerchant application 125. In another example embodiment, the user's registration information is known by theoffer system 130, or the user is prompted to log into theoffer system 130 prior to entering themerchant application 125. In an example embodiment, the user 101 is required to log into theoffer system 130 account before the methods described herein may be performed. - In an example embodiment, the
offer control module 123 monitors for load event. In an example embodiment, theoffer control module 123 receives an indication whenever a webpage or anapplication 125 page is loaded on the user device 120. In another example embodiment, theoffer control module 123 continuously monitors or periodically monitors the user device to determine when a load event occurs. - In
block 420, theoffer control module 123 communicates a request to authenticate the user's 101offer system 130 account to theoffer system 130. In an example embodiment, the request is communicated to thebutton rendering module 135 resident on theoffer system 130. In an example embodiment, the request comprises an identity of themerchant system 110 and an identity of the user 101. In another example embodiment, theoffer control module 123 communicates these details in response to a request by theoffer system 130 or in multiple communications to theoffer system 130. - In
block 430, theoffer system 130 receives the request to authenticate the user's 101offer system 130 account. - In
block 440, theoffer system 130 determines the user's 101 account status. In an example embodiment, thebutton rendering module 135 cross-references the identity of themerchant system 110 transmitted inblock 420 with the offer saved in thedata storage unit 137. In an example embodiment, one or more of the offers are applicable to a transaction with aspecific merchant system 110, as defined by the terms and conditions of the offer redemption code. Thebutton rendering module 135 reviews the terms and conditions of the offers and determines whether the offers are applicable to a transaction with themerchant system 110. - In an example embodiment, the
button rendering module 135 determines which of the offers applicable to a transaction with themerchant system 110 can be applied. In an example embodiment, each offer will have one or more structured rules or conditions that theoffer system 130 can understand without human intervention. These rules include, but are not limited to, a merchant identification (for example, $10 any purchase with Merchant X), a purchase threshold (for example, receive $10 back on a single purchase of more than $50 from the merchant system 110), a minimum number of purchases from the merchant (for example, receive $10 back on your tenth purchase from the merchant system 110), a time restriction (for example, receive $10 back for a purchase on Wednesday), a product or category restriction (for example, receive $10 back when you purchase a specific product or a product from a specific department), an expiration date, a product limitation, a user 101 limitation, and a limited number of redemptions. In an example embodiment, these rules are set bymerchant system 110 at the time the redemption offer is created and reviewed by theoffer system 130 before the offer is transmitted to theoffer control module 123 and/or before offer redemption is applied. - In an example embodiment, the
button rendering module 135 reviews the terms of the offer and the information from the request for the user's 101offer system 130 account status to determine which of the offers are applicable to a transaction with themerchant system 110. For example, thebutton rendering module 135 may determine if the user 101 has a global offer applicable to a purchase with themerchant system 110 or an offer provided by theoffer system 130 applicable to a purchase with anymerchant system 110. In an example embodiment, a global offer is an offer that that may be applied to any purchase with a merchant system, for example 10% all items for sale by Merchant System A. - In another example embodiment, the
button rendering module 135 reviews the redemption terms of the offer and provides recommendations for offers that may be applicable if the user 101 performs additional action on themerchant application 125. - In
block 450, theoffer system 130 communicates the user's 101 account status to theoffer control module 123. In an example embodiment, thebutton rendering module 135 has identified an offer applicable to a transaction with themerchant system 110 inblock 440 and theoffer system 130 communicates the offer to theoffer control module 123. In another example embodiment, theoffer system 130 was unable to identify the user's 101offer system 130 account and theoffer system 130 communicates a request to theoffer control module 123 to prompt the user 101 to log in. In another example embodiment, thebutton rendering module 135 was unable to identify an offer application to a transaction with the merchant without receiving additional information such as items selected, shipping information, and payment account information. In this embodiment, theoffer system 130 communicates a request for more information to the offer control module. In another example embodiment, theoffer system 130 communicates an affirmative account response to theoffer control module 123. In another example embodiment, the user 101 is not required to maintain or log into anoffer system 130 account. In this embodiment, theoffer system 130 will respond with offers available to any user 101, including those who have not logged in or created anoffer system 130 account. - In
block 460, theoffer control module 123 receives the user's 101offer system 130 account status from theoffer system 130. - The
method 230 then proceeds to block 240 inFIG. 2 . - Returning to
FIG. 2 , inblock 240, theoffer control module 123 determines whether the user 101 is logged into theoffer system 130. In an example embodiment, theoffer control module 123 receives an indication from theoffer system 130 inblock 460 inFIG. 4 . In another example embodiment, block 230 may be performed at any time prior to the rendering of an offer on the control button. - If the user 101 is not logged into the
offer system 130, themethod 200 proceeds to block 245. Inblock 245, the user 101 is prompted to log into theoffer system 130. In another example embodiment, the user 101 is not required to log into and/or maintain anoffer system 130 account. In this embodiment, theoffer system 130 maintains offers that may be redeemed by any user and theoffer button 610 is rendered for the user 101 as a “guest” user. - From
block 245, themethod 200 proceeds to block 250. - Returning to block 240, if the user 101 is logged into the
offer system 130, themethod 200 proceeds to block 250. - In
block 250, themerchant application 125 loads on the user device 120. - In
block 260, theoffer button 610 is rendered on themerchant application 125. In an example embodiment, theoffer button 610 is a button, link, or other control, such that selection of the button comprises the activation of the matter the button controls. For example, selection of the button on the web page allows the user 101 to activate a further action controlled by the button. The button is displayed as available or active for the user 101 to press or otherwise select the button to attempt to access the content controlled by the button. In another example embodiment, the button is displayed as a URL link in the text displayed on theuser interface 121 of themerchant application 125. The link is displayed a selectable by the user 101 so that the user may click, press or otherwise select the link to access the content controlled by the link. In another example embodiment, the button is a tab displayed on theuser interface 121 of themerchant application 125 or website. The tab is displayed as selectable by the user 101 so that the user may click, press or otherwise select the tab to access content controlled by the tab. - In an example embodiment, the
offer button 610 is rendered to display the offer available for redemption by the user 101 for a transaction with themerchant system 110. For example, theoffer button 610 can display an offer amount, the color or style of the button can be changed to indicate an offer is applicable, the text displayed on the button can be changed, the button can flash or display animations, or other suitable indications of the available offer. - In another example embodiment, the
offer button 610 is rendered to display an indication that an offer is available if the user 101 performs an additional action. For example, theoffer button 610 may be rendered to display an indication that the user 101 has an offer for $10 off a $50 purchase or an indication that if the user 101 selection $50 worth of goods/services, the $10 offer may be applied. - In
block 270, theoffer control module 123 monitors the user's 101 interaction with themerchant application 125 to determine whether a second or subsequent offer is available for redemption. In an example embodiment, theoffer control module 123 receives an indication whenever a page is loaded in themerchant application 125 on the user device 120. In another example embodiment, theoffer control module 123 continuously monitors or periodically monitors the application to determine when an action is taken. In another example embodiment, the current state of the user's shopping cart, registry, or wish list is monitored. In this embodiment, any changes in the current state (for example, adding or removing items) are determined. In another example embodiment, theoffer control module 123 monitors the user's 101 interaction with themerchant application 125 and the current state of the user's shopping cart, registry, or wish list. The method for monitoring the user's 101 interaction with themerchant application 125 is described in more detail hereinafter with reference to the methods described inFIG. 5 . -
FIG. 5 is a block flow diagram depicting amethod 270 for monitoring the user's 101 interaction with themerchant application 125, in accordance with certain example embodiments, as referenced inblock 270. Themethod 270 is described with reference to the components illustrated inFIG. 1 . - In
block 510, the user 101 interacts with the merchant application. In an example embodiment, the user 101 selects an item to view more information, to view reviews, to view comparable products, to add to a wish list/registry, to add to a shopping basket, or to perform additional actions. In another example embodiment, the user 101 has previously selected items to add to a shopping basket and the user 101 selects to pay with a digital wallet account or specified financial account. In yet another example embodiment, the user 101 has entered shipping information, deleted an item from the shopping basket, conducted a search, or performed any action on the merchant application. - In
block 520, theoffer control module 123 receives a load event for the user 101 action performed on the merchant application. In an example embodiment, the load event for the user 101 action comprises an indication of the type of action taken (for example, the user 101 has selected Item A to read additional information about the product). In another example embodiment, the load event comprises an identification of themerchant system 110 and an identification of the user 101. - In
block 530, theoffer control module 123 transmits the load information and a query to theoffer system 130 for offers available based on the action performed by the user 101 on the merchant application. In an example embodiment, the information is communicated to thebutton rendering module 135 resident on theoffer system 130. In an example embodiment, the request comprises an identity of themerchant system 110 and an identity of the user 101. In another example embodiment, theoffer control module 123 communicates these details in response to a request by theoffer system 130 or in multiple communications to theoffer system 130. In an example embodiment, the request comprises a relevant application state (for example, the contents of the user's 101 shopping cart). In yet another example embodiment, the request comprises incremental actions or differences from the last application state communicated to theoffer system 130. - In
block 540, theoffer system 130 receives the load event information and the query for available offers. - In
block 550, theoffer system 130 identifies the user's 101offer system 130 account. In an example embodiment, thebutton rendering module 135 references the identity of the user 101 transmitted inblocks 530 and/or 420. In an example embodiment, theoffer system 130 reviews or searches user accounts and identifies the account associated with the identity of the user 101. In another example embodiment, theoffer system 130 reviews or searches records maintained by theoffer system 130 and identifies records associated with the identity of the user 101. In another example embodiment, the user 101 is not logged into anoffer system 130 account and theoffer system 130 identifies the user 101 as a “guest.” In yet another example embodiment, the user 101 is logged intomultiple offer system 130 accounts and theoffer system 130 determines which account comprises the best available offers for the user 101. - In
block 560, theoffer system 130 reads the offers available for redemption by the user 101 based on the load event information. In an example embodiment, thebutton rendering module 135 reviews the terms and conditions of the offers and determines whether the offers are applicable based on the action taken by the user 101 in the merchant application. For example, if the user 101 selected Product A to review additional information, theoffer system 130 will determine whether the user 101 has an offer applicable to a purchase of Product A. In another example, if the user 101 has added Product A to the user's 101 shopping basket, theoffer system 130 will determine whether the user 101 has an offer applicable to the purchase of Product A or a purchase with themerchant system 110 based on the total sales amount of the shopping basket (for example, $10 off a $50 purchase). - In an example embodiment, the
offer system 130 is able to identify items in the shopping basket and/or items viewed on the merchant application. In an example embodiment, thebutton rendering module 135 identifies items from the load event information transmitted by theoffer control module 123. In another example embodiment, theoffer control module 123 may capture the load event for a particular item on the merchant application and then a load event for the shopping basket. Theoffer control module 123 may transmit the product identification information captured from the item page on the merchant application page with the load event information for the shopping basket. In another example embodiment, theoffer control module 123 reviews the user's 101 browser history or the load events for items viewed by the user 101 and transmit information regarding the items browsed with the load event information. Thebutton rendering module 135 may then determine and identity of items based on the browser history. In another example embodiment, theoffer control module 123 may use smart logic to otherwise determine the identity of the items and transmit the identity with the load event information. - In an example embodiment, the
button rendering module 135 determines if offer redemption codes are applicable to the action taken by the user 101. In an example embodiment, thebutton rendering module 135 cross-references the action taken by the user 101 or identity of the items with the offers saved in thedata storage unit 137. In an example embodiment, one or more of the offers are applicable to a specific item, as defined by the terms and conditions of the offer. Thebutton rendering module 135 reviews the terms and conditions of the offers and determines whether the offers are applicable to the item. - In an example embodiment, each offer will have one or more structured rules or conditions that the
offer system 130 can understand without human intervention. These rules include, but are not limited to, a purchase threshold (for example, receive $10 back on a single purchase of more than $50 from the merchant system 110), a minimum number of purchases from the merchant (for example, receive $10 back on your tenth purchase from the merchant system 110), a time restriction (for example, receive $10 back for a purchase on Wednesday), a product or category restriction (for example, receive $10 back when you purchase a specific product or a product from a specific department), an expiration date, a product limitation, a user 101 limitation, and a limited number of redemptions. In an example embodiment, these rules are set bymerchant system 110 at the time the redemption offer is created and reviewed by theoffer system 130 before the offer is transmitted or applied. In another example embodiment, each offer will have no rules or conditions associated with it. For example, an offer for $10 off any purchase with any merchant. - Tn an example embodiment, the
offer control module 123 reviews the terms of the offer and the load event information to determine which of the offers is applicable to the action taken by the user 101. In this embodiment, theoffer system 130 transmits the offers available for redemption by the user 101 to theoffer control module 123, and theoffer control module 123 reviews the terms of the offer to determine which of the offers is applicable to the action taken by the user 101. In an example embodiment, theoffer control module 123 makes performs the function of theoffer system 130 previously described. - In another example embodiment, the
offer control module 123 reviews the redemption terms of the offer and provides recommendations for offers that may be applicable if the user 101 performs an additional action (for example, adds $5 more to the user's 101 shopping basket). In this embodiment, theoffer system 130 transmits the offers available for redemption by the user 101 to theoffer control module 123, and theoffer control module 123 reviews the terms of the offer to determine which of the offers is applicable to the action taken by the user 101. Theoffer control module 123 also determines which offers, if redeemed, would provide the user 101 with the greatest savings. Theoffer control module 123 determines what additional action must be taken by the user 101 to satisfy the terms of the offer that would provide the user 102 with the greatest savings and notifies the user 101 of the additional action required. - Tn block 570, the
offer system 130 communicates the available offers to theoffer control module 123. In an example embodiment, theoffer system 130 transmits the offer that provides the greatest savings to the user 101. In another example embodiment, theoffer system 130 transmits multiple offers and provides an indication of the best savings for the user 101. In yet another example embodiment, theoffer control module 123 determines which offer provides the greatest savings to the user 101. - In
block 580, theoffer control module 123 receives the offers. - The
method 270 then proceeds to block 280 inFIG. 2 . - Returning to
FIG. 2 , inblock 280, theoffer button 610 is rendered to display an offer value applicable to the current state of the user's 101 interaction with themerchant application 125. For example, if the user 101 has selected an item to review and the user 101 has a $5 off offer for that item, theoffer button 610 is rendered to display an indication of the $5 off offer. - In an example embodiment, the
offer button 610 can display an offer amount, the color or style of the button can be changed to indicate an offer is applicable, the text displayed on the button can be changed, the button can flash or display animations, or other suitable indications of the available offer. In an example embodiment, the text displayed corresponds to a description or amount of the offer received from theoffer system 130 inblock 580 ofFIG. 5 . In this embodiment, theoffer button 610 is tied to the corresponding offer, such that if the user 101 clicks on the offer button 601, the corresponding offer is applied to the user's 101 transaction with the merchant, so long as the transaction continues to meet the terms of the offer. - In another example embodiment, the
offer button 610 is rendered to display an indication that an offer is available if the user 101 performs an additional action. For example, theoffer button 610 may be rendered to display an indication that the user 101 has an offer for $10 off a $50 purchase or an indication that if the user 101 selection $50 worth of goods/services, the $10 offer may be applied. - In an example embodiment, the
offer button 610 is tied to the corresponding offer. In this embodiment, the offer cannot be applied until the user 101 takes additional action to fulfill the terms of the offer. In an example embodiment, if the user 101 clicks on or otherwise selects theoffer button 610 before performing the additional action required to fulfill the terms of the offer, the offer will not be applied to the transaction. In another example embodiment, the user 101 will be notified that the offer cannot yet be applied when theoffer button 610 is selected. For example, the text of theoffer button 610 may be changed to notify the user 101 that the offer cannot yet be applied, a pop-up window or other alert may be displayed on theuser interface 121 to notify the user 101, or theoffer button 610 may be grayed out or otherwise unselectable until the user 101 takes the additional action required to fulfill the terms of the offer. - In an example embodiment, once the redemption terms of the offer are satisfied and the user 101 selects the
offer button 610 to apply the offer to the transaction, theoffer control module 123 applies the offer to the transaction with the merchant. In an example embodiment, the complete terms of the offer were transmitted by theoffer system 130 to theoffer control module 123 inblock 570 ofFIG. 5 . In this embodiment, theoffer control module 123 notifies themerchant system 110 of the offer and it is applied to the transaction with the merchant. - In another example embodiment, the user 101 is not required to press or otherwise select the
offer button 610 to apply the offer. In this embodiment, theoffer control module 123 automatically applies the offer, once the terms of the offer are satisfied without the user 101 having to indicate a desire to apply the offer. - In yet another example embodiment, once the redemption terms of the offer are satisfied, the
offer control module 123 notifies theoffer system 130, and theoffer system 130 communicates the terms of the offer to themerchant system 110 to redeem the offer. - In
block 290, the user 101 initiates further action on themerchant application 125 and the methods described inblocks -
FIG. 9 depicts acomputing machine 2000 and amodule 2050 in accordance with certain example embodiments. Thecomputing machine 2000 may correspond to any of the various computers, servers, mobile devices, embedded systems, or computing systems presented herein. Themodule 2050 may comprise one or more hardware or software elements configured to facilitate thecomputing machine 2000 in performing the various methods and processing functions presented herein. Thecomputing machine 2000 may include various internal or attached components such as aprocessor 2010,system bus 2020,system memory 2030,storage media 2040, input/output interface 2060, and anetwork interface 2070 for communicating with anetwork 2080. - The
computing machine 2000 may be implemented as a conventional computer system, an embedded controller, a laptop, a server, a mobile device, a smartphone, a set-top box, a kiosk, a vehicular information system, one more processors associated with a television, a customized machine, any other hardware platform, or any combination or multiplicity thereof Thecomputing machine 2000 may be a distributed system configured to function using multiple computing machines interconnected via a data network or bus system. - The
processor 2010 may be configured to execute code or instructions to perform the operations and functionality described herein, manage request flow and address mappings, and to perform calculations and generate commands. Theprocessor 2010 may be configured to monitor and control the operation of the components in thecomputing machine 2000. Theprocessor 2010 may be a general purpose processor, a processor core, a multiprocessor, a reconfigurable processor, a microcontroller, a digital signal processor (“DSP”), an application specific integrated circuit (“ASIC”), a graphics processing unit (“GPU”), a field programmable gate array (“FPGA”), a programmable logic device (“PLD”), a controller, a state machine, gated logic, discrete hardware components, any other processing unit, or any combination or multiplicity thereof. Theprocessor 2010 may be a single processing unit, multiple processing units, a single processing core, multiple processing cores, special purpose processing cores, co-processors, or any combination thereof. According to certain embodiments, theprocessor 2010 along with other components of thecomputing machine 2000 may be a virtualized computing machine executing within one or more other computing machines. - The
system memory 2030 may include non-volatile memories such as read-only memory (“ROM”), programmable read-only memory (“PROM”), erasable programmable read-only memory (“EPROM”), flash memory, or any other device capable of storing program instructions or data with or without applied power. Thesystem memory 2030 may also include volatile memories such as random access memory (“RAM”), static random access memory (“SRAM”), dynamic random access memory (“DRAM”), and synchronous dynamic random access memory (“SDRAM”). Other types of RAM also may be used to implement thesystem memory 2030. Thesystem memory 2030 may be implemented using a single memory module or multiple memory modules. While thesystem memory 2030 is depicted as being part of thecomputing machine 2000, one skilled in the art will recognize that thesystem memory 2030 may be separate from thecomputing machine 2000 without departing from the scope of the subject technology. It should also be appreciated that thesystem memory 2030 may include, or operate in conjunction with, a non-volatile storage device such as thestorage media 2040. - The
storage media 2040 may include a hard disk, a floppy disk, a compact disc read only memory (“CD-ROM”), a digital versatile disc (“DVD”), a Blu-ray disc, a magnetic tape, a flash memory, other non-volatile memory device, a solid state drive (“SSD”), any magnetic storage device, any optical storage device, any electrical storage device, any semiconductor storage device, any physical-based storage device, any other data storage device, or any combination or multiplicity thereof. Thestorage media 2040 may store one or more operating systems, application programs and program modules such asmodule 2050, data, or any other information. Thestorage media 2040 may be part of, or connected to, thecomputing machine 2000. Thestorage media 2040 may also be part of one or more other computing machines that are in communication with thecomputing machine 2000 such as servers, database servers, cloud storage, network attached storage, and so forth. - The
module 2050 may comprise one or more hardware or software elements configured to facilitate thecomputing machine 2000 with performing the various methods and processing functions presented herein. Themodule 2050 may include one or more sequences of instructions stored as software or firmware in association with thesystem memory 2030, thestorage media 2040, or both. Thestorage media 2040 may therefore represent examples of machine or computer readable media on which instructions or code may be stored for execution by theprocessor 2010. Machine or computer readable media may generally refer to any medium or media used to provide instructions to theprocessor 2010. Such machine or computer readable media associated with themodule 2050 may comprise a computer software product. It should be appreciated that a computer software product comprising themodule 2050 may also be associated with one or more processes or methods for delivering themodule 2050 to thecomputing machine 2000 via thenetwork 2080, any signal-bearing medium, or any other communication or delivery technology. Themodule 2050 may also comprise hardware circuits or information for configuring hardware circuits such as microcode or configuration information for an FPGA or other PLD. - The input/output (“I/O”)
interface 2060 may be configured to couple to one or more external devices, to receive data from the one or more external devices, and to send data to the one or more external devices. Such external devices along with the various internal devices may also be known as peripheral devices. The I/O interface 2060 may include both electrical and physical connections for operably coupling the various peripheral devices to thecomputing machine 2000 or theprocessor 2010. The I/O interface 2060 may be configured to communicate data, addresses, and control signals between the peripheral devices, thecomputing machine 2000, or theprocessor 2010. The I/O interface 2060 may be configured to implement any standard interface, such as small computer system interface (“SCSI”), serial-attached SCSI (“SAS”), fiber channel, peripheral component interconnect (“PCI”), PCI express (PCIe), serial bus, parallel bus, advanced technology attached (“ATA”), serial ATA (“SATA”), universal serial bus (“USB”), Thunderbolt, FireWire, various video buses, and the like. The I/O interface 2060 may be configured to implement only one interface or bus technology. Alternatively, the I/O interface 2060 may be configured to implement multiple interfaces or bus technologies. The I/O interface 2060 may be configured as part of, all of, or to operate in conjunction with, thesystem bus 2020. The I/O interface 2060 may include one or more buffers for buffering transmissions between one or more external devices, internal devices, thecomputing machine 2000, or theprocessor 2010. - The I/
O interface 2060 may couple thecomputing machine 2000 to various input devices including mice, touch-screens, scanners, electronic digitizers, sensors, receivers, touchpads, trackballs, cameras, microphones, keyboards, any other pointing devices, or any combinations thereof The I/O interface 2060 may couple thecomputing machine 2000 to various output devices including video displays, speakers, printers, projectors, tactile feedback devices, automation control, robotic components, actuators, motors, fans, solenoids, valves, pumps, transmitters, signal emitters, lights, and so forth. - The
computing machine 2000 may operate in a networked environment using logical connections through thenetwork interface 2070 to one or more other systems or computing machines across thenetwork 2080. Thenetwork 2080 may include wide area networks (WAN), local area networks (LAN), intranets, the Internet, wireless access networks, wired networks, mobile networks, telephone networks, optical networks, or combinations thereof. Thenetwork 2080 may be packet switched, circuit switched, of any topology, and may use any communication protocol. Communication links within thenetwork 2080 may involve various digital or an analog communication media such as fiber optic cables, free-space optics, waveguides, electrical conductors, wireless links, antennas, radio-frequency communications, and so forth. - The
processor 2010 may be connected to the other elements of thecomputing machine 2000 or the various peripherals discussed herein through thesystem bus 2020. It should be appreciated that thesystem bus 2020 may be within theprocessor 2010, outside theprocessor 2010, or both. According to some embodiments, any of theprocessor 2010, the other elements of thecomputing machine 2000, or the various peripherals discussed herein may be integrated into a single device such as a system on chip (“SOC”), system on package (“SOP”), or ASIC device. - In situations in which the systems discussed here collect personal information about users, or may make use of personal information, the users may be provided with an opportunity or option to control whether programs or features collect user information (e.g., information about a user's social network, social actions or activities, profession, a user's preferences, or a user's current location), or to control whether and/or how to receive content from the content server that may be more relevant to the user. In addition, certain data may be treated in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, a user's identity may be treated so that no personally identifiable information can be determined for the user, or a user's geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a user cannot be determined. Thus, the user may have control over how information is collected about the user and used by a content server.
- Embodiments may comprise a computer program that embodies the functions described and illustrated herein, wherein the computer program is implemented in a computer system that comprises instructions stored in a machine-readable medium and a processor that executes the instructions. However, it should be apparent that there could be many different ways of implementing embodiments in computer programming, and the embodiments should not be construed as limited to any one set of computer program instructions. Further, a skilled programmer would be able to write such a computer program to implement an embodiment of the disclosed embodiments based on the appended flow charts and associated description in the application text. Therefore, disclosure of a particular set of program code instructions is not considered necessary for an adequate understanding of how to make and use embodiments. Further, those skilled in the art will appreciate that one or more aspects of embodiments described herein may be performed by hardware, software, or a combination thereof, as may be embodied in one or more computing systems. Moreover, any reference to an act being performed by a computer should not be construed as being performed by a single computer as more than one computer may perform the act.
- The example embodiments described herein can be used with computer hardware and software that perform the methods and processing functions described herein. The systems, methods, and procedures described herein can be embodied in a programmable computer, computer-executable software, or digital circuitry. The software can be stored on computer-readable media. For example, computer-readable media can include a floppy disk, RAM, ROM, hard disk, removable media, flash memory, memory stick, optical media, magneto-optical media, CD-ROM, etc. Digital circuitry can include integrated circuits, gate arrays, building block logic, field programmable gate arrays (FPGA), etc.
- The example systems, methods, and acts described in the embodiments presented previously are illustrative, and, in alternative embodiments, certain acts can be performed in a different order, in parallel with one another, omitted entirely, and/or combined between different example embodiments, and/or certain additional acts can be performed, without departing from the scope and spirit of various embodiments. Accordingly, such alternative embodiments arc included in the invention claimed herein.
- Although specific embodiments have been described above in detail, the description is merely for purposes of illustration. It should be appreciated, therefore, that many aspects described above are not intended as required or essential elements unless explicitly stated otherwise. Modifications of, and equivalent components or acts corresponding to, the disclosed aspects of the example embodiments, in addition to those described above, can be made by a person of ordinary skill in the art, having the benefit of the present disclosure, without departing from the spirit and scope of embodiments defined in the following claims, the scope of which is to be accorded the broadest interpretation so as to encompass such modifications and equivalent structures.
Claims (21)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/935,977 US20180218403A1 (en) | 2013-06-27 | 2018-03-26 | Deal-Surfacing Button |
US16/717,410 US11232485B2 (en) | 2013-06-27 | 2019-12-17 | Deal-surfacing button |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/929,744 US9953343B2 (en) | 2013-06-27 | 2013-06-27 | Deal-surfacing button |
US15/935,977 US20180218403A1 (en) | 2013-06-27 | 2018-03-26 | Deal-Surfacing Button |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/929,744 Continuation US9953343B2 (en) | 2013-06-27 | 2013-06-27 | Deal-surfacing button |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/717,410 Continuation US11232485B2 (en) | 2013-06-27 | 2019-12-17 | Deal-surfacing button |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180218403A1 true US20180218403A1 (en) | 2018-08-02 |
Family
ID=55962087
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/929,744 Active 2033-11-06 US9953343B2 (en) | 2013-06-27 | 2013-06-27 | Deal-surfacing button |
US15/935,977 Abandoned US20180218403A1 (en) | 2013-06-27 | 2018-03-26 | Deal-Surfacing Button |
US16/717,410 Active US11232485B2 (en) | 2013-06-27 | 2019-12-17 | Deal-surfacing button |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/929,744 Active 2033-11-06 US9953343B2 (en) | 2013-06-27 | 2013-06-27 | Deal-surfacing button |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/717,410 Active US11232485B2 (en) | 2013-06-27 | 2019-12-17 | Deal-surfacing button |
Country Status (1)
Country | Link |
---|---|
US (3) | US9953343B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11348163B1 (en) * | 2019-07-25 | 2022-05-31 | Amazon Technologies, Inc. | System for presenting simplified user interface |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9953343B2 (en) | 2013-06-27 | 2018-04-24 | Google Llc | Deal-surfacing button |
KR102285249B1 (en) | 2016-10-13 | 2021-08-05 | 라쿠텐 그루프 가부시키가이샤 | A system, method and computer program for providing a wishlist user interface within a web browser that alerts a user to changes in multi-factor-based prices. |
US10740781B2 (en) | 2017-10-31 | 2020-08-11 | Ebates Performance Marketing, Inc. | System, method, and computer program for providing notification of a cashback reward from a shopping portal using online screen and email analysis |
US11379869B2 (en) * | 2019-04-30 | 2022-07-05 | Paypal, Inc. | System for managing checkout experience based on merchant criteria |
US11568468B2 (en) | 2019-08-08 | 2023-01-31 | Rakuten Group, Inc. | System, method, and computer program for providing similar product recommendations for non-merchant publishers based on publisher preferences |
US11847624B2 (en) * | 2020-05-11 | 2023-12-19 | Capital One Services, Llc | User registration based on unsupervised learning classification |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7539628B2 (en) | 2000-03-21 | 2009-05-26 | Bennett James D | Online purchasing system supporting buyer affordability screening |
GB2360371A (en) * | 2000-03-14 | 2001-09-19 | Catalina Marketing Uk Ltd | Method and system for distributing and redeeming offers and incentives |
US20020107733A1 (en) * | 2000-07-25 | 2002-08-08 | Liu Wanqian D. | Method for promoting products using a world wide web |
US20020056091A1 (en) * | 2000-09-13 | 2002-05-09 | Bala Ravi Narayan | Software agent for facilitating electronic commerce transactions through display of targeted promotions or coupons |
US20050144074A1 (en) * | 2000-11-28 | 2005-06-30 | Carlson Companies, Inc. | Computer implemented method and system for on-line redemption of coupons |
US20020178060A1 (en) | 2001-05-25 | 2002-11-28 | Sheehan Patrick M. | System and method for providing and redeeming electronic paperless coupons |
US20090319166A1 (en) * | 2008-06-20 | 2009-12-24 | Microsoft Corporation | Mobile computing services based on devices with dynamic direction information |
US9204181B2 (en) * | 2008-12-12 | 2015-12-01 | Genband Us Llc | Content overlays in on-demand streaming applications |
US20100257020A1 (en) * | 2009-04-02 | 2010-10-07 | Microsoft Corporation | User-targeted rebates |
US20110191184A1 (en) * | 2010-01-29 | 2011-08-04 | Bank Of America Corporation | Mobile location integrated merchant offer program and customer shopping |
EP2569743A4 (en) * | 2010-02-08 | 2014-11-19 | Brook Lang | System and method of delivering ads |
US20120215610A1 (en) * | 2011-02-23 | 2012-08-23 | Visa International Service Association | Systems and Methods to Facilitate Offer Sharing |
US20120323664A1 (en) | 2011-06-16 | 2012-12-20 | Apple Inc. | Integrated coupon storage, discovery, and redemption system |
US20130211919A1 (en) * | 2012-02-15 | 2013-08-15 | Robert Doherty | System and Method for Sharing and Endorsing Content |
US11210688B2 (en) * | 2012-06-15 | 2021-12-28 | Walmart Apollo, Llc | Systems and methods for interactive shopping using a mobile computing device |
US9953343B2 (en) | 2013-06-27 | 2018-04-24 | Google Llc | Deal-surfacing button |
-
2013
- 2013-06-27 US US13/929,744 patent/US9953343B2/en active Active
-
2018
- 2018-03-26 US US15/935,977 patent/US20180218403A1/en not_active Abandoned
-
2019
- 2019-12-17 US US16/717,410 patent/US11232485B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11348163B1 (en) * | 2019-07-25 | 2022-05-31 | Amazon Technologies, Inc. | System for presenting simplified user interface |
Also Published As
Publication number | Publication date |
---|---|
US9953343B2 (en) | 2018-04-24 |
US20200265473A1 (en) | 2020-08-20 |
US11232485B2 (en) | 2022-01-25 |
US20160140610A1 (en) | 2016-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11232485B2 (en) | Deal-surfacing button | |
US10592884B2 (en) | Split tender in a prepaid architecture | |
US11250414B2 (en) | Cloud based system for engaging shoppers at or near physical stores | |
US10147112B2 (en) | Delayed processing window in a prepaid architecture | |
US9430796B1 (en) | Direct purchase from user-received advertisement | |
US20130073363A1 (en) | Checkout-based distribution of digital promotions | |
US20220188887A1 (en) | Method, apparatus, and computer-readable medium for leveraging real-time sales volume for conducting group buys | |
AU2016271110B2 (en) | Mobile search | |
US12026746B2 (en) | Instrument system interaction tracking | |
US20150287068A1 (en) | System and method for pooling and converting purchase rewards to cash for end-users | |
US20140244393A1 (en) | Fall-back to saved location where user location is unknown | |
US20130046597A1 (en) | System and method for providing purchase rewards | |
US11257107B2 (en) | Individual use code for multiple users in a loyalty program | |
US20120022932A1 (en) | Digital data processing systems and methods for electronic commerce | |
US20140278902A1 (en) | Return Processing Systems And Methods For A Price Comparison System | |
US20220351241A1 (en) | Method, apparatus, and computer program product for facilitating the activation of promotions using short codes | |
US10504130B2 (en) | Methods and systems for incentivizing online retail purchasers to elicit additional online sales | |
US20140172546A1 (en) | Digital personalization schema for offers | |
US20220245662A1 (en) | Redemption Code Auto-Complete for Online Offers and Tracking | |
JP6567421B2 (en) | Affiliate profit return method and system | |
JP7463452B2 (en) | Information processing device, information processing method, and information processing program | |
KR20200030153A (en) | Method and system for retargeting based on smart payment | |
KR20140136095A (en) | Method, apparatus and system for providing advertisement related object charged by consumer in real-time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MCDONOUGH, COLIN ALBRIGHT;REEL/FRAME:045674/0333 Effective date: 20130627 Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:046040/0659 Effective date: 20170929 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |