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":75266,"date":"2021-07-29T07:31:40","date_gmt":"2021-07-29T11:31:40","guid":{"rendered":"https:\/\/www.beet.tv\/?p=75266"},"modified":"2021-07-29T10:58:42","modified_gmt":"2021-07-29T14:58:42","slug":"how-live-sales-data-changes-course-of-ads-in-flight-iris-pelio-on-loopme-case-study","status":"publish","type":"post","link":"https:\/\/dev.beet.tv\/2021\/07\/how-live-sales-data-changes-course-of-ads-in-flight-iris-pelio-on-loopme-case-study.html","title":{"rendered":"How Live Sales Data Changes Course Of Ads In-Flight: IRI’s Pelino On LoopMe Case Study"},"content":{"rendered":"

If you could see, in near real-time, how well an ad campaign was driving sales, you might be able to recalibrate it in “mid-flight”.<\/p>\n

That is what IRI, a consumer-packaged-goods (CPG) purchase data provider, is helping ad-tech companies and their ad buyers do.<\/p>\n

In this video interview with Beet.TV, Jennifer Pelino, EVP of omni-channel media at IRI, explains how it works – and how an IRI partnership with ad-tech firm LoopMe helped a beverage brand hit big results.<\/p>\n

The source of sales data<\/h2>\n

Founded to capitalise on the advent of point-of-sale (POS) terminal scanners, IRI grew to ingest purchase data from consumer-packaged-goods retailers across the US.<\/p>\n

“Because of the data set, the loyalty card data, the scale that we have, which is the largest of this kind in the world, we’re able to understand what a consumer purchased off of habitual products, like a beverage, or a toothpaste, or fruit roll-ups, whatever you may think of,” Pelino says.<\/p>\n

“We send that information on a weekly basis to LoopMe, in this particular case, in a data-compliant way that allows them to use that information and their technology from an AI perspective to help inform which consumers should get their advertisements.”<\/p>\n

Pelion says that allows users to ascertain, for example, whether they should find lookalike audiences of consumers who recently bought a particular product.<\/p>\n

Outcomes and speed<\/h2>\n

It is one more example of two trends that are becoming more commonplace in advertising:<\/p>\n

    \n
  1. Closing the loop with actual purchase data, to help ad buyers figure out outcomes and true campaign effectiveness, rather than traditional proxies.<\/li>\n
  2. Speeding-up the provision of such data, so that campaign changes can be made before the campaign has even ended, in pursuit of better results.<\/li>\n<\/ol>\n

    That is what IRI’s data has enabled for a beverage company, which Pelino did not name, together with LoopMe.<\/p>\n

    Thirsty for results<\/h2>\n

    “They were able to understand the in-store sales performance by the tactic, and then use that for their own AI technology advances to enable that corporate conversion and data into those in-flight decisions, helping them to make better outcomes,” Pelino says.<\/p>\n

    “What we found was that, when we delivered the mobile in-app and web inventory across display, rich media, mobile (and) video – using this very tactic of what we call IRI’s ‘campaign conversion fee’ – we were able to see extraordinary results.<\/p>\n

    “We saw increased dollar-per-household sales lift by 40% and an increase in the delivered return on advertisement of $1.28, which is pretty incredible during that timeframe when we see that the category average benchmark is about 12%.<\/p>\n

    “We increased that benchmark by 12% versus the overall carbonated beverage category sales lift. So, (they are) really incredible results because we’re able to optimise on sales versus vanity metrics.”<\/p>\n

    Want to replicate that success? IRI’s Pelino says having and smartly leveraging first-party customer data is crucial for brands.<\/p>\n

    You are watching \u201cOutcomes-Based Advertising: Connecting Ad Exposure to Business Results,\u201d a Beet.TV leadership video series presented by LoopMe. For more videos,\u00a0please visit this page<\/a>.\u00a0<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"

    If you could see, in near real-time, how well an ad campaign was driving sales, you might be able to recalibrate it in “mid-flight”. That is what IRI, a consumer-packaged-goods (CPG) purchase data provider, is helping ad-tech companies and their ad buyers do. In this video interview with Beet.TV, Jennifer Pelino, EVP of omni-channel media […]<\/p>\n","protected":false},"author":15,"featured_media":75279,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"mc4wp_mailchimp_campaign":[]},"categories":[8587],"tags":[7094,8876],"_links":{"self":[{"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/posts\/75266"}],"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=75266"}],"version-history":[{"count":0,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/posts\/75266\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/media\/75279"}],"wp:attachment":[{"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/media?parent=75266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/categories?post=75266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev.beet.tv\/wp-json\/wp\/v2\/tags?post=75266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}