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: 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":74512,"date":"2021-07-12T08:16:13","date_gmt":"2021-07-12T12:16:13","guid":{"rendered":"https:\/\/www.beet.tv\/?p=74512"},"modified":"2021-07-12T08:16:13","modified_gmt":"2021-07-12T12:16:13","slug":"how-to-inject-creative-into-programmatic-xaxis-lin","status":"publish","type":"post","link":"https:\/\/dev.beet.tv\/2021\/07\/how-to-inject-creative-into-programmatic-xaxis-lin.html","title":{"rendered":"How To Inject Creative Into Programmatic: Xaxis’ Lin"},"content":{"rendered":"

If the “Mad Men” and the “Maths Men” were to really work together, it might look a little like the picture Xiao Lin paints.<\/p>\n

In this video interview with Beet.TV, the MD for solutions at WPP-owned Xaxis says the two different sides of the ad industry need to re-unite.<\/p>\n

He says the key is finding ways to put creativity back at the centrality of ad ops, and scaling personal creative to programmatic scale.<\/p>\n

Creative is under-played<\/h2>\n

“Creative in the programmatic space has always been underutilised, always been a little bit underappreciated,” Lin says.<\/p>\n

He blames the separation on creative’s origins in linear media like TV and magazines, which led “creative agencies tend to be separate entities and separate disciplines from the media buying or the media planning entities”.<\/p>\n

“In the programmatic industry, that creative activation is an afterthought because most of that creative again comes from the client’s creative agency,” Lin says. “So we’re essentially a lot of times taking or re-purposing what was already created by some agency who really have no connection to the media.”<\/p>\n

Scaling creative<\/h2>\n

Lin wants to change that, so that clients to utilise and recognise the power of creative in the programmatic ecosystem.<\/p>\n

But that’s going to involve combining distinct requirements from each side.<\/p>\n

“What we really want to do as a company is make sure clients have really bespoke creative that speaks to the consumers in this environment, and also connect that to the data and to the media that they’re running with us,” Lin says.<\/p>\n

Dynamic creative optimization (DCO) can help the journey – the practice through which individual items within the creative can be customized for different recipients, leading to thousands of different variations.<\/p>\n

That is a big increase from what Lin says is currently only “about three to about four creatives per campaign with clients”.<\/p>\n

So technology is nevertheless going to be required to mix personal creative at scale.<\/p>\n

Tools for responsibility<\/h2>\n

For Lin, it all adds up to the quest for “responsible media”, which he defines as: “Taking the trends that we have right now, but evolving them to the trends of the future, which means cookieless, which means more cohort-based optimizations and a huge emphasis on creative variations and creative optimization.”<\/p>\n

Xaxis is using two tools to make that mix:<\/p>\n

Copilot<\/h3>\n

Using signals like browser, location, time of day and the weather, “it enables us to create thousands of creative variations on the fly, it introduces thousands more different data inputs to which then our AI Copilot could actually optimise towards the output or the client’s outcome”.<\/p>\n

Bid Grouper<\/h3>\n

“(It) takes cookieless cohorts of the best performing segments of inventory … like browser, creative, time of day, geo – and essentially optimises towards the best cohorts. So creative will only allow our AI and also other AIs to introduce a tonne of measurable aspects of the creative, like the click, how long someone hover on the ad, if they interacted with a video, how long they played a video.”<\/p>\n

This video is part of the Global Forum on Responsible Media produced by Beet.TV, GroupM with the 4A\u2019s.\u00a0 This track on creativity, advanced technology and advertising is sponsored by IBM<\/span>\u00a0Watson Advertising.\u00a0 For more videos on this topic,\u00a0visit this page<\/a>.\u00a0\u00a0<\/strong>For more information on\u00a0IBM<\/span>\u00a0Watson Advertising, please\u00a0visit this page<\/a>.\u00a0<\/span><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"

If the “Mad Men” and the “Maths Men” were to really work together, it might look a little like the picture Xiao Lin paints. In this video interview with Beet.TV, the MD for solutions at WPP-owned Xaxis says the two different sides of the ad industry need to re-unite. He says the key is finding […]<\/p>\n","protected":false},"author":15,"featured_media":74966,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"mc4wp_mailchimp_campaign":[]},"categories":[8826,8831],"tags":[5314,8836],"_links":{"self":[{"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/posts\/74512"}],"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=74512"}],"version-history":[{"count":0,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/posts\/74512\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/media\/74966"}],"wp:attachment":[{"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/media?parent=74512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/categories?post=74512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/tags?post=74512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}