IP Library Granted Patent US 10,318,992
Granted Patent B2
US 10,318,992 · App. 15/421,986 · Granted Jun 11, 2019

Cross-device geolocation sensing to geotarget offers

Inventors: Brian Keith Showers (Austin, TX); Eithan Zilkha (Austin, TX)
Assignee: RetailMeNot, Inc.
G06Q30/0261G01S5/0252G06Q30/02G06Q30/0239G06Q30/0242G06Q30/0255G06Q30/0256G06Q30/0257G06Q30/0267G06Q30/0269H04W4/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,318,992
App. No.
15/421,986
Granted
Jun 11, 2019
Kind
B2
Abstract

Provided is a process of distributing offers to non-location-sensing devices based on a geolocation sensed by another device, the process comprising: obtaining a geolocation of a user from a mobile device of the user; associating the geolocation of the user with an identifier of the user in an offers engine; receiving a request for an offer from another computing device of the user, the request including or prompting obtaining data from the other computing device sufficient to identify the user; retrieving the geolocation of the user obtained from the mobile device by identifying the user with the data from the other computing device sufficient to identify the user account; selecting, with the offers engine, a responsive offer based on the geolocation of the user obtained from the mobile device; and sending the responsive offer to the other computing device of the user.

Claims (131)

1. A tangible, non-transitory, machine-readable medium storing instructions that when executed by one or more computers effectuate operations comprising:

receiving, with one or more processors, via a network, a geolocation of a first computing device, wherein the first computing device is configured to sense the geolocation;

receiving, with one or more processors, via a network, a request for content from a second computing device different from the first computing device, wherein the second computing device does not provide its geolocation in association with the request for content;

correlating, with one or more processors, the geolocation of the first computing device with the request for content from the second computing device;

selecting a plurality of content items for the second computing device based on the geolocation of the first computing device that is correlated with the request for content; and

causing the plurality of content items to be sent, via a network, to the second computing device.

2. The medium of claim 1 , wherein:

the first computing device is a mobile, hand-held computing device having a battery and a global-positioning system sensor;

the geolocation is received from the first computing device after being sensed by the first computing device;

the geolocation is received in an application program interface communication from a native application executing on the first computing device as a background process;

the geolocation is sent responsive to an event detected by the first computing device indicative of movement of the first computing device;

the native application is a native offers application configured to present coupons redeemable in-store and online;

the request for content is a request for coupons to display in an offers webpage received by an offers engine; selecting the content items comprises selecting in-store coupons based on geolocations of stores at which the in-store coupons are redeemable; and

correlating the geolocation of the first computing device with the request for content from the second computing device comprises steps for correlating the geolocation of one computing device with a request for content from another computing device.

3. The medium of claim 1 , the operations comprising:

receiving data indicative of user interaction with at least some of the selected content items;

storing the data in a key-value data store indexed according to a hash table to expedite access to stored data; and

analyzing records of the key-value data store to adjust future selections of content items, wherein:

the content items include in-store offers; and

selecting the plurality of content items comprises selecting in-store offers based on both geolocations of stores at which the in-store offers are redeemable and the geolocation of the first computing device being in the same geographic area.

4. The medium of claim 1 , wherein:

at least some of the content items are concurrently stored in both:

an in-memory, cache server storing references to the at least some of the content items in a hash table; and

a persistent data store having a version of at least one of the at least some of the content items that is inconsistent with a version of the same content item in the cache server.

5. The medium of claim 1 , wherein:

the received request for content items is an XMLHttpRequest for data in a serialized format upon which a client-side script executing on the second computing device will base changes in a webpage having the client-side script.

6. The medium of claim 1 , wherein the request for content is received after sending an interface for faceted requests for offers redeemable online and for offers redeemable in-store, and wherein the request for content indicates that one of the interfaces for faceted requests was selected by a user.

7. The medium of claim 1 , the operations comprising:

receiving offer data in a serialized data format;

identifying offers in the offer data based on the identified offers not being presently stored in an offers data store;

normalizing the identified offer data by normalizing field names of the identified offers and normalizing date formats; and

enriching identified offers by adding images to at least some of the identified offers and adding metadata to at least some of the identified offers, wherein the selected content items include at least some of the identified offers.

8. The medium of claim 1 , the operations comprising:

receiving another request from the second computing device, the other request indicating user selection of one of the content items; and

