The newest version of Easy Digital Downloads was released last week, and version 2.3 brings some very welcome changes to the customer management workflow. Signed URLs have also been implemented to improve security and performance of download links for purchases.
The new customer management tools are my favorite changes in this version, so I’ll start there 🙂 . While you could view a list of customers and some details about customers in previous versions of Easy Digital Downloads, it always felt like a bit of an afterthought (as it does with many eCommerce platforms!). For example, to see a list of customers, you’d have to visit the “Reports” screen, then filter the reports to see a customer list:
This list gave you some very useful information, such as total money spent in the store and a link to all orders for that customer. However, it was a bit hidden and you couldn’t view a “customer profile” or details without visiting the WordPress Users list.
Easy Digital Downloads 2.3 completely reworked the customer list display and management, as this list is now displayed as a top-level EDD menu item. The “Customers” menu will still link to purchases to filter orders from the customers and show you total amount spent, but you’ll also be able to click on each customers to view the customer management screen.
While viewing a customer, you can now view some extremely helpful information, such as the customer lifetime value, a list of recent orders and downloads the customer can access. You can also add or edit customer information, such as the name or address, and link the customer to a WordPress user.
The tabbed interface will also allow you to access customer notes. This can be very helpful to add notes as to why a customer profile was updated, some information about interactions with your customer service team to help you provide better service, or to add any customer information that shouldn’t be tied to a particular order.
You can also completely remove a customer record, which is very helpful for testing accounts so that all purchase history is expunged.
The new customer profiles are also integrated into the “View Order Details” screen as well. Previously, the order was loosely tied to a customer record based on the user ID, but this could be changed while editing the order.
The customer details are now more tightly coupled to the order, as the order is tied to a particular customer record, or a new customer can be created on the go while editing or creating an order.
Overall, this is a huge change that should greatly improve customer management and help out your customer service team, as you can quickly access customer information and keep notes for your own record of interactions.
Another big change in Easy Digital Downloads 2.3 is the implementation of signed URLs, which was a long-outstanding issue. Previously, file download URLs for purchases looked like this:
They include information such as the customer email, download id, and expiration. The beta 1 announcement has a great recap of the issues with this implementation:
With the previous URLs, there were a few problems:
- The email address of the customer was revealed
- The file ID was revealed
- The download ID was revealed
- The expiration date could be manipulated
These issues all opened up download URLs to the possibility of being maliciously manipulated. With the new signed URLs, these problems are gone. If any part of the URL gets modified after it is created, it will be immediately invalidated and will not work.
The implementation of signed URLs fixes these issues to improve security and performance (not to mention the URLs are much shorter). Now URLs cannot be changed, or the download won’t work. The new structure contains a secure download token instead:
There are some other minor changes included in Easy Digital Downloads 2.3, such as improved stat tracking, that may not be apparent at first glance. Stats are tracked better for edited orders: products added to or deleted from a payment record now influence total sales and earnings for the product.
Tax and customer reports are also improved under the hood for better performance, and translations have been improved. Several new language files were added, and better support for the Polylang plugin is included.
The implementation of the customer management UI has also necessitated the creation a new EDD_Customer class. This makes it easier to access customer details and records, and includes several new hooks that plugins can use for customer actions.
For example, plugins can hook into customer lifetime value increases or decreases to trigger actions of their own. I could create a plugin that hooks into lifetime value increases to notify me if a customer reaches $500 in lifetime value, or even send coupons as customers hit a LTV threshold (i.e., send coupons or gift certificates each time a customer hits $500 or $1000 in LTV).
This also makes it easier for plugins to extend the customer class for their own purposes. This means that plugins can add new customer management tools, add information to the customer details, or hook into customer creation to trigger other actions. Long term, I think this will make it easier to tie EDD to other plugins, such as Restrict Content Pro, as these plugins could create “members” or their own users when an EDD customer is created.
While we’ve covered major features, I’d recommend checking on the release posts for full lists of each new feature or fix in Easy Digital Downloads 2.3.