Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-theme.php on line 544

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/class-wp-block-list.php on line 199

Deprecated: Optional parameter $value declared before required parameter $field is implicitly treated as a required parameter in /home/superbeet/dev.beet.tv/wp-content/plugins/wp-gdpr-compliance/Includes/Extensions/GForms.php on line 142

Deprecated: Optional parameter $lead declared before required parameter $field is implicitly treated as a required parameter in /home/superbeet/dev.beet.tv/wp-content/plugins/wp-gdpr-compliance/Includes/Extensions/GForms.php on line 142

Deprecated: Optional parameter $username declared before required parameter $errors is implicitly treated as a required parameter in /home/superbeet/dev.beet.tv/wp-content/plugins/wp-gdpr-compliance/Includes/Extensions/WC.php on line 47

Deprecated: Optional parameter $emailAddress declared before required parameter $errors is implicitly treated as a required parameter in /home/superbeet/dev.beet.tv/wp-content/plugins/wp-gdpr-compliance/Includes/Extensions/WC.php on line 47

Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /home/superbeet/dev.beet.tv/wp-includes/script-loader.php on line 333

Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/superbeet/dev.beet.tv/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/superbeet/dev.beet.tv/wp-includes/class-wp.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/superbeet/dev.beet.tv/wp-includes/class-wp-theme.php:9) in /home/superbeet/dev.beet.tv/wp-includes/rest-api/class-wp-rest-server.php on line 1667

Warning: Cannot modify header information - headers already sent by (output started at /home/superbeet/dev.beet.tv/wp-includes/class-wp-theme.php:9) in /home/superbeet/dev.beet.tv/wp-includes/rest-api/class-wp-rest-server.php on line 1667

Warning: Cannot modify header information - headers already sent by (output started at /home/superbeet/dev.beet.tv/wp-includes/class-wp-theme.php:9) in /home/superbeet/dev.beet.tv/wp-includes/rest-api/class-wp-rest-server.php on line 1667

Warning: Cannot modify header information - headers already sent by (output started at /home/superbeet/dev.beet.tv/wp-includes/class-wp-theme.php:9) in /home/superbeet/dev.beet.tv/wp-includes/rest-api/class-wp-rest-server.php on line 1667

Warning: Cannot modify header information - headers already sent by (output started at /home/superbeet/dev.beet.tv/wp-includes/class-wp-theme.php:9) in /home/superbeet/dev.beet.tv/wp-includes/rest-api/class-wp-rest-server.php on line 1667

Warning: Cannot modify header information - headers already sent by (output started at /home/superbeet/dev.beet.tv/wp-includes/class-wp-theme.php:9) in /home/superbeet/dev.beet.tv/wp-includes/rest-api/class-wp-rest-server.php on line 1667

Warning: Cannot modify header information - headers already sent by (output started at /home/superbeet/dev.beet.tv/wp-includes/class-wp-theme.php:9) in /home/superbeet/dev.beet.tv/wp-includes/rest-api/class-wp-rest-server.php on line 1667

Warning: Cannot modify header information - headers already sent by (output started at /home/superbeet/dev.beet.tv/wp-includes/class-wp-theme.php:9) in /home/superbeet/dev.beet.tv/wp-includes/rest-api/class-wp-rest-server.php on line 1667
{"id":57285,"date":"2018-11-25T16:47:50","date_gmt":"2018-11-25T21:47:50","guid":{"rendered":"https:\/\/www.beet.tv\/?p=57285"},"modified":"2018-11-25T16:47:50","modified_gmt":"2018-11-25T21:47:50","slug":"dan-callahan","status":"publish","type":"post","link":"https:\/\/dev.beet.tv\/2018\/11\/dan-callahan.html","title":{"rendered":"Fox’s Callahan Discusses The Challenges Of Ad Loads, Choices Across Platforms"},"content":{"rendered":"

While the \u201cpendulum swing has happened\u201d regarding the continued shift to connected-TV devices, it\u2019s trickier to adjust ad loads than on traditional linear programming. \u201cWhere does it work and where can you deploy it I think is still a bit of a challenge,\u201d says Fox Networks Group\u2019s Dan Callahan.<\/p>\n

For advanced targeting of TV audiences, \u201cLive linear programming is a big part of it. We are optimizing our television buys today for clients that have a desire to do so,\u201d the network\u2019s VP of Programmatic Sales says in this interview with Beet.TV at the recent WideOrbit<\/a> Connect User Conference.<\/p>\n

Meanwhile, on the digital side, whether it\u2019s full-episode, OTT, connected-TV devices or set-top video-on-demand, \u201cwe are looking to bring this cross-screen, trying to find an auto intender regardless of the modality that they\u2019re consuming our content and serving the person that is in market for that product that ad at the right time,\u201d Callahan<\/a> adds.<\/p>\n

Finding the right ad length and load is easier with on-demand content like movies where it\u2019s scripted and ad breaks are planned. \u201cI think you can do things with the break. You can shorten the break, adjust the break.\u201d<\/p>\n

Callahan sees Hulu\u2019s approach \u201cwith different flavors of subscriptions\u201d as offering a tradeoff with viewers in terms of ad choices and data sharing, while the \u201choly grail of serving right ad to right person with right format creates a less clustered more meaningful ad experience.\u201d<\/p>\n

Linear commercial breaks remain \u201cbaked in, sports isn\u2019t scripted, you don\u2019t know when somebody\u2019s going to score a touchdown or hit a home run. You don\u2019t know when that commercial break is going to happen,\u201d Callahan says.<\/p>\n

\u201cYou can probably load some up to be a certain way, but I think more in the archived, on-demand digital video library today you can get creative do things unique and interesting and create more value for the interruptions in a shorter capacity in those environments.\u201d<\/p>\n

Like other networks, Fox is seeing continued growth in connected-TV viewing year over year. \u201cThe idea of cord nevers versus cord cutters, that pendulum swing has happened.\u201d<\/p>\n

He sees a call for greater transparency in reporting and proving out de-duplication of connected-TV viewing audiences. \u201cHow does CTV really operate as the standalone from a tracking, delivery, audience perspective\u201d is one question. \u201cAs far as the CTV environment, there is a greater level of transparency on who\u2019s watching it, what are they watching, when are they watching and certainly the ability to tie it back to greater outcome attributed data sets as well,\u201d says Callahan.<\/p>\n

This video is part of a Beet.TV series on advanced TV produced at the WideOrbit Connect conference. WideOrbit is the sponsor of this series. Please find more videos here<\/a>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"

While the \u201cpendulum swing has happened\u201d regarding the continued shift to connected-TV devices, it\u2019s trickier to adjust ad loads than on traditional linear programming. \u201cWhere does it work and where can you deploy it I think is still a bit of a challenge,\u201d says Fox Networks Group\u2019s Dan Callahan. For advanced targeting of TV audiences, […]<\/p>\n","protected":false},"author":17,"featured_media":57287,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"mc4wp_mailchimp_campaign":[]},"categories":[7398],"tags":[4285,4798,6183,7646],"_links":{"self":[{"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/posts\/57285"}],"collection":[{"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/comments?post=57285"}],"version-history":[{"count":0,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/posts\/57285\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/media\/57287"}],"wp:attachment":[{"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/media?parent=57285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/categories?post=57285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/tags?post=57285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}