sending, responsive to the other request, instructions to request content from an affiliate network server configured to redirect the second computing device to another webpage pertaining to the selected one of the content items.

9. The medium of claim 1 , the operations comprising:

receiving another request from the second computing device, the other request indicating user selection of one of the content items; and

causing the second computing device to use a browser plug-in for providing cross-domain access to browser memory to identify a publisher provider of the selected content item to a merchant computer system.

10. The medium of claim 1 , wherein:

the request for content is received with an offers engine configured to perform steps for reducing a burden on users attempting to identify offers.

11. The medium of claim 1 , wherein:

the geolocation is associated with the request based on a session identifier sent with the request by the second computing device, the session identifier being associated with the first computing device.

12. The medium of claim 1 , wherein correlating the geolocation of the first computing device with the request for content from the second computing device comprises:

matching the first computing device to the second computing device based on a single-use offer code accessed by both the first computing device and the second computing device.

13. The medium of claim 1 , wherein correlating the geolocation of the first computing device with the request for content from the second computing device comprises:

matching the first computing device to the second computing device based on both a wireless beacon identifier received by the first computing device in a merchant store and a credit card identifier matched to the wireless beacon identifier based on timestamps associated with the beacon identifier and a transaction using the credit card identifier.

14. The medium of claim 1 , wherein correlating the geolocation of the first computing device with the request for content from the second computing device comprises:

obtaining a first public Internet Protocol (IP) address from a header field of a packet sent by the first computing device;

obtaining a second public IP address from a header field of a packet sent by the second computing device; and

determining that the first public IP address is identical to the second public IP address.

15. The medium of claim 1 , wherein correlating the geolocation of the first computing device with the request for content from the second computing device comprises:

obtaining a browser fingerprint of a web browser executing on the second computing device;

calculating a hash value based on the browser fingerprint; and

accessing a user profile in via a hash table indexed according to browser fingerprints.

16. The medium of claim 1 , the operations comprising:

determining that a difference in time between a time-stamp of the geolocation in a corresponding user account and the current time exceeds a threshold; and

in response to the determination, sending a request to the first computing device to obtain an updated geolocation after receiving the request for content from the second computing device.

17. The medium of claim 16 , the operations comprising:

sending content items responsive to the request for content to the second computing device before receiving a response to the request for an updated geolocation;

receiving the updated geolocation after sending the content items; and

sending geo-targeted offers to the second computing device based on the updated geolocation.

18. The medium of claim 1 , the operations comprising:

performing steps for reminding a user of an offer.

19. The medium of claim 1 , wherein:

the content items are selected before receiving the request for content from the second computing device to expedite a response to the request.

20. A method, comprising:

receiving, with one or more processors, via a network, a geolocation of a first computing device, wherein the first computing device is configured to sense the geolocation;

receiving, with one or more processors, via a network, a request for content from a second computing device different from the first computing device, wherein the second computing device does not provide its geolocation in association with the request for content;

correlating, with one or more processors, the geolocation of the first computing device with the request for content from the second computing device;

selecting a plurality of content items for the second computing device based on the geolocation of the first computing device that is correlated with the request for content; and

causing the plurality of content items to be sent, via a network, to the second computing device.

21. The method of claim 20 , wherein:

the first computing device is a mobile, hand-held computing device having a battery and a global-positioning system sensor;

the geolocation is received from the first computing device after being sensed by the first computing device;

the geolocation is received in an application program interface communication from a native application executing on the first computing device as a background process;

the geolocation is sent responsive to an event detected by the first computing device indicative of movement of the first computing device;

the native application is a native offers application configured to present coupons redeemable in-store and online;

the request for content is a request for coupons to display in an offers webpage received by an offers engine;

selecting the content items comprises selecting in-store coupons based on geolocations of stores at which the in-store coupons are redeemable; and

correlating the geolocation of the first computing device with the request for content from the second computing device comprises steps for correlating the geolocation of one computing device with a request for content from another computing device.

22. The method of claim 20 , comprising:

receiving data indicative of user interaction with at least some of the selected content items;

storing the data in a key-value data store indexed according to a hash table to expedite access to stored data; and

analyzing records of the key-value data store to adjust future selections of content items, wherein:

the content items include in-store offers; and

selecting the plurality of content items comprises selecting in-store offers based on both geolocations of stores at which the in-store offers are redeemable and the geolocation of the first computing device being in the same geographic area.

23. The method of claim 20 , wherein:

