U.S. patent application number 13/211262 was filed with the patent office on 2012-08-16 for monitoring for offline transactions.
Invention is credited to Geraud Boyer, Amit Kumar, Eckart Walther, Jeffrey WINNER.
Application Number | 20120209771 13/211262 |
Document ID | / |
Family ID | 46637612 |
Filed Date | 2012-08-16 |
United States Patent
Application |
20120209771 |
Kind Code |
A1 |
WINNER; Jeffrey ; et
al. |
August 16, 2012 |
MONITORING FOR OFFLINE TRANSACTIONS
Abstract
A technique for tracking conversion of an online offer includes
tracking online and/or offline transactions. A customer accepts an
offer provided by a merchant and submits his or her account
information so that he or she may receive a reward for satisfying
criteria associated with the offer. Transactions of the merchant
are then monitored at the payment processor level to determine
whether the customer satisfies the purchase criteria. Therefore,
online and offline conversion can both be tracked. Further, the
merchant is able to determine the overall effectiveness of
advertising campaigns by analyzing the number of offers that are
both accepted and satisfied.
Inventors: |
WINNER; Jeffrey; (Los Altos,
CA) ; Boyer; Geraud; (San Francisco, CA) ;
Kumar; Amit; (Palo Alto, CA) ; Walther; Eckart;
(Palo Alto, CA) |
Family ID: |
46637612 |
Appl. No.: |
13/211262 |
Filed: |
August 16, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61442943 |
Feb 15, 2011 |
|
|
|
61442691 |
Feb 14, 2011 |
|
|
|
Current U.S.
Class: |
705/44 ;
705/39 |
Current CPC
Class: |
G06Q 30/02 20130101;
G06Q 30/0246 20130101; G06Q 30/0273 20130101 |
Class at
Publication: |
705/44 ;
705/39 |
International
Class: |
G06Q 40/00 20060101
G06Q040/00 |
Claims
1. A method for identifying an identification code corresponding to
a merchant, the method comprising: providing the merchant access to
an account; instructing the merchant to execute a transaction using
the account; parsing one or more transactions made using the
account to identify the transaction; and extracting from the
transaction the identification code of the merchant.
2. The method of claim 1, wherein the account is configured to
decline any charges that are made to the account.
3. The method of claim 2, wherein access to the account is provided
by shipping, to the merchant, a physical credit card that is
associated with the account.
4. The method of claim 2, wherein access to the account is provided
by transmitting, to the merchant, an account number that is
associated with the account.
5. The method of claim 1, wherein the merchant is instructed to
execute the transaction at a particular time and/or for a
particular amount.
6. The method of claim 5, wherein the transaction is identified by
parsing the one or more transactions for a transaction that matches
an account number associated with the account, the particular time
and/or the particular amount.
7. The method of claim 6, wherein the account number associated
with the account is matched based on a hash value of the
account.
8. A computer-readable medium storing instructions that when
executed by a processor cause the processor to identify an
identification code corresponding to a merchant, the method
comprising: providing the merchant access to an account;
instructing the merchant to execute a transaction using the
account; parsing one or more transactions made using the account to
identify the transaction; and extracting from the transaction the
identification code of the merchant.
9. The computer-readable medium of claim 8, wherein the account is
configured to decline any charges that are made to the account.
10. The computer-readable medium of claim 9, wherein access to the
account is provided by shipping, to the merchant, a physical credit
card that is associated with the account.
11. The computer-readable medium of claim 9, wherein access to the
account is provided by transmitting, to the merchant, an account
number that is associated with the account.
12. The computer-readable medium of claim 8, wherein the merchant
is instructed to execute the transaction at a particular time
and/or for a particular amount.
13. The computer-readable medium of claim 12, wherein the
transaction is identified by parsing the one or more transactions
for a transaction that matches an account number associated with
the account, the particular time and/or the particular amount.
14. The computer-readable medium of claim 13, wherein the account
number associated with the account is matched based on a hash value
of the account.
15. A system for identifying an identification code corresponding
to a merchant, the system comprising: a processor configured to:
providing the merchant access to an account; instructing the
merchant to execute a transaction using the account; parsing one or
more transactions made using the account to identify the
transaction; and extracting from the transaction the identification
code of the merchant.
16. The system of claim 15, wherein the account is configured to
decline any charges that are made to the account.
17. The system of claim 16, wherein access to the account is
provided by shipping, to the merchant, a physical credit card that
is associated with the account.
18. The system of claim 16, wherein access to the account is
provided by transmitting, to the merchant, an account number that
is associated with the account.
19. The system of claim 15, wherein the merchant is instructed to
execute the transaction at a particular time and/or for a
particular amount.
20. The system of claim 19, wherein the transaction is identified
by parsing the one or more transactions for a transaction that
matches an account number associated with the account, the
particular time and/or the particular amount.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority benefit to U.S. provisional
patent application titled, "SYSTEM AND METHOD IMPLEMENTING REFERRAL
PROGRAMS," filed on Feb. 15, 2011, having application Ser. No.
61/442,943 (Attorney Docket Number CARD/0002USL) and also claims
priority benefit to United States provisional patent application
titled, "SYSTEM AND METHOD FOR IMPLEMENTING PAYMENT NETWORK
COOKIES," filed on Feb. 14, 2011, having application Ser. No.
61/442,691 (Attorney Docket Number CARD/0003USL), both of which are
incorporated by reference herein.
BACKGROUND
[0002] 1. Field of the Invention
[0003] The present invention relates to the field of computer
software and, in particular, to a system and method for monitoring
for transactions.
[0004] 2. Description of the Related Art
[0005] Online advertising is a form of promotion that uses the
internet to deliver marketing messages to potential customers.
Examples of online advertising include contextual advertisements on
search engine results pages, banner advertisements, rich media
(e.g., video) advertisements, social network advertisements,
interstitial advertisements, online classified advertisements,
e-mail marketing, and many others.
[0006] One important aspect of an online advertisement is the
online "conversion" of the online advertisement, which refers
generally to a customer completing an online transaction with an
online merchant in response to viewing the online advertisement.
Typically, when a customer views an online advertisement, the
customer's activity across one or more web pages is tracked to
determine whether a particular online transaction is actually
completed by the customer. One example of a tracking technique is
referred to as pixel-based tracking, where a 1.times.1 pixel
image--often referred to as a "web beacon"--is linked to an online
advertisement and included in each web page of, for example, an
online shopping cart. The 1.times.1 pixel image reports information
back to a manager of the online advertisement such that the manager
is able to determine whether the customer has reached an order
confirmation page, indicating that the online advertisement was
successful by resulting in a conversion.
[0007] Although many merchants provide their customers the ability
to shop online, there exists a large number of merchants that have
one or more brick-and-mortar locations, referred to herein as
"offline" merchants. Though offline merchants typically do not
provide an online shopping cart to their customers, the offline
merchants may nonetheless be interested in online advertising that
causes customers to visit their brick-and-mortar locations in an
attempt to increase sales. Unfortunately, as with offline
advertising (e.g., advertising in magazines, TV, radio, etc.), it
is difficult for offline merchants to measure the performance of
their online advertising campaigns.
[0008] One attempt to measure performance of an advertising
campaign involves polling customers and asking them to share the
motivation for the purchase they are making. For example, if a
customer shops at a merchant location during a sale, then the
merchant may ask the customer, "Where did you hear about our sale?"
Unfortunately, some customers are lazy and do not wish to share
such information with the merchant or may provide inaccurate
information. Determining the effectiveness of an online portion of
ad campaign is further complicated when the same advertisements are
presented to potential customers through other channels that are
not online.
[0009] As the foregoing illustrates, there is a need in the art for
an improved technique that overcomes the deficiencies of prior
approaches.
SUMMARY
[0010] One embodiment of the invention provides a method for
tracking conversion of an online offer. The method includes
identifying an online offer accepted by a customer; receiving a set
of transactions executed at a merchant; parsing the set of
transactions to determine that a set of criteria associated with
the online offer has been satisfied by the customer via one or more
transactions at the merchant; and notifying the merchant that the
online offer has been satisfied by the customer.
[0011] Another embodiment of the invention provides a method for
identifying an identification code corresponding to a merchant. The
method includes providing the merchant access to an account;
instructing the merchant to execute a transaction using the
account; parsing one or more transactions made using the account to
identify the transaction; and extracting from the transaction the
identification code of the merchant.
[0012] Further embodiments of the present invention provide a
computer-readable storage medium that includes instructions for
causing a computer system to carry out one or more of the methods
set forth above.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] So that the manner in which the above recited features of
the invention can be understood in detail, a more particular
description of the invention, briefly summarized above, may be had
by reference to embodiments, some of which are illustrated in the
appended drawings. It is to be noted, however, that the appended
drawings illustrate only typical embodiments of this invention and
are therefore not to be considered limiting of its scope, for the
invention may admit to other equally effective embodiments.
[0014] FIG. 1 is a block diagram illustrating components of a
system in which embodiments of the invention may be
implemented.
[0015] FIG. 2 is a screenshot of an interface configured to gather
customer data from a customer that accepts an offer, according to
one embodiment of the invention.
[0016] FIG. 3 is a flow diagram of method steps for generating a
merchant account, according to one embodiment of the invention.
[0017] FIG. 4 is a flow diagram of method steps for associating a
customer with an offer, according to one embodiment of the
invention.
[0018] FIG. 5 is a flow diagram of method steps for determining
whether a set of offers has been satisfied, according to one
embodiment of the invention.
[0019] FIG. 6 is a flow diagram of method steps for processing a
group offer, according to one embodiment of the invention.
[0020] FIG. 7 is a flow diagram of method steps for processing a
referral offer, according to one embodiment of the invention.
[0021] FIG. 8 is a flow diagram of method steps for processing an
offer involving specific criteria, according to one embodiment of
the invention.
[0022] FIG. 9 is a flow diagram of method steps for extracting an
identification (ID) of a merchant, according to one embodiment of
the invention.
DETAILED DESCRIPTION
[0023] In the following description, several specific details are
presented to provide a thorough understanding of embodiments of the
invention. One skilled in the relevant art will recognize, however,
that the concepts and techniques disclosed herein can be practiced
without one or more of the specific details, or in combination with
other components, etc. In other instances, well-known
implementations or operations are not shown or described in detail
to avoid obscuring aspects of various examples disclosed
herein.
[0024] FIG. 1 is a block diagram illustrating components of a
system 100 in which embodiments of the invention may be
implemented. As shown, system 100 includes a merchant 102, a point
of sale (POS) system 104 with an associated database 106, an offer
engine (OE) 108 with an associated database 109, a payment
processor 110 with an associated database 112, one or more
financial institutions 114, and a network 118. As shown, merchant
102, OE 108, payment processor 110 and financial institutions 114
communicate with one another via network 108, such as the
internet.
[0025] Though not illustrated in FIG. 1, each of OE 108, payment
processor 110 and POS system 104 include conventional components of
a computing device, e.g., a processor, system memory, a hard disk
drive, input devices such as a mouse and a keyboard, and output
devices such as a monitor.
[0026] In one embodiment, DB 106, DB 109 and/or DB 112 can be any
type of storage system, e.g., a relational database hosted on a
network file system (NFS) device, a storage system hosted by a
cloud service provider, and the like. Alternatively, DB 106, DB 109
and/or DB 112 may be integrated in POS system 104, OE 108 and
payment processor 110, respectively, such as a database hosted on a
local disk and managed by an operating system.
[0027] Merchant 102 may be a brick-and-mortal physical merchant, an
online merchant, a mail-order/telephone-order (MOTO) merchant, and
the like. Merchant 102 is capable of processing accounts of
customers when they pay for goods or services offered by merchant
102. Such accounts include credit cards, debit cards, prepaid
cards, and the like. In some embodiments, merchant 102 is equipped
with POS system 104. As shown, POS system 104 is coupled to
database 106, which enables POS system 104 to store detailed
information associated with transactions between merchant 102 and
customers of merchant 102.
[0028] A transaction may be initiated at merchant 102 according to
a variety of techniques. For example, a cashier at merchant 102 may
swipe a credit card through a card reader included in POS system
104. Alternatively, an account may be delivered virtually on a
customer's mobile device, which enables a customer at merchant 102
to wave his/her mobile device in front of a contactless card reader
included in POS system 104. Further, the customer may show his/her
mobile device to a cashier at merchant 102 who manually enters an
account number of the account being used by the customer.
Alternatively, the mobile device may include a contactless chip or
tag that is wireless-readable by POS system 104 using, e.g.,
near-field-communication (NFC) technology.
[0029] Payment processor 110, in conjunction with financial
institutions 114, facilitates payment transactions between merchant
102 and customers thereof, and stores the transactions in DB 112.
More specifically, when a customer attempts to pay for goods and/or
services offered by merchant 102 using his or her account, a POS
terminal submits the transaction through a merchant account to an
acquiring bank of the merchant (i.e., one of the financial
institutions 114). The acquiring bank then transmits a request for
funds through the payment processor 110. The payment processor 110
routes the request for funds to the card holder's issuing bank
(i.e., the appropriate financial institution 114) for authorization
based on a type of the account. The issuing bank verifies the card
number, the transaction type, and the amount. In some examples, the
issuing bank then reserves that amount of the cardholder's credit
limit for the merchant.
[0030] For example, if payment processor 110 detects that the
account is a debit card associated with a checking account of the
customer, then payment processor 110 routes the transaction request
to the bank that issued the debit card, whereupon the issuing bank
indicates to payment processor 110 whether the checking account
possesses sufficient funds to satisfy the transaction request. In
turn, payment processor 110 indicates to the merchant acquiring
bank whether the request is for funds has been approved. If the
transaction is successfully processed, then funds are transferred
from the card holder's account at the issuing bank to the merchant
account at the inquiring bank.
[0031] An Offer Engine (POE) 108 is configured to determine the
effectiveness of advertising campaigns requested and managed by
merchant 102. As shown in FIG. 1, OE 108 is in communication with
both merchant 102 and payment processor 110. OE 108 manages
"offers" that are advertised to, possibly accepted by, and possibly
satisfied by customers of merchant 102. The offer can be coupled to
a reward that is given to the customer when he or she has satisfied
the offer, e.g., cash-back rewards, credit card rewards, store
credit, virtual currency, and the like.
[0032] An offer may be any offer that involves a customer
completing a transaction according to specific criteria, such as
buying a certain amount of a product, spending a certain amount in
one purchase, making a purchase at a particular time, making a
number of purchases within a particular amount of time, and the
like. Offers may also involve a group of customers completing a
transaction according to specific criteria. As is described in
greater detail herein, OE 108 is configured to monitor for
transactions to determine whether the criteria for a particular
offer have been satisfied. As is also described herein, OE 108 can
monitor both online and offline transactions to determine whether
the criteria for a particular offer have been satisfied.
[0033] Offer data is stored in database 109 accessed by OE 108. The
offer data is advertised to customers via webpage advertisements,
email marketing campaigns, short-message-service (SMS) messages,
telemarketing campaigns, and the like, as described herein. As
described below in conjunction with FIG. 2, OE 108 provides an
interface that enables customers (e.g., individuals) to register an
account with OE 108, including their account information, and
subsequently accept and complete offers. OE 108 subsequently
monitors transactions initiated at merchant 102 (i.e., online
and/or offline) to determine whether offers are satisfied by the
customers whom accepted them.
[0034] FIG. 2 is a screenshot of an interface 200 configured to
gather customer data from a customer that accepts an offer,
according to one embodiment of the invention. As shown, interface
200 is accessible via a web browser application and includes offer
advertisement widget 202, offer advertisement widget 204, and offer
acceptance form 206. Offer advertisement widgets 202, 204, when
selected by a customer (e.g., by clicking on them) enable a
customer to accept offers provided by merchant 102 (e.g., "Merchant
A"). For example, the customer may accept the offer advertised in
offer advertisement widget 202 to receive a $20.00 cash back reward
for any in-store purchase over $100.00 at Merchant A. Similarly,
the customer may also accept the offer advertised in offer
advertisement widget 204 to receive a $50.00 cash back reward after
performing five in-store purchases, each being $75.00 or more, at a
physical location of merchant A.
[0035] When an offer advertisement widget, such as offer
advertisement widget 202 or 204, is selected by a customer, an
offer acceptance form 206 is caused to be displayed within
interface 200. The customer then enters a variety of information
that is subsequently used by OE 108 to determine whether the
customer eventually satisfies the offer, as described in further
detail below. The customer enters the details of one or more
accounts, including account number, expiration date, security code,
billing address, etc.
[0036] In some embodiments, the customer may optionally submit his
or her phone number and/or email address to receive additional
offer notifications from OE 108. When the customer provides a phone
number and subsequently satisfies an offer, OE 108 may send an SMS
message to the phone number with a message indicating that the
offer has been satisfied. OE 108 may, in some embodiments, provide
another offer to the customer for acceptance by the customer via
SMS.
[0037] Additionally, the customer may submit his or her information
by providing to OE 108 credentials that link to an existing online
account hosted by an alternative online service, e.g., a Facebook
account or an Oauth account. In particular, OE 108 accesses the
online account using the credentials and retrieves the required
information, thereby reducing the amount of input required by the
customer.
[0038] Additionally, the customer may opt to create a customer
account with OE 108 when accepting, for example, an offer for the
first time. In one example, the customer opts to create a customer
account by clicking on a checkbox titled "Create Account" (not
shown) and included in offer acceptance form 206, which causes a
password input field to appear. Subsequently, and upon providing
valid inputs to OE 108 when accepting the offer, OE 108 generates a
customer account for the customer and stores the customer account
in DB 109. In one example, the customer's email address is assigned
as a login ID and is tied to the password that is input by the
customer. In this way, when the customer accepts additional offers,
he or she is only required to input his or her email address and
password by, for example, clicking the "Sign In" link included in
offer acceptance form 206. In this way, the customer is able to
recall his or her account information and is not required to
redundantly provide his or her account information each time he or
she accepts an offer.
[0039] Though not illustrated in FIG. 2, the customer may associate
one or more of his or her account numbers with his or her account.
Thus, the OE 108 can track transactions made using any one of the
one or more accounts.
[0040] FIG. 3 is a flow diagram of method steps 300 for generating
a merchant account, according to one embodiment of the invention.
Persons skilled in the art will understand that, even though method
300 is described in conjunction with FIG. 1, any system configured
to perform the method steps, in any order, is within the scope of
embodiments of the invention. A merchant account enables merchants
to manage offers through interfaces provided by OE 108. As shown,
method 300 begins at step 302, where OE 108 receives, e.g., from an
administrator of merchant 102, a request to generate a merchant
account. For example, the administrator may click a "Sign Up" link
found on an interface provided by OE 108 that causes a registration
interface to be displayed.
[0041] At step 304, OE 108 receives merchant account registration
information. Merchant account registration includes, for example, a
merchant identification (ID) issued to merchant 102 by the
merchant's acquiring bank and/or payment processor 110, where the
merchant ID may be used to uniquely identify transactions initiated
at merchant 102. POE 110 can filter transaction data processed by
payment processor 110 such that POE 110 is able to determine
whether accepted offers have been satisfied. As described in
further detail below, embodiments of the invention provide a
technique for determining a merchant ID of a merchant, since the
merchant is sometimes not aware of their own merchant ID, and thus
cannot provide this information to the OE 108 at step 304.
[0042] At step 306, and in response to receiving the merchant
account registration information at step 304, OE 108 generates a
merchant account based on the registration information. The
merchant account and associated information is stored in database
109.
[0043] At step 308, OE 108 receives one or more requests to create
offers. Such requests may be generated by merchant 102 via
interfaces provided by OE 108 that enable merchant 102 to submit
information associated with the offers. For example, the merchant
102 may request an offer that provides a reward of $30.00 cash-back
to customers who accept the offer and perform a purchase of $150.00
or more with the merchant in a single transaction any time during
the month of July in a given year.
[0044] At step 310, OE 108 causes the offers to be published so
that they can be accepted by and/or satisfied by one or more
customers. In some embodiments, a third-party, other than the OE
108 may publish the offers according to the techniques described
above, e.g., web marketing campaigns, email marketing campaigns,
etc. For example, merchant 102 may submit, for a particular offer,
a list of customer email addresses to which an email that describes
the offer should be sent. The offer email received by the customers
may include a hyperlink that, when opened by a customer, displays
to the customer an offer acceptance form associated with the offer,
e.g., offer acceptance form 206.
[0045] FIG. 4 is a flow diagram of method steps 400 for associating
a customer with an offer, according to one embodiment of the
invention. Persons skilled in the art will understand that, even
though method 400 is described in conjunction with FIG. 1, any
system configured to perform the method steps, in any order, is
within the scope of embodiments of the invention. As shown, method
400 begins at step 402, where OE 108 detects that a customer
selects to register for an offer, e.g., via clicking on offer
advertisement widget 202.
[0046] At step 404, OE 108 determines whether a customer account
exists for the customer. This may be determined according to a
variety of techniques, including analysis of browser cookies,
internet protocol (IP) addresses, login information, etc., that is
accessible to OE 108 and/or provided by the customer. For example,
the customer may select a "Sign In" hyperlink included in interface
200 and submit his or her login credentials, whereupon OE 108
references database 109 with the login credentials to determine
whether a customer account exists for the customer. If the customer
holds an account with OE 108, then OE 108 may display to the
customer a list of one or more account numbers registered with the
customer's account and previously provided by the customer, and
method 400 proceeds to step 414, described below. If the customer
does not hold an account with OE 108, then OE 108 displays to the
customer input fields that enable him or her to input customer
account registration information and accept the offer, and method
400 proceeds to step 406. At step 406, OE 108 receives customer
account registration information from the customer, e.g., the
customer account registration information described above in
conjunction with FIG. 2.
[0047] At step 408, OE 108 generates a customer account based on
the registration information. The customer account is then stored
by OE 108 in database 109. At step 410, OE 108 generates a data
object based on one or more properties of billing information
included in the registration information. For example, OE 108 may
apply a hash function to each account number to generate a
corresponding hash value for each account. The hash function is
configured to match a hash function executed by payment processor
110 that receives and hashes the account number of the customer
when merchant 102 attempts to charge the customer for goods or
services. In this way, OE 108 is capable of identifying
transactions when reviewing transaction data provided by payment
processor 110 and associated with merchant 102 without storing the
actual account number, which advantageously decreases overall
liability of OE 108 and increases security to the customer. At step
412, OE 108 associates the data object with the customer
account.
[0048] At step 414, OE 108 associates the offer with the customer
account. Thus, OE 108 may subsequently compare offers accepted by
the customer with transaction data of merchants associated with the
offers to determine whether the offers are satisfied, as described
in further detail below in conjunction with FIG. 5.
[0049] FIG. 5 is a flow diagram of method steps 500 for determining
whether a set of offers has been satisfied, according to one
embodiment of the invention. Persons skilled in the art will
understand that, even though method 500 is described in conjunction
with FIG. 1, any system configured to perform the method steps, in
any order, is within the scope of embodiments of the invention. As
shown, method 500 begins at step 502, where OE 108 receives a set
of offers that have been accepted by one or more customers. For
example, OE 108 may query database 109 to return a set of offers
that have not been marked as expired or satisfied such that only
outstanding and/or valid offers are processed.
[0050] At step 504, OE 108 receives a set of transactions
associated with purchases made at one or more merchants. In one
embodiment, OE 108 receives the set of transactions by querying
payment processor 110 for particular transactions from one or more
merchants. In one example, OE 108 may transmit to payment processor
110 both an ID of a merchant and a set of hashed account numbers
associated with customers who have accepted at least one offer with
the merchant. In response, payment processor 110 returns
transactions that match the hashed account numbers. In another
embodiment, a merchant can give the payment processor 110
permission to deliver all transactions from the merchant to a third
party, such as OE 108. For example, the transactions can be
delivered to the OE 108 periodically (e.g., daily) or in
real-time.
[0051] At step 506, OE 108 sets a first offer in the set of offers
as a current offer. At step 508, OE 108 determines whether criteria
of the current offer are satisfied by one or more transactions in
the set of transactions. In one embodiment, each offer is
associated with executable code that, when executed by OE 108,
enables OE 108 to determine whether the current offer has been
satisfied by one or more transactions in the set of transactions.
For example, if a customer accepts an offer that requires him or
her to make an in-store purchase at merchant 102 between the hours
of 5:00 PM-6:00 PM, and OE 108 determines from a transaction in the
set of transactions that a customer performs a purchase at merchant
102, then OE 108 analyzes timestamp data included the transaction
to determine whether the transaction was performed between the
required hours.
[0052] If, at step 508, OE 108 determines that criteria of the
current offer are not satisfied by one or more transactions in the
set of transactions, then method 500 proceeds to step 512.
Otherwise, at step 509, OE 108 determines whether the one or more
transactions identified at step 508 are associated with an account
number that matches an account number associated with the current
offer. In one embodiment, OE 108 extracts a hashed account number
from each transaction and compares the hashed account number
against the hashed account number associated with the current
offer. If, at step 509, OE 108 determines that the one or more
transactions identified at step 508 are associated with an account
number that matches an account number associated with the current
offer, then method 500 proceeds to step 512. Otherwise, method 500
proceeds to step 510.
[0053] At step 510, OE 108 notifies a merchant associated with the
current offer that the current offer has been satisfied. In one
embodiment, OE 108 is configured to lookup via database 109
notification preferences of the merchant that is associated with
the current offer. For example, OE 108 may determine that the
merchant associated with the current offer prefers to receive a
daily batch file emailed at the end of each day, where the batch
file includes line-by-line detail of each customer who satisfied an
offer and the reward that is to be given to them. In addition to
notifying the merchant, OE 108 may also be configured to notify the
customer associated with the current offer that he or she has
satisfied the current offer, as described above in conjunction with
FIG. 2.
[0054] At step 512, OE 108 determines whether additional offers are
in the set of offers. If, at step 512, OE 108 determines that
additional offers are in the set of offers, then at step 514, OE
108 sets a next offer in the set of offers as the current offer. In
this way, each of the offers in the set of offers are compared
against the set of transaction data.
[0055] FIG. 6 is a flow diagram of method steps 600 for processing
a group offer, according to one embodiment of the invention.
Persons skilled in the art will understand that, even though method
600 is described in conjunction with FIG. 1, any system configured
to perform the method steps, in any order, is within the scope of
embodiments of the invention. As shown, method 600 begins at step
602, where OE 108 determines that a group offer accepted by a first
customer requires that one or more additional customers both accept
and satisfy the group offer.
[0056] At step 604, OE 108 determines whether the one or more
additional customers have accepted the group offer. In one example,
the first customer accepts a group offer that requires a total of
ten or more customers to spend $25.00 or more with merchant 102. In
this case, OE 108 parses accepted group offers included in database
109 to determine whether nine or more different customers, in
addition to the first customer, have also accepted the group
offer.
[0057] If, at step 604, OE 108 determines that the one or more
additional customers have not accepted the group offer, then the
group offer has not been satisfied, and method 600 ends. Otherwise,
method 600 proceeds to step 606, where OE 108 receives a set of
transactions associated with purchases made by the first customer
and the one or more additional customers according to the
techniques described above in conjunction with FIG. 2.
Alternatively, OE 108 may receive from payment processor 110 a set
of all transactions associated with merchant 102 and filter out
transactions that are not relevant to the group offer.
[0058] At step 608, OE 108 determines whether the first customer
and the one or more additional customers have all satisfied the
group offer. If, at step 608, OE 108 determines that the first
customer and the one or more additional customers have all
satisfied the group offer, then method 600 proceeds to step 610,
where OE 108 notifies a merchant associated with the group offer
that the group offer has been satisfied.
[0059] FIG. 7 is a flow diagram of method steps 700 for processing
a referral offer, according to one embodiment of the invention.
Persons skilled in the art will understand that, even though method
700 is described in conjunction with FIG. 1, any system configured
to perform the method steps, in any order, is within the scope of
embodiments of the invention. As shown, method 700 begins at step
702, where OE 108 determines that a referral offer accepted by a
first customer requires that one or more additional customers
recommended by the first customer both accept and satisfy an offer
associated with the referral offer.
[0060] In one example, the first customer is exposed to an offer
advertisement widget for a referral offer that requires him or her
to get additional customers to both accept and satisfy an offer,
where the offer requires them to make a purchase of $25.00 or more
at merchant 102. Typically, the offer provides incentive to the
five or more friends to both accept and satisfy the referral offer,
such as $5.00 cash back for making the $25.00 purchase. In turn,
the first customer is rewarded $50.00 by merchant 102 when each of
the five or more friends both accept and satisfy the offer. The
first customer may notify the five friends according to a variety
of techniques, such as submitting their email addresses into an
interface provided by OE 108, which then delivers a notification of
the offer to each email address.
[0061] At step 704, OE 108 determines whether the one or more
additional customers have accepted the offer. If, at step 704, OE
108 determines that the one or more additional customers have
accepted the offer, then method 700 proceeds to step 706, where OE
108 receives a set of transactions associated with purchases made
by the additional customers. Otherwise, the referral offer remains
outstanding, and method 700 ends.
[0062] At step 708, OE 108 determines whether the one or more
additional customers have all satisfied the offer. Continuing with
the example described above at step 702, OE 108 determines whether
each of the five customers have made a purchase of $25.00 or more
with merchant 102. If, at step 708, OE 108 determines that the one
or more additional customers have all satisfied the offer, then
method 700 proceeds to step 710, where notifies a merchant
associated with the referral offer that the referral offer has been
satisfied.
[0063] As described above, OE 108 is configured to manage various
types of offers using typical transaction data provided by payment
processor 110. Typical transaction data includes properties such as
a unique transaction ID, a merchant ID, the customer's card
information, a total amount charged, and a timestamp. Though the
total amount charged to the customer is included in the transaction
data, important data pertaining to the breakdown of the total
amount charged--among other more detailed information--is absent
from the transaction data, which may be advantageously used by OE
108 to provide offers that are targeted toward, e.g., purchasing
specific items from merchant 102.
[0064] Such detailed information is often stored in POS system 104
used by merchant 102 to process transactions. In one example,
merchant 102 charges a customer $108.00 in total for five $20.00
items purchased, and an 8% sales tax on the total price. As
described above in conjunction with FIG. 1, POS system 104 requests
payment processor 110 to process the transaction, and payment
processor 110 returns to POS system 104 the transaction ID of the
transaction if the transaction is successfully processed. In turn,
POS system 104 creates in database 109 a new POS transaction object
that includes, e.g., a unique POS transaction ID, universal product
codes (UPC) codes of each of the five items, product details of
each of the five items, a subtotal amount, a tax amount, a total
amount, and the transaction ID returned by payment processor 110.
Moreover, many POS systems provide application programming
interfaces (APIs) that enable administrators to extract transaction
data to, e.g., process returns, calculate performance, and the
like.
[0065] FIG. 8 is a flow diagram of method steps 800 for processing
an offer involving specific criteria, according to one embodiment
of the invention. Persons skilled in the art will understand that,
even though method 800 is described in conjunction with FIG. 1, any
system configured to perform the method steps, in any order, is
within the scope of embodiments of the invention. As shown, method
800 begins at step 802, where OE 108 determines that an offer
accepted by a customer requires processing transactional data
collected by a point-of-sale (POS) system, e.g., POS system
104.
[0066] At step 804, OE 108 obtains the POS transaction data from
POS system 104. In one embodiment, POS system 104 is configured to
upload POS transaction data to OE 108 at regular intervals. In
another embodiment, POS system 104 is configured to query POS
system 104 via an API that provides access to POS system 104 to
retrieve the POS transaction data.
[0067] Next, the optional step 806 enables OE 108 to verify that
the purchase did in fact take place and that no corruption of POS
system 104 has occurred. More specifically, at step 806, OE 108
optionally obtains from a payment processor, e.g., payment
processor 110, transaction data that is related to the POS
transaction data. In one example, OE 108 extracts the transaction
ID from the POS transaction data which, as described above, is
returned by payment processor 110 for each transaction that is
successfully processed. OE 108 then queries payment processor 110
for a transaction that matches the transaction ID. If payment
processor 110 returns a transaction based on the transaction ID,
then OE 108 verifies that the POS transaction data obtained from
POS system 104 is not corrupt. Otherwise, OE 108 may notify
merchant 102 of the discrepancy.
[0068] At step 806, OE 108 determines whether the offer is
satisfied based on the transactional data. In one example, the
offer requires that the customer purchases a medium-sized black
T-Shirt to receive a $2.00 reward. OE 108 then, according to the
techniques described above in conjunction with FIG. 5, processes
the POS transaction data to determine whether the offer has in fact
been satisfied. For example, the POS transaction data may include a
"Description" field with a value "Size:M;Color:Blk" that OE 108 is
able to parse and identify as a purchase that satisfies the offer.
In another example, merchant 102 may provide a UPC code associated
with medium-sized black T-Shirts to OE 108 when creating the offer
such that OE 108 need only verify that UPC code included in the POS
transaction data is valid.
[0069] At step 808, OE 108 notifies merchant 102 associated with
the offer that the customer has satisfied the offer according to
the
[0070] FIG. 9 is a flow diagram of method steps 900 for extracting
an identification (ID) of a merchant, according to one embodiment
of the invention. Persons skilled in the art will understand that,
even though method 900 is described in conjunction with FIG. 1, any
system configured to perform the method steps, in any order, is
within the scope of embodiments of the invention. In the method
900, OE 108 is configured to act as an issuing bank. More
specifically, OE 108 is configured to issue one or more pre-paid
credit cards that are distributed to merchants who are unaware of
their merchant ID, which is a typical problem. When charges are
attempted on such cards, OE 108 receives a transaction request
because the OE 108 is the issuer of the card. The transaction
received by the OE 108 includes at least a merchant ID of the
merchant that is attempting to charge the card. The transaction may
also include a date/time that the transaction was generated and
amount associated therewith.
[0071] As shown, method 900 begins at step 902, where OE 108 issues
a credit card to a merchant. OE 108 also maintains a hash of the
numbers included on the credit card according to the hashing
techniques described above in conjunction with FIG. 4 such that
comparisons can be made in a secure manner.
[0072] At step 904, OE 108 instructs merchant 102 to execute a
transaction at a specified time and/or for a specified amount of
money. In one example, merchant 102 is instructed by OE 108 to
attempt a charge for $11,302.34 on Jan. 23, 2011 between the hours
of 3:00 PM and 4:00 PM.
[0073] At step 906, OE 108 identifies the transaction. In one
embodiment, OE 108 is configured to automatically identify the
transaction when a request for the transaction is received. In
another embodiment, OE 108 is configured to parse a set of
transactions, e.g., at the end of each day, to identify the
transaction. At step 908, OE 108 extracts a merchant ID associated
with the identified transaction. In turn, the merchant ID may be
used to register a merchant account, as described above in
conjunction with FIG. 3. In some embodiments, the OE 108 may then
decline the transaction so that no funds are actually transferred
between financial institutions.
[0074] Advantageously, embodiments of the invention provide an
improved technique for monitoring for offline transactions. A
customer accepts an offer provided by a merchant and submits his or
her account information so that he or she may receive a reward for
satisfying criteria associated with the offer. Transactions of the
merchant are then monitored to determine whether the customer
satisfies the purchase criteria. As a result, the merchant is able
to determine the overall effectiveness of advertising campaigns by
analyzing the number of offers that are both accepted and
satisfied.
[0075] While the foregoing is directed to embodiments of the
present invention, other and further embodiments of the invention
may be devised without departing from the basic scope thereof. For
example, aspects of the present invention may be implemented in
hardware or software or in a combination of hardware and software.
One embodiment of the invention may be implemented as a program
product for use with a computer system. The program(s) of the
program product define functions of the embodiments (including the
methods described herein) and can be contained on a variety of
computer-readable storage media. Illustrative computer-readable
storage media include, but are not limited to: (i) non-writable
storage media (e.g., read-only memory devices within a computer
such as CD-ROM disks readable by a CD-ROM drive, flash memory, ROM
chips or any type of solid-state non-volatile semiconductor memory)
on which information is permanently stored; and (ii) writable
storage media (e.g., floppy disks within a diskette drive or
hard-disk drive or any type of solid-state random-access
semiconductor memory) on which alterable information is stored.
Such computer-readable storage media, when carrying
computer-readable instructions that direct the functions of the
present invention, are embodiments of the present invention.
[0076] In view of the foregoing, the scope of the present invention
is determined by the claims that follow.
* * * * *