London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

Quan Mai
May 6, 2020
  7973
(5 votes)

New "feature" in Commerce 13.16: Marketing UI statistics has been reworked

We released this feature a while back, but as the release notes are usually overlooked, the change might be seen as a bug. 

It's not a bug, it's a feature.

In the past, when you visit the Marketing UI, you can also see how many times a promotion has been redeemed, and how many orders have been created with that promotion/campaign, in real time. While it's fun to see the number changes - especially during a hot campaign, getting them are not as fun.

Getting the number of redemption is an easy task, it can be done by a simple COUNT in SQL. Counting the orders, in other hands, is a heavy task. An order might have multiple forms, and a form might have a promotion redeemed multiple times. To get the correct numbers, it has to be done by COUNT DISTINCT, which is (very) expensive.

And then because a campaign might contain multiple promotions, AND an order might have several promotions applied (which is good for your customers!), counting the number in that orders is even more expensive.

We got several reports from customers with huge number of orders (more than a few millions) that the Marketing UI is slow to load. After carefully investigation and consideration, we decided that we can make the SQL query better, but that alone is not enough. We need to change how data is collected. Getting the number of orders in real time is not a business critical feature, but slowing the UI down and potentially slowing down other queries, is a real concern.

So in Commerce 13.16, the statistisc in Marketing UI has been reworked. The order numbers are no longer updated in real time. The result: Marketing UI is now faster than ever before!

If you want to see the updates, you need to run the scheduled job manually (or set them to run, says, daily, or hourly). When you upgrade, the existing data will be migrated automatically. What to do after that is up to you. If you don't really care about those numbers, you can forget about it. More details can be read here: https://world.episerver.com/documentation/Release-Notes/ReleaseNote/?releaseNoteId=COM-10446

May 06, 2020

Comments

Praful Jangid
Praful Jangid May 7, 2020 07:41 AM

Good job team!

Johan Book
Johan Book May 7, 2020 10:41 PM

Yay! This is some really good news! Good job!

Kane Made It
Kane Made It May 13, 2020 10:27 AM

Yeah, I love the performance improvement. Nicely done there!

Sanjay Kumar
Sanjay Kumar Feb 18, 2021 03:41 AM

Awesome work team!

Please login to comment.
Latest blogs
Creating a Dropdownlist in Optimizely CMS: Populate ISelectionFactory with values from another block's properties

Create a Block to hold selection options using EPiServer.Cms.Shell.UI.ObjectEditing.EditorDescriptors; using EPiServer.PlugIn; using EPiServer.Shel...

sunylcumar | May 12, 2025

Opal AI available in Optimizely CMS (SaaS)

Use Opal AI to translate your content!

Tomas Hensrud Gulla | May 12, 2025 |

Get Up to Speed with Optimizely Opal: Quick Start Resources

Exciting New Feature Updates to Optimizely Opal: Elevating Your Product Experience We're thrilled to announce the launch of massive feature updates...

Patrick Lam | May 9, 2025

Scan file uploads for Malware in EPiServer/Optimizely CMS 11 - EPiServer Forms

Do you have forms on your website where visitors can upload files? Perhaps CV's for job applications or documentation for claims, or other kind of...

Allan Thraen | May 9, 2025 |