at least some of the content items are concurrently stored in both:

an in-memory, cache server storing references to the at least some of the content items in a hash table; and

a persistent data store having a version of at least one of the at least some of the content items that is inconsistent with a version of the same content item in the cache server.

24. The method of claim 20 , wherein:

the received request for content items is an XMLHttpRequest for data in a serialized format upon which a client-side script executing on the second computing device will base changes in a webpage having the client-side script.

25. The method of claim 20 , wherein the request for content is received after sending an interface for faceted requests for offers redeemable online and for offers redeemable in-store, and wherein the request for content indicates that one of the interfaces for faceted requests was selected by a user.

26. The method of claim 20 , comprising:

receiving offer data in a serialized data format;

identifying offers in the offer data based on the identified offers not being presently stored in an offers data store;

normalizing the identified offer data by normalizing field names of the identified offers and normalizing date formats; and

enriching identified offers by adding images to at least some of the identified offers and adding metadata to at least some of the identified offers, wherein the selected content items include at least some of the identified offers.

27. The method of claim 20 , comprising:

receiving another request from the second computing device, the other request indicating user selection of one of the content items; and

sending, responsive to the other request, instructions to request content from an affiliate network server configured to redirect the second computing device to another webpage pertaining to the selected one of the content items.

28. The method of claim 20 , comprising:

receiving another request from the second computing device, the other request indicating user selection of one of the content items; and

causing the second computing device to use a browser plug-in for providing cross-domain access to browser memory to identify a publisher provider of the selected content item to a merchant computer system.

29. The method of claim 20 , wherein:

the request for content is received with an offers engine configured to perform steps for reducing a burden on users attempting to identify offers.

30. The method of claim 20 , wherein:

the geolocation is associated with the request based on a session identifier sent with the request by the second computing device, the session identifier being associated with the first computing device.

31. The method of claim 20 , wherein correlating the geolocation of the first computing device with the request for content from the second computing device comprises:

matching the first computing device to the second computing device based on a single-use offer code accessed by both the first computing device and the second computing device.

32. The method of claim 20 , wherein correlating the geolocation of the first computing device with the request for content from the second computing device comprises:

matching the first computing device to the second computing device based on both a wireless beacon identifier received by the first computing device in a merchant store and a credit card identifier matched to the wireless beacon identifier based on timestamps associated with the beacon identifier and a transaction using the credit card identifier.

33. The method of claim 20 , wherein correlating the geolocation of the first computing device with the request for content from the second computing device comprises:

obtaining a first public Internet Protocol (IP) address from a header field of a packet sent by the first computing device;

obtaining a second public IP address from a header field of a packet sent by the second computing device; and

determining that the first public IP address is identical to the second public IP address.

34. The method of claim 20 , wherein correlating the geolocation of the first computing device with the request for content from the second computing device comprises:

obtaining a browser fingerprint of a web browser executing on the second computing device;

calculating a hash value based on the browser fingerprint; and

accessing a user profile in via a hash table indexed according to browser fingerprints.

35. The method of claim 20 , comprising:

determining that a difference in time between a time-stamp of the geolocation in a corresponding user account and the current time exceeds a threshold; and

in response to the determination, sending a request to the first computing device to obtain an updated geolocation after receiving the request for content from the second computing device.

36. The method of claim 20 , comprising:

sending content items responsive to the request for content to the second computing device before receiving a response to the request for an updated geolocation;

receiving the updated geolocation after sending the content items; and

sending geo-targeted offers to the second computing device based on the updated geolocation.

37. The method of claim 20 , comprising:

performing steps for reminding a user of an offer.

38. The method of claim 20 , wherein:

the content items are selected before receiving the request for content from the second computing device to expedite a response to the request.

