IP Library Granted Patent US 9,984,049
Granted Patent B2
US 9,984,049 · App. 14/799,079 · Granted May 29, 2018

Systems and methods for providing call context to content providers

Inventors: Varun Soundararajan (Sunnyvale, CA); Amit Agarwal (Sunnyvale, CA); Sriram Bhargav Karnati (Fremont, CA)
Assignee: Google LLC
G06F17/2247G06F3/04842G06F17/2705G06F17/30353G06Q30/0242H04L67/22G06F3/0481G06F3/04883G06F3/04886G06F17/30864G06F17/30905G09G5/00H04M1/72561
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 9,984,049
App. No.
14/799,079
Filed
Jul 14, 2015
Granted
May 29, 2018
Kind
B2
Examiner
TRAN, QUOC A
Art Unit
2177
USPC
715/234
Abstract

The present disclosure is directed to providing call context to content providers. A tracker receives a selection of a content item associated with a keyword. The tracker stores, in an impression data structure, tracking data including the keyword. The tracker maps the selected content item to a first virtual number and generates a link there between. The tracker receives a call from a client device to initiate a first communication channel via the first virtual number. The tracker performs a lookup in a database using the first virtual number to identify a second virtual number corresponding to the content provider and to identify the tracking data. The tracker establishes, via the second virtual number, a second communication channel between the client device and a content provider device. The tracker provides the tracking data to the content provider via the second communication channel.

Claims (68)

1. A method of providing call context via a computer network, comprising:

receiving, by a tracker executed by the data processing system via the computer network, a selection of a content item selected based on a keyword associated with the content item, the selection associated with a first time stamp;

storing, in an impression data structure responsive to the selection, tracking data including at least one of the keyword of the selected content item, a network source, and a term associated with a search query used by the data processing system to provide the content item;

parsing, by the data processing system responsive to the selection, a database storing a mapping of content items to virtual numbers to map the selected content item to a first virtual number;

generating, by the data processing system, a link between the tracking data stored in the impression data structure and the first virtual number stored in the database;

providing, by the data processing system, the first virtual number via a webpage;

receiving, by the tracker, a call from a client device to initiate a first communication channel via the first virtual number, the call associated with a second time stamp;

performing, by the tracker responsive to the call, a lookup in the database using the first virtual number to identify a second virtual number corresponding to the content provider and to identify the tracking data linked with the first virtual number;

establishing, by the tracker via the second virtual number, a second communication channel between the client device and a content provider device, the second communication channel comprising at least one of a voice call and a video call;

determining, by the tracker, a time interval between the first time stamp and the second time stamp;

associating, by the tracker responsive to the time interval satisfying a threshold, the tracking data with the second virtual number used to establish the second communication channel between the client device and the content provider device; and

providing, by the tracker responsive to the time interval satisfying the threshold, the tracking data to the content provider via the second communication channel for provision during the second communication channel.

2. The method of claim 1 , further comprising:

providing, by the content generator, the first virtual number for display on the webpage with the content item responsive to receiving the selection of the content item.

3. The method of claim 1 , further comprising:

performing, by the tracker, a second lookup in the database using the second virtual number to identify an electronic site associated with the content provider; and

providing, by the tracker, the tracking data for display on the site during the second communication channel.

4. The method of claim 3 , further comprising:

removing, by the tracker, the tracking data from the electronic site responsive to a second time interval.

5. The method of claim 1 , further comprising:

subsequent to termination of the second communication channel, receiving, by the tracker, a second call to initiate a third communication channel from the client device via the first virtual number, the second call associated with a third time stamp;

determining, by the tracker, a second time interval between the first time stamp and the third time stamp; and

providing, by the tracker, the tracking data to the content provider responsive to the second time interval satisfying the threshold.

6. The method of claim 1 , further comprising:

initiating, by the tracker, a third communication channel with the content provider device responsive to receiving the call from the client device to initiate the first communication channel; and

