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: 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: 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":40766,"date":"2016-07-06T07:37:40","date_gmt":"2016-07-06T11:37:40","guid":{"rendered":"http:\/\/www.beet.tv\/?p=40766"},"modified":"2016-07-06T07:37:40","modified_gmt":"2016-07-06T11:37:40","slug":"16cannesapprubenstein","status":"publish","type":"post","link":"https:\/\/dev.beet.tv\/2016\/07\/16cannesapprubenstein.html","title":{"rendered":"‘Programmability Is The Next Big Thing’: 25 Buyers Go Banzai For AppNexus’ ‘Bonsai’"},"content":{"rendered":"

CANNES — Twelve months after it launched<\/a> an ability for advertisers to introduce custom logic to ad\u00a0buying, AppNexus claims\u00a025 clients are using the tool.<\/p>\n

Last year, the ad-tech platform bowed\u00a0AppNexus Programmable Bidder (APB), a way for buyers to connect with AppNexus via API. One part of that was Bonsai<\/a>\u00a0– \u00a0a way to let \u00a0advertisers “decide the values of distinct impression parameters and prioritize them via a tree logic and structure they create”, according to the company.<\/p>\n

AppNexus president Michael Rubenstein<\/a> tells Beet.TV more than 25 companies are now “developing amazing capabilities on top that”.<\/p>\n

“They are writing custom algorithms for a particular advertiser or campaign,” he says. “They are using a proprietary programming language that we built for data scientists called\u00a0Bonsai”.<\/p>\n

Rubenstein says customization will be king.<\/p>\n

“Programmability is the next big thing,” he predicts. “The ability to customize the platform is where this industry is heading.<\/p>\n

“Today, you see a small number of brands controlling their data \u2026 10 years from now, this is going to be ubiquitous.”<\/p>\n

 <\/p>\n

 <\/p>\n

This video is part of a series titled “Exploring Data & Technology as Catalysts for Creativity.” \u00a0This series was produced at Cannes Lions 2016 in cooperation the Xaxis<\/span>. The series is sponsored by comScore<\/span>. \u00a0For more segments from the series,\u00a0please visit this page<\/a>.<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"

CANNES — Twelve months after it launched an ability for advertisers to introduce custom logic to ad\u00a0buying, AppNexus claims\u00a025 clients are using the tool. Last year, the ad-tech platform bowed\u00a0AppNexus Programmable Bidder (APB), a way for buyers to connect with AppNexus via API. One part of that was Bonsai\u00a0– \u00a0a way to let \u00a0advertisers “decide […]<\/p>\n","protected":false},"author":15,"featured_media":40860,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"mc4wp_mailchimp_campaign":[]},"categories":[5781,5783],"tags":[5265,4659,5796],"_links":{"self":[{"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/posts\/40766"}],"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\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/comments?post=40766"}],"version-history":[{"count":0,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/posts\/40766\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/media\/40860"}],"wp:attachment":[{"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/media?parent=40766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/categories?post=40766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/tags?post=40766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}