Assignments (15)
RELEASE OF SECURITY INTEREST Recorded Jul 29, 2024
From: COMPUTERSHARE TRUST COMPANY, N.A., AS SUCCESSOR TO WELLS FARGO BANK, NATIONAL ASSOCIATION
To: NCH MARKETING SERVICES, INC.; VALASSIS COMMUNICATIONS, INC.; VALASSIS DIGITAL CORP.; VALASSIS DIRECT MAIL, INC.
Reel/Frame 068177/0738 →
SECURITY INTEREST Recorded Apr 8, 2021
From: EVERYDAY HEALTH, INC.; KEEPITSAFE, INC.; OOKLA, LLC; SPICEWORKS, INC.; THREATTRACK SECURITY, INC.; RETAILMENOT, INC.
To: MUFG UNION BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 056969/0755 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS AGENT
To: RETAILMENOT, INC.
Reel/Frame 054195/0983 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 42494/0822 Recorded Oct 28, 2020
From: CITIBANK, N.A.
To: RETAILMENOT, INC.; GIFTCARDZEN INC.; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC; DEALS.COM, LLC
Reel/Frame 054241/0662 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 43790/0953 Recorded Oct 28, 2020
From: CITIBANK, N.A.
To: RETAILMENOT, INC.; GIFTCARDZEN INC.; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC; DEALS.COM, LLC
Reel/Frame 054242/0951 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 42684/0863 Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: RETAILMENOT, INC.; GIFTCARDZEN INC.; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC; DEALS.COM, LLC
Reel/Frame 054243/0530 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 43791/0085 Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: RETAILMENOT, INC.; GIFTCARDZEN INC.; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC; DEALS.COM, LLC
Reel/Frame 054246/0727 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS AGENT
To: RETAILMENOT, INC.
Reel/Frame 054195/0719 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2019
From: SHOWERS, BRIAN KEITH; ZILKHA, EITHAN
To: RETAILMENOT, INC.
Reel/Frame 048990/0869 →
SECURITY INTEREST Recorded Sep 8, 2017
From: HARLAND CLARKE CORP.; SCANTRON CORPORATION; CHECKS IN THE MAIL, INC.; NCP SOLUTIONS, LLC; VALASSIS COMMUNICATIONS, INC.; VALASSIS DIRECT MAIL, INC.; VALASSIS IN-STORE SOLUTIONS, INC.; MAILCOUPS, INC.; NCH MARKETING SERVICES, INC.; VALASSIS DIGITAL, INC.; RETAILMENOT, INC.; GIFTCARDZEN INC.; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC; DEALS.COM, LLC
To: CITIBANK, N.A.
Reel/Frame 043790/0953 →
SECURITY INTEREST Recorded Sep 8, 2017
From: HARLAND CLARKE CORP.; SCANTRON CORPORATION; CHECKS IN THE MAIL, INC.; NCP SOLUTIONS, LLC; VALASSIS COMMUNICATIONS, INC.; VALASSIS DIRECT MAIL, INC.; VALASSIS IN-STORE SOLUTIONS, INC.; MAILCOUPS, INC.; NCH MARKETING SERVICES, INC.; VALASSIS DIGITAL, INC.; RETAILMENOT, INC.; GIFTCARDZEN INC.; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 043791/0187 →
SECURITY INTEREST Recorded Sep 8, 2017
From: HARLAND CLARKE CORP.; SCANTRON CORPORATION; CHECKS IN THE MAIL, INC.; NCP SOLUTIONS, LLC; VALASSIS COMMUNICATIONS, INC.; VALASSIS DIRECT MAIL, INC.; VALASSIS IN-STORE SOLUTIONS, CIN.; MAILCOUPS, INC.; NCH MARKETING SERVICES, INC.; VALASSIS DIGITAL, INC.; RETAILMENOT, INC.; GIFTCARDZEN INC.; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC; DEALS.COM, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 043791/0085 →
SECURITY INTEREST Recorded Jun 13, 2017
From: RETAILMENOT, INC.; GIFTCARDZEN INC.; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC; DEALS.COM, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 042684/0863 →
SECURITY INTEREST Recorded Jun 1, 2017
From: RETAILMENOT, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS AGENT
Reel/Frame 042562/0481 →
SECURITY INTEREST Recorded May 24, 2017
From: RETAILMENOT, INC.; GIFTCARDZEN INC; YSL VENTURES, INC.; CSB ACQUISITION CO., LLC; SMALLPONDS, LLC; RNOT, LLC; SPECTRAWIDE ACQUISITION CO., LLC; CLTD ACQUISITION CO., LLC; DEALS.COM, LLC
To: CITIBANK, N.A.
Reel/Frame 042494/0822 →
Continuity (6)
Continuation 14467590 · Aug 25, 2014
Continuation In Part 14060550 · Oct 22, 2013
Continuation In Part PCTUS2013045186 · Jun 11, 2013
Provisional Application 62016295 · Jun 24, 2014
Provisional Application 61658387 · Jun 11, 2012
Related Publication 20170148060A1 · May 25, 2017