Few issues in the retail space have come under greater scrutiny in the past year than the price of goods. While grocery costs are gradually expected to fall in the coming months[1], a protracted period of higher-than-usual prices has seen the sector attracting everything from specialist parliamentary investigations[2] in the UK, through to full-scale government intervention in France[3].
While inflation might be the focus right now, though, another issue has been brewing that could have a longer lasting impact on customer perceptions. With more people now buying their groceries via digital channels, some retailers have been thrown into an unwanted spotlight[4] due to the (sometimes considerable) differences between the promotions and pricing they offer in-store versus those which they set online[5].
From the retailer’s point of view, these variations are typically there for good reason. As we’ve discussed before, online grocery presents a significant profitability challenge – something that higher prices can help to mitigate. Conversely, the data-driven and dynamic nature of digital channels can make it easier for retailers to offer reactive pricing and personalised promotions online.
Logical though the reasoning for channel-specific pricing and promotions may be, however, that’s unlikely to matter to customers (and nor should it). The risk of shoppers feeling that they’re being overcharged – or worse still, discriminated against – for choosing one channel over another can be very high with this kind of strategy.
Because of that, it is important that retailers approach this issue from a truly Customer First perspective – and I believe that asking five specific questions can help retailers get into that mindset.
Different promotional mechanisms can achieve fundamentally different objectives. A two-for-one deal might encourage growth within a certain category, for instance, while a storewide price-lock can help to boost footfall. The same principle applies between different channels; not every tactic is guaranteed to be effective both online and in-store. The trick, of course, is knowing which work where – and why.
Evaluating promotional performance by channel is one thing, understanding the impact of removing them quite another. As well as looking at how effective your promotions are online as compared with in-store, it’s also important to consider how different customers would react to their removal from one channel and not the other. Multichannel shoppers are a good starting point for that kind of exploration.
It can be easy to assume that removing a promotion is inherently detrimental to the customer experience, particularly if shoppers on another channel still have access to it. That’s not necessarily the case, though. Our own evaluation programmes have often shown that too many promotions running at once can make shopping more confusing for many customers. Streamlining can have its advantages.
Price is a critical factor for any shopper – isn’t it? Contrary to expectations, price can often have much less of an impact on satisfaction amongst certain customer groups than others. That doesn’t present an automatic opportunity to charge those customers more; it does, however, help to understand where different tolerances exist and why.
Predicting how customers might respond to changes in your pricing and promotional architectures isn’t always easy – but it’s an essential capability nonetheless. Would an online customer switch to shopping at one of your stores, for instance, or would they switch to another retailer entirely? Understanding why people “lapse” – in any form – is a useful starting point.
As helpful as it can be to learn the answers to these questions, there’s another route to being truly Customer First here, and that’s being open and honest with customers.
One of the main risks associated in this area is that some customers can feel that like they’re being “tricked” into paying more. This sentiment can be particularly acute when differences between channels aren’t well communicated, which can easily be read as a retailer hoping that shoppers won’t notice – or simply won’t care – about them. Because of that, upfront and transparent dialogue around this issue is becoming increasingly vital.
Walmart offers an excellent example of how to do this effectively. Since 2017, North America’s largest retailer has operated a Price Match Policy on grocery produce, whereby it will match store prices against online ones where the latter is cheaper (with some restrictions). While this offer does not apply in reverse, the retailer does stress that it “strive[s] to offer the best possible price on Walmart.com every day”.
More than this, however, the US retailer is vocal about the background to this policy. A popup Pricing Information banner on Walmart’s product pages draws attention to the fact that there may be variations between channels, noting that “prices, terms, and availability may vary online, in stores, and in-app”. This open communication certainly doesn’t appear to have done Walmart any harm, with its 25.2% market share[6].
With the gap between online and offline shopping continuing to blur, and “blended” shopping becoming increasingly commonplace, there will be a growing opportunity for retailers to experiment with their pricing and promotional dynamics. In doing so, though, they must ensure that the impact on their customers is taken into account, and that they are crystal clear when calling out the changes.
[1] Supermarket chiefs insist worst is over for food inflation as commodity prices fall – The Telegraph, 27th June 2023
[2] Food and fuel price inflation: will prices come down this year? – Business and Trade Committee, 27th June 2023
[3] France’s food industry pledges to cut prices after government pressure – The Guardian, 9th June 2023
[4] M&S and Ocado cause anger with different pricing on same items – The Guardian, 18th October 2020
[5] Digital vs. in-store grocery shopping: What you need to know about price differences – 6ABC, 24th May 2023
[6] The most popular grocery stores in the U.S – Axios, 20th April 2023
Cookie | 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. |
fs_cid | Set by FullStory to correlate sessions for diagnostics and session consistency; not always set. |
fs_lua | Set by FullStory to record the time of the user’s last activity, helping manage session timeouts. |
fs_session | Set by FullStory to manage session flow and recording. Not always visible or applicable across all implementations. |
fs_uid | Set by FullStory to uniquely identify a user’s browser. Used for session replay and user analytics. Does not contain personal data directly. |
VISITOR_INFO1_LIVE | Set by YouTube to estimate user bandwidth and improve video quality by adjusting playback speed. |
VISITOR_PRIVACY_METADATA | Set by YouTube to store privacy preferences and metadata related to user consent and settings. |
vuid | Vimeo installs this cookie to collect tracking information by setting a unique ID to embed videos to the website. |
YSC | Set by YouTube to track user sessions and maintain video playback state during a browser session. |
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. |
_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. |
_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. |
_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 | Set by LinkedIn, used for routing from Share buttons and ad tags. |
lidc | LinkedIn sets the lidc cookie to facilitate data center selection. |
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. |
yt-remote-connected-devices | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
_gcl_au | Set by Google Tag Manager to store and track conversion events. It is typically associated with Google Ads, but may be set even if no active ad campaigns are running, especially when GTM is configured with default settings. The cookie helps measure the effectiveness of ad clicks in relation to site actions. |