Selecting and serving a content item based on device state data of a device
A method includes receiving, by one or more processors of at least one server and via a connection between the at least one server and a client device, a request for a content item to be presented at the client device, receiving, by the one or more processors, data indicative of a network speed of the client device at which the content item is to be presented, selecting, by the one or more processors and based on the data indicative of the network speed, a first content item, and providing, by the one or more processors and for presentation at the client device, the first content item via the connection between the at least one server and the client device.
1 . A method comprising:
receiving, by one or more processors of at least one server and via a connection between the at least one server and a client device at which first-party content is presented, a request for a content item to be presented at the client device with the first-party content;
receiving, by the one or more processors, data indicative of a network speed of the client device at which the content item is to be presented with the first-party content;
selecting, by the one or more processors and based on (i) selection criteria associated with a third-party content provider, (ii) the data indicative of the network speed, and (iii) an auction process including a plurality of candidate content items, a first content item associated with the third-party content provider, wherein the selection criteria include one or more conditions or constraints for serving content items, and wherein the one or more conditions or constraints include a constraint associated with network speed; and
providing, by the one or more processors and for presentation at the client device with the first-party content, the first content item via the connection between the at least one server and the client device.
2 . The method of claim 1 , wherein the request for the content item includes the data indicative of the network speed.
3 . The method of claim 1 , wherein receiving data indicative of a network speed includes receiving data from an application executing on the client device.
4 . The method of claim 3 , wherein the application executing on the client device is configured to determine the network speed of the client device.
5 . The method of claim 1 , further comprising:
selecting, from a plurality of network speed categories, a first network speed category responsive to determining that the network speed of the client device is within a range of network speeds corresponding to the first network speed category,
wherein selecting the first content item is based on the first network speed category.
6 . The method of claim 1 , further comprising maintaining, in one or more data structures, an association between the first content item and a first network speed category corresponding to the network speed of the client device.
7 . The method of claim 1 , wherein the first content item comprises at least one of a video file, a streaming video, and an audio file.
8 . A system comprising:
one or more processors of at least one server; and
a computer-readable storage device storing instructions that, when executed by the one or more processors, cause the one or more processors to:
receive, via a connection between the at least one server and a client device at which first-party content is presented, a request for a content item to be presented at the client device with the first-party content,
receive data indicative of a network speed of the client device at which the content item is to be presented with the first-party content,
select, based on (i) selection criteria associated with a third-party content provider, (ii) the data indicative of the network speed, and (iii) an auction process including a plurality of candidate content items, a first content item associated with the third-party content provider, wherein the selection criteria include one or more conditions or constraints for serving content items, and wherein the one or more conditions or constraints include a constraint associated with network speed, and
provide, for presentation at the client device with the first-party content, the first content item via the connection between the at least one server and the client device.
9 . The system of claim 8 , wherein the request for the content item includes the data indicative of the network speed.
10 . The system of claim 8 , wherein receiving data indicative of a network speed includes receiving data from an application executing on the client device.
11 . The system of claim 10 , wherein the application executing on the client device is configured to determine the network speed of the client device.
12 . The system of claim 8 , wherein the instructions further cause the one or more processors to:
select, from a plurality of network speed categories, a first network speed category responsive to determining that the network speed of the client device is within a range of network speeds corresponding to the first network speed category,
wherein selecting the first content item is based on the first network speed category.
13 . The system of claim 8 , wherein the instructions further cause the one or more processors to:
maintain, in one or more data structures, an association between the first content item and a first network speed category corresponding to the network speed of the client device.
14 . The system of claim 8 , wherein the first content item comprises at least one of a video file, a streaming video, and an audio file.
15 . A non-transitory computer-readable storage medium having instructions that, when executed by one or more processors of at least one server, cause the one or more processors of the at least one server to:
receive, via a connection between the at least one server and a client device at which first-party content is presented, a request for a content item to be presented at the client device with the first-party content;
receive data indicative of a network speed of the client device at which the content item is to be presented with the first-party content;
select, based on (i) selection criteria associated with a third-party content provider, (ii) the data indicative of the network speed, and (iii) an auction process including a plurality of candidate content items, a first content item associated with the third-party content provider, wherein the selection criteria include one or more conditions or constraints for serving content items, and wherein the one or more conditions or constraints include a constraint associated with network speed; and
provide, for presentation at the client device with the first-party content, the first content item via the connection between the at least one server and the client device.
16 . The non-transitory computer-readable storage medium of claim 15 , wherein the request for the content item includes the data indicative of the network speed.
17 . The non-transitory computer-readable storage medium of claim 15 , wherein receiving data indicative of a network speed includes receiving data from an application executing on the client device.
18 . The non-transitory computer-readable storage medium of claim 17 , wherein the application executing on the client device is configured to determine the network speed of the client device.
19 . The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the one or more processors to:
select, from a plurality of network speed categories, a first network speed category responsive to determining that the network speed of the client device is within a range of network speeds corresponding to the first network speed category,
wherein selecting the first content item is based on the first network speed category.
20 . The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the one or more processors to:
maintain, in one or more data structures, an association between the first content item and a first network speed category corresponding to the network speed of the client device.