For consumer packaged goods (CPG) brands, retail media provides an answer to some of their biggest challenges. From the shopper-level data they need to find the right audiences, to tracking marketing’s actual impact on sales, retail media provides a clear – and predictable – path to growth.
Many CPGs enlist the services of marketing and advertising agencies to handle their media campaigns, of course. From planning and ideation through to execution and measurement, agencies provide a range of invaluable services that reduce the burden on their clients’ in-house teams. But while retail media might hold huge potential for those clients, it hasn’t always been the highest priority for agencies themselves.
The reason for that is at least partly to do with the way that the industry has developed over the years. For a long time, many of the tools and applications needed to get a retail media campaign up and running have been offered primarily as managed services. As a result, agencies have needed to work through third-parties, limiting the extent to which they can control and add value to campaigns.
Over the past two or three years, however, a number of grocery companies have refreshed their approach to retail media. And whether directly or indirectly, many of the actions that they’ve taken have helped to create a more “agency-friendly” retail media environment.
Here are three of what I believe are the biggest contributors to that shift:
There’s a been a phenomenal rise in the amount of money being spent on retail media over the past couple of years. Brand marketers in EMEA increased their investment into retailer-owned inventory by more than 50% in 2021[1], and figures from the IAB suggest that total spend on retail media will rise from €9bn in 2021 to around €29bn by 2026[2].
Coinciding with that influx of cash, many retailers have been making investments of their own. Over the past couple of years, we’ve seen a growing number of grocery retailers launch (or refresh) their own retail media platforms or networks – Walmart, Carrefour, Walgreens, and Tesco to name but a few.
While some of these platforms use proprietary software, and others combine different products from third-party vendors, the most important thing for agencies is that they also tend to offer self-service capabilities. This is a genuine gamechanger in comparison to the old managed service model, enabling agencies to book and manage retail media activities in the same way that they would a Google or Facebook ad campaign.
What’s more, by bringing multiple applications together in one place, agencies also have the ability to plan, book, execute, and measure the impact of their marketing initiatives via a single interface. That’s a huge win from an efficiency standpoint.
Once upon a time – not too long ago, in fact – the tactics that brands could employ as part of a retail media campaign were relatively linear. Even online, where there are arguably more opportunities to interact with shoppers on a one-to-one basis, brands were largely limited to basic display ads like homepage banners.
Now, though, things are changing – and fast. Many retailers have opened up their media inventory, providing brands with a much greater range of creative expression. Oftentimes these take the form of activities that are additive to the customer experience: highly relevant (and sponsored) product recommendations, for instance, or inspirational co-brand campaigns like Tesco’s Food Love Stories.
For agencies, the important thing here is that this makes retail media relevant to a much broader set of marketers. Gone are the days in which only shopper marketing teams could find value in retail media, with brand and performance teams now equally likely to benefit.
Added to this, agencies can now tie multiple campaign activities together at the same time; a co-brand campaign alongside personalised promotions, for instance. That enables marketing budgets to be pooled for greater all-round impact.
As well as enabling them to communicate with shoppers at the point of purchase, one of the major advantages to retail media is that it provides brands and agencies with shopper-level data. That’s important, not just because brand CRM databases tend to be 90% smaller than those owned by retailers[3], but because 80% of the information that CPGs do hold remains unmined[4].
The data that retailers can provide is crucial in helping agencies find the right audiences to meet their clients’ objectives. Until recently, though, that data was largely “locked” to the retailer in question; if you wanted to use it, you had to do so through that retailer’s own channels and inventory.
Now though, those insights are becoming more widely accessible. Walmart’s recent partnership with The Trade Desk allows agency advertisers to run targeted campaigns to the retailer’s customers on the open web. Kroger has built a similar relationship with TV provider Roku.
That’s not all, though. Some retailers are also forging partnerships with data clean room providers, making their shopper data shareable and transformable – all in a safe, anonymous, and compliant way. Kroger is again an early mover here, its partnership with Snowflake (and others) making headlines late last year.
As retail media offerings continue to become more sophisticated, this trend of agency-friendly platforms will only gather pace. And with 2023 – and the eventual demise of third-party cookies – now looming, that can only be a good thing.
[1] Who’s really driving the increase in retail media? – The Drum, 26 April 2021
[2] European Retailers Are Thinking More Like Publishers as They Expand Media Offerings – Videoweek, 20 January 2022
[3] Maximizing the Value of Data for CPG Marketers – Boston Consulting Group, 27 August 2020
[4] Customer Data Analytics and Insights Key to Post-Pandemic CPG Success – Treasure, 27 August 2020
Helping brands get the most from retail media
Audience Targeting solutionsUnderstand changing Shopper behaviours through unique Data Science
Shopper Insights solutionsCookie | Description |
---|---|
cli_user_preference | The cookie is set by the GDPR Cookie Consent plugin and is used to store the yes/no selection the consent given for cookie usage. It does not store any personal data. |
cookielawinfo-checkbox-advertisement | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category . |
cookielawinfo-checkbox-analytics | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Analytics" category . |
cookielawinfo-checkbox-necessary | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
CookieLawInfoConsent | The cookie is set by the GDPR Cookie Consent plugin and is used to store the summary of the consent given for cookie usage. It does not store any personal data. |
viewed_cookie_policy | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
wsaffinity | Set by the dunnhumby website, that allows all subsequent traffic and requests from an initial client session to be passed to the same server in the pool. Session affinity is also referred to as session persistence, server affinity, server persistence, or server sticky. |
Cookie | Description |
---|---|
wordpress_test_cookie | WordPress cookie to read if cookies can be placed, and lasts for the session. |
wp_lang | This cookie is used to remember the language chosen by the user while browsing. |
Cookie | Description |
---|---|
CONSENT | YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data. |
vuid | Vimeo installs this cookie to collect tracking information by setting a unique ID to embed videos to the website. |
_ga | The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognise unique visitors. |
_gat_gtag_UA_* | This cookie is installed by Google Analytics to store the website's unique user ID. |
_ga_* | Set by Google Analytics to persist session state. |
_gid | Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously. |
_hjSessionUser_{site_id} | This cookie is set by the provider Hotjar to store a unique user ID for session tracking and analytics purposes. |
_hjSession_{site_id} | This cookie is set by the provider Hotjar to store a unique session ID, enabling session recording and behavior analysis. |
_hp2_id_* | This cookie is set by the provider Hotjar to store a unique visitor identifier for tracking user behavior and session information. |
_hp2_props.* | This cookie is set by the provider Hotjar to store user properties and session information for behavior analysis and insights. |
_hp2_ses_props.* | This cookie is set by the provider Hotjar to store session-specific properties and data for tracking user behavior during a session. |
_lfa | This cookie is set by the provider Leadfeeder to identify the IP address of devices visiting the website, in order to retarget multiple users routing from the same IP address. |
Cookie | Description |
---|---|
aam_uuid | Set by LinkedIn, for ID sync for Adobe Audience Manager. |
AEC | Set by Google, ‘AEC’ cookies ensure that requests within a browsing session are made by the user, and not by other sites. These cookies prevent malicious sites from acting on behalf of a user without that user’s knowledge. |
AMCVS_14215E3D5995C57C0A495C55%40AdobeOrg | Set by LinkedIn, indicates the start of a session for Adobe Experience Cloud. |
AMCV_14215E3D5995C57C0A495C55%40AdobeOrg | Set by LinkedIn, Unique Identifier for Adobe Experience Cloud. |
AnalyticsSyncHistory | Set by LinkedIn, used to store information about the time a sync with the lms_analytics cookie took place for users in the Designated Countries (which LinkedIn determines as European Union (EU), European Economic Area (EEA), and Switzerland). |
bcookie | LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognise browser ID. |
bscookie | LinkedIn sets this cookie to store performed actions on the website. |
DV | Set by Google, used for the purpose of targeted advertising, to collect information about how visitors use our site. |
ELOQUA | This cookie is set by Eloqua Marketing Automation Tool. It contains a unique identifier to recognise returning visitors and track their visit data across multiple visits and multiple OpenText Websites. This data is logged in pseudonymised form, unless a visitor provides us with their personal data through creating a profile, such as when signing up for events or for downloading information that is not available to the public. |
gpv_pn | Set by LinkedIn, used to retain and fetch previous page visited in Adobe Analytics. |
lang | Session-based cookie, set by LinkedIn, used to set default locale/language. |
lidc | LinkedIn sets the lidc cookie to facilitate data center selection. |
lidc | Set by LinkedIn, used for routing from Share buttons and ad tags. |
li_gc | Set by LinkedIn to store consent of guests regarding the use of cookies for non-essential purposes. |
li_sugr | Set by LinkedIn, used to make a probabilistic match of a user's identity outside the Designated Countries (which LinkedIn determines as European Union (EU), European Economic Area (EEA), and Switzerland). |
lms_analytics | Set by LinkedIn to identify LinkedIn Members in the Designated Countries (which LinkedIn determines as European Union (EU), European Economic Area (EEA), and Switzerland) for analytics. |
NID | Set by Google, registers a unique ID that identifies a returning user’s device. The ID is used for targeted ads. |
OGP / OGPC | Set by Google, cookie enables the functionality of Google Maps. |
OTZ | Set by Google, used to support Google’s advertising services. This cookie is used by Google Analytics to provide an analysis of website visitors in aggregate. |
s_cc | Set by LinkedIn, used to determine if cookies are enabled for Adobe Analytics. |
s_ips | Set by LinkedIn, tracks percent of page viewed. |
s_plt | Set by LinkedIn, this cookie tracks the time that the previous page took to load. |
s_pltp | Set by LinkedIn, this cookie provides page name value (URL) for use by Adobe Analytics. |
s_ppv | Set by LinkedIn, used by Adobe Analytics to retain and fetch what percentage of a page was viewed. |
s_sq | Set by LinkedIn, used to store information about the previous link that was clicked on by the user by Adobe Analytics. |
s_tp | Set by LinkedIn, this cookie measures a visitor’s scroll activity to see how much of a page they view before moving on to another page. |
s_tslv | Set by LinkedIn, used to retain and fetch time since last visit in Adobe Analytics. |
test_cookie | Set by doubleclick.net (part of Google), the purpose of the cookie is to determine if the users' browser supports cookies. |
U | Set by LinkedIn, Browser Identifier for users outside the Designated Countries (which LinkedIn determines as European Union (EU), European Economic Area (EEA), and Switzerland). |
UserMatchHistory | LinkedIn sets this cookie for LinkedIn Ads ID syncing. |
UserMatchHistory | This cookie is used by LinkedIn Ads to help dunnhumby measure advertising performance. More information can be found in their cookie policy. |
VISITOR_INFO1_LIVE | A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface. |
YSC | YSC cookie is set by YouTube and is used to track the views of embedded videos on YouTube pages. |
yt-remote-connected-devices | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
yt-remote-device-id | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
yt.innertube::nextId | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
yt.innertube::requests | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
_gcl_au | Set by Google Analytics, to take information in advert clicks and store it in a 1st party cookie so that conversions can be attributed outside of the landing page. |