establishing, by the tracker, the second communication channel by merging the first communication channel with the third communication channel.

7. The method of claim 1 , further comprising:

providing, by the tracker, the tracking data to a call engine of the content provider configured with a policy, the call engine configured to apply the policy to the tracking data to select the content provider device from a plurality of content provider devices.

8. The method of claim 1 , further comprising:

storing, in the impression data structure responsive to the selection, tracking data including a search query input via the client device through the web page.

9. The method of claim 1 , further comprising:

receiving, by the tracker, the selection of the content item from a second client device different from the client device from which the tracker receives the call; and

providing, by the data processing system, the first virtual number for display on the webpage via the second client device.

10. A system for providing call context via a computer network, comprising:

a data processing system comprising a processor;

a tracker executed by the data processing system to:

receiving, via the computer network, a selection of a content item selected based on a keyword associated with the content item, the selection associated with a first time stamp;

store, in an impression data structure responsive to the selection, tracking data including at least one of the keyword of the selected content item, a network source, and a term associated with a search query used by the data processing system to provide the content item;

parse, responsive to the selection, a database storing a mapping of content items to virtual numbers to map the selected content item to a first virtual number;

generate a link between the tracking data stored in the impression data structure and the first virtual number stored in the database;

provide the first virtual number via a webpage;

receive a call from a client device to initiate a first communication channel via the first virtual number, the call associated with a second time stamp;

perform, responsive to the call, a lookup in the database using the first virtual number to identify a second virtual number corresponding to the content provider and to identify the tracking data linked with the first virtual number;

establish, via the second virtual number, a second communication channel between the client device and a content provider device, the second communication channel comprising at least one of a voice call and a video call;

determine a time interval between the first time stamp and the second time stamp;

associate, responsive to the time interval satisfying a threshold, the tracking data with the second virtual number used to establish the second communication channel between the client device and the content provider device; and

provide, responsive to the time interval satisfying the threshold, the tracking data to the content provider via the second communication channel for provision with the second communication channel.

11. The system of claim 10 , wherein the data processing system is configured to:

provide the first virtual number for display on the webpage with the content item responsive to receiving the selection of the content item.

12. The system of claim 10 , wherein the data processing system is configured to:

perform a second lookup in the database using the first virtual number to identify an electronic site associated with the content provider; and

provide the tracking data for display on the site during the second communication channel.

13. The system of claim 12 , wherein the data processing system is configured to:

remove the tracking data from the electronic site responsive to a second time interval.

14. The system of claim 10 , wherein the data processing system is configured to:

subsequent to termination of the second communication channel, receive a second call to initiate a third communication channel from the client device via the first virtual number, the second call associated with a third time stamp;

determine a second time interval between the first time stamp and the third time stamp; and

provide the tracking data to the content provider responsive to the second time interval satisfying the threshold.

15. The system of claim 10 , wherein the data processing system is configured to:

initiate a third communication channel with the content provider device responsive to receiving the call from the client device to initiate the first communication channel; and

establish the second communication channel by merging the first communication channel with the third communication channel.

16. The system of claim 10 , wherein the data processing system is configured to:

provide the tracking data to a call engine of the content provider configured with a policy, the call engine configured to apply the policy to the tracking data to select the content provider device from a plurality of content provider devices.

17. The system of claim 10 , wherein the data processing system is configured to:

store, in the impression data structure responsive to the selection, tracking data including a search query input via the client device through the web page.

18. The system of claim 10 , wherein the data processing system is configured to:

receive the selection of the content item from a second client device different from the client device from which the tracker receives the call; and

provide the first virtual number for display on the webpage via the second client device.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2015
From: SOUNDARARAJAN, VARUN; AGARWAL, AMIT; KARNATI, SRIRAM BHARGAV
To: GOOGLE INC.
Reel/Frame 036166/0204 →
Continuity (1)
Related Publication 20170017622A1 · Jan 19, 2017