Background & Problem Statement
Dmlights is an international e-commerce player in Lighting & Electrical supplies. As they are active worldwide with over 85.000 products in multiple languages, it becomes a huge chore to efficiently manage their performance campaigns. They consulted Semetis in order to achieve their main goal: ‘driving more profitable sales throughout different European countries in a fully automated fashion, while remaining time-efficient and covering the full assortment of products’.
Dmlights already had experience with feed based advertising to automatically create different types of search campaigns. Yet, this set-up encountered many bottlenecks:
- It was resource intensive: for every different marketing use case, a new type of feed tailored to that particular use case had to be generated. These feeds required daily updates by their servers, putting the infrastructure every morning under unnecessary stress.
- It was hard to scale: whenever dmlights wanted to advertise in a new country, all those specific feed combinations needed to be recreated, and the extensive campaign structure had to be set up from scratch. It could easily take up weeks until a new country was fully deployed.
- It was difficult to adapt feed attributes: as there was no real feed management tool in place to modify the different feed elements, it was nearly impossible to dynamically adapt the message. This meant that throughout time, the campaign remained rather static, and use cases such as temporary promotional messages were difficult to implement consistently in the accounts.
Channable - The first milestone
At Semetis we wanted to unblock the design bottlenecks. We put our problem-solving skills to the test: how can we streamline this process while maximizing the ROI? The first part of the answer lies with feed-based advertising. We used Channable as our Feed Management Tool, which enabled us to:
1. Import the data from one central feed
Instead of using a separate feed for each use case (I.e: mapping all the brand and collection names with their corresponding landing page), we started importing all the needed data for advertising directly from the product feed. As such dmlight could remove all redundant feeds from their servers, freeing up technical resources and decreasing the stress on their infrastructure.
However, having just one product feed per language/country remains expensive. Given the pricing model is set to a fee per SKU, and with around 85k SKUs per language and per country, the investment needed multiplied quickly as soon as we started to scale-up (f.e. 2 feeds for Belgium, 3 feeds in Switzerland, and so it continues). A feed analysis showed us that countries that share the same language, have an almost identical feed (Ie: BEFR vs FRFR). The main differentiator was the product price, as this changes for each country. So we found a solution by only picking one main feed per language, and glueing all the different country prices on top of it (see annex 1). To give a clear example: when we added Switzerland, we didn’t have to create any extra feed (so no extra SKUs or tech fee) as we could just use the German and French language feed, which were already setup for Germany and France respectively, and select the Swiss pricing column for our campaigns. This allowed us to save around €5.000 per year in tech fees, while maintaining the same use cases. This was a very important first iteration to the process to maximize ROI.
2. Optimize the product feed
In the second step we cleaned and tailored the product feed. Channable’s rule system allows you to enrich, filter and optimize the feed to fit the requirements of the advertising channels, such as Google Ads, Facebook, Criteo and Amazon. Some useful examples are:
- Stitching promotional data in order to apply rules that automatically change the message of our brands in promotion. For example: “Scandinavian weeks -20%” on specific brands.
- Stitching price data in order to show the accurate price in each country, without needing a feed per country.
- Stitching performance data from our platforms to our main feed, such as the search volumes per product (cfr: Zombie SKUs section later in this case) and the revenue per product, which can be used for further segmentation.
Because we plugged the different feeds within one feed management tool, these rules could be easily copied and shared between the different countries. This enabled us to work with an incremental and iterative approach. Because of our iterative approach, we only had to improve our rules and the quality of our feed over time. At the bottom line, we succeeded in bringing the time lag to penetrate a new country down to only a few hours. The time that was saved was a second iteration with a direct impact on the ROI.
3. Activate the feed for marketing
In the third and final step, we focused on activating our feed data. To maximize the impact we leveraged different channels:
- Google Automated Search Ads: The full Google Ads account structure was redesigned and built upon the feed management tools. Even Responsive Search Ads, Google Ads latest feature, were bulk designed from Channable. Every morning the account structure (campaign design, text ad, keywords and custom landing pages) was updated taking into account the most fresh data and current promotions (see annex 2).
- Google Smart Shopping: here we focus on product-level advertising. The cleaned product feed, used for search ads use cases, was easily scalable to display & shopping advertising. With Smart Shopping we appear visually with all our in-stock products as soon as users are searching for any of them. It combines the power of Dynamic Product Remarketing, to also chase those users in case they didn’t buy the product yet in the following 7 days.
- Bing Ads: With Bing still being responsible for 3% of all our search traffic, we found it a must to also give it the needed attention. In order to remain efficient we created a connector between Bing - and Google Ads. That way Channable updates Google Ads, and Google Ads updates Bing Ads on a daily basis. Ultra efficient.
- Facebook Dynamic Ads: Also on Social we wanted to be present with our product feed for Dynamic Product Remarketing.
This third step allowed us to distribute much more relevant ad experiences. While the first two steps focussed on cutting costs to maximize ROAS, this step is oriented on increasing return. Yet, we saw the opportunity to go even further in value creation by activating our data to a next level: moving from ROAS to POAS (Profit On Ad Spend).
POAS - The second milestone
In today’s world we need high volumes of data to effectively feed Smart Bidding algorithms (Ie: Maximize Conversion values in Google). These Smart Bidding algorithms take all kinds of signals into account in order to bid higher on users that are more likely to convert. They are black boxes, incorporating signals such as search behaviour, device usage, audience groups, time of day, website engagement, etc, to perform advanced user profiling. Our automated campaigns were a great start to generate tons of data. Thanks to all the qualitative, auto-generated campaigns, we were able to make a solid amount of revenue at lower maintenance costs.
But having automated search campaigns and smart bidding wasn’t enough for us. After running for some weeks, we measured and analysed the results and noticed that this setup easily achieves our ROAS targets, but often pushes forward the more popular brands with higher demand, but not necessarily higher profitability. If you worked in digital you know the struggle of finding a solid target ROAS for your campaign. Which is logic when you think about it. Pure revenue means nothing in terms of a business’ health. It’s all about the cost structure that is bound to it. Let me explain: some brands are more known and are consequently more searched (Ie: Philips). The system tends to overspend on these brands when they also bring lots of revenue, translating into high ROAS. Nevertheless the profit on some of these brands is very low. While doing this exercise it became clear that we needed to undertake one next step in our data-performance automation flow to transform our revenue - into a profit engine. That missing link was called profit margin data.
What we did was implement encrypted profit margin data at product-level in our dataLayer on the website. We then injected this profit data through Google Tag Manager into Google Ads, by creating a separate Profit Conversion (see annex 3). By encrypting this data, it became impossible for competitors to abuse it. We are deciphering it in our Google Ads platform so the value can be used for both reporting and optimization. This sacred data, in combination with smart bidding and machine learning, enabled us to optimize our massive set of campaigns towards Profit.
Zombie SKUs - The last milestone
As of this moment our profit engine was put into place and showing good results. Naturally, we analyzed our data and spotted our last issue: Whenever a new product was added, or came back in stock, it often got limited exposure. This is one pitfall of Smart Bidding Strategies. As soon as the machine is running and the algorithm picks the most successful products to push forward, it’s hard for new product entrants to fight for their spot. Eventually the Smart Shopping algorithm will include them while serving, but often at very low volume and it can take some weeks before that product appears. To compensate for this, we’ve built an automated report, using a Google Ads script, that stores the SKU’s of all products that received less than 1 click. This list with SKUs is then shared with Channable, so the tool can apply the ‘Zombie SKU’ label on all these products in the feed (see annex 4). Now it becomes easy: we only need to create a separate Smart Shopping campaign that solely serves the Zombie SKUs, to give them the exposure they deserve, before the main Smart Shopping campaign takes them into consideration some weeks later.
Results & Conclusion
The results skyrocketed. Today we have a conversion engine that maintains itself on the most important north star metric: profitability. Every day the pricing and inventory of all products get updated, new collections and categories get added, and this will all be adapted within our platform in near real-time in every country of sale. Brands that are less profitable are slowly disappearing and making room for dmlights own brands without human interference. On top, newly added products also get a fair chance to show their added value thanks to the Zombie SKUs. The figures speak for themselves:
- The Profit over Ad Spend (POAS) increased with 70% YoY
- Whereas the total Profit Values increased with 130% YoY
All of this, by adopting technology that facilitates working smarter instead of working harder. Today, this allows us to shift our resources from heavy operations towards tasks that really matter: advanced analysis and long-term strategy.
With this case we have proven:
- The added value of tools: by getting everything out of Channable, our Feed Management - and PPC Automation tool. Reducing all the manual labour of campaign setup and maintenance.
- The added value of measurement: by having the right conversion measurement in place in order to spot the issue of the popular, less profitable brands and the Zombie SKUs.
- The added value of media expertise: by challenging our own implementation. We did not stand still. As illustrated before, we have seen 3 big milestones that improved our case step by step (and, on top, saves us €5.000 in tech fees each year). This is all achieved by following our data closely and making the right decisions in collaboration with our client. The results are there to prove that: higher volumes (profit) and better quality (POAS).
- The added value for ourselves: This is a framework for the future. All the rules are in place to make this work worldwide with limited additional efforts.
This use case is as close to data and performance as things can get. That’s why we are convinced that it deserves the AMMA Award for Best Use of Data & Performance Marketing.