DPD Update: Customer Merge, Free Product Email Template, Bug Fixes

  • Jason@DPD
  • September 11, 2014

Last night we added a couple often requested features and released several bug fixes and tweaks.

Customer Merge Function

DPD vendors can now merge customers in to one customer record. Previously, you were unable to change a customer’s email address (which is how they’re identified in our system) with another customer. Now if you try to change a customer’s email to one that already exists we’ll ask you if you want to merge the customer records:


New Free Purchase Email Template

We’ve added a new template to free purchases, including products with a 0 price, “send free download” products, and sales that result in a 0 total after discounts/coupons.

You can customize this email independently of your paid thank you email template. We have gone ahead and copied your paid email template to your free email template so if you’ve already customized your paid email it will still be sent to free purchases instead of the default template.

This is so you can format free purchases and giveaways differently from paid purchase thank you emails, if desired.

Other Fixes and Tweaks in this update:

  • Fixed the profile PayPal email not being used for affiliate MassPay files in some cases. Now DPD will use the profile PayPal email if it exists, and the account email if it does not.
  • Fixed refund status for partial PayPal refunds. DPD will not mark the purchase as refunded and disable download for partial refunds now.
  • Fixed state/province not persisting on cart shipping form error.
  • Additional logging for purchases to aid in management and customer support investigation. Additional logging can be seen in the purchase log on each purchase page.
  • Fixed cart sale notices not being sent to the correct address in some instances.
  • Fixed cloning (copying) a product with non-latin letters in its name.
  • Added shipping_street2 merge var to the default invoice. If it exists it will be shown, if not the merge var is hidden.
  • Made available custom field response merge vars to purchase email templates. You can now use { custom_x } using your custom field IDs to merge them.
  • Updated spanish cart translations with help of a native speaker vendor.
  • Added “Capture” to the list of refundable actions.
  • Fixed the display of processor fees for Stripe that were disabled in the last update (oops!)

You can now integrate DPD with Drip Email Marketing

  • Jason@DPD
  • September 4, 2014
  • No Comments

Drip Email Marketing AutomationThe fine folks at Drip, an email marketing automation company, have written integration instructions for DPD using our notification URL feature. Now without writing a line of code you can now trigger almost any action in Drip when someone makes a purchase through DPD.

What makes Drip special? From Drip’s website:

Most email service providers (ESPs) are built to send email newsletters to a static list of subscribers. Drip can do this as well, but our main differentiation from traditional ESPs is our email automation. This makes it dead simple to move people into and out of multiple autoresponder sequences based on things they do: click certain links, open certain emails, express interest in a topic, etc…

Drip is not focused solely on a specific phase of email sending such as marketing or customer retention. We have invested heavily to support the following five stages of email sending: marketing, lead nurturing, trial lifecycle, customer retention/lifecycle, and post-cancellation.

We are laser-focused on serving the unique needs of SaaS applications and sellers of digital goods such as software, ebooks and online courses.

Their Drip integration instructions for DPD are straightforward and easy to understand- its essentially copy and paste a URL from Drip in to the DPD notification URL integration and then tell Drip what you want to do with the buyers.

We’ve been in contact with the Drip team and we’ll do our best to get help for any DPD vendors that need assistance with integrating the two services!

SOLVED: SoftLayer Datacenter Issues Leading to Decreased DPD Performance

  • Jason@DPD
  • August 27, 2014
  • No Comments

DPD’s primary servers are located in the Softlayer Washington, DC Datacenter. At approximately 1:30PM they had a fiber optic cable damaged that resulted in 6 minutes of downtime. As they are completing repairs there has been poor network performance connecting to the DPD servers. This impacts all DPD services including mail, product downloads, and the vendor admin.

Status updates are being posted to the two primary Softlayer twitter accounts:


Aug 26, 2014 1:26 PM EST: 6 minutes of downtime when fiber cable was cut. Because of the short downtime period, this was not a critical event.

Aug 26, 2014 1:32 PM EST: All DPD services restored. Our server and data were not affected- this is a network issue with the cables between data centers.

Ongoing: Softlayer Update: “Until WDC01 redundant links are completely restored, customers may experience higher than normal network latency and some packet loss.”

DPD posted a notice in the DPD admin and company twitter accounts.

Aug 26, 2014 4:00 PM EST: Softlayer Update: “Fiber crews are replacing the severed network link between WDC01 and WDC02. This work is expected to take several hours to complete.”

Aug 26, 2014 10:31 PM: Softlayer Update: “The crews encountered difficulty in pulling the cable through the conduit, so the repair has not been completed yet.”

Aug 27, 2014 1:00 AM: Performance seems to be improving. There is no Softlayer update at this time but we are monitoring network traffic to the DPD servers and throughput is rising.

Aug 27, 2014 10:45 AM: Softlayer announced that the repairs were completed. We’re still experiencing latency issues and we’re working with the provider to address them.

Aug 27, 2014 12:38 AM: All network issues are resolved.


1. A major fiber optic interconnect was severed at the SoftLayer datacenter in Washington, DC where DPD’s primary servers are located. This resulted in a 6 minute period of downtime while switching to backup lines.

2. While SoftLayer was repairing the severed line, all DPD traffic was moving over backup lines that struggled with the capacity, leading to poor DPD performance for about 23 hours.

3. The line was fixed. After several hours the traffic was returning to correct levels as it was re-routed back to the primary lines and bottlenecks were addressed.

Total time on error was 6 minutes.

Total time for degraded performance was 23.5 hours.

DPD Update: Authorize + Capture flow to prevent double charges, New Extra Sale Notice integration

  • Jason@DPD
  • August 25, 2014
  • 1 Comment

Today we released an update that changes the way we charge credit card transactions to prevent double submits of payment information resulting in double charges.

Authorize + Capture Flow for Credit Card Transactions

This change is somewhat technical and should be invisible to buyers but will address an important support issue affecting credit card users.

DPD has always used javascript to prevent double submits of the payment form in the DPD cart. However, recently there have been more and more timeouts when submitting charges to mainly Paypal Payments Pro where their site would fail to load (outside of DPD’s control), the buyer would give up and reload the page defeating any javascript we could do, and submit a duplicate charge.

The change released today now splits Authorize (to see if the funds are available) and capture (to actually charge the card) in to two separate transactions. This lets us double-check to see if there is more than one capture being sent for a transaction and cancel any duplicates before they are charged.

The end result should be no more double charges for customers even if the payment processor (PayPal, Stripe, Authorize.net, etc.) time out.

Extra Sale Notification Email Integration

Another often requested feature, We’ve added an integration that lets you send an extra sale notice email to anyone you choose on a per-store basis. This email is the exact email that the account owner gets if they select the “Send sale notice emails” option in their profile.

This is a per-store setting and you can add as many extra sale notice emails as you like.

DPD Update: Use your own S3 File Fulfillment, UI Updates, Bug Fixes

  • Jason@DPD
  • August 13, 2014
  • No Comments

Today we released a new purchase action that allows you to deliver a file from your own S3 bucket. This is an often requested feature for advanced users only.

This is an advanced feature that will cost you money.

Have no illusions about this feature–

Its complicated to set up, requires that you generate and enter your AWS credentials and file URLs, and will cost you money in addition to your DPD monthly fee. This is only for advanced users only.

You are responsible for all storage and bandwidth/delivery fees incurred through Amazon S3 for files delivered from your S3 account.

The vast majority of users will use DPD’s built in file storage and delivery by using a simple “Deliver File..” action. This uses the storage space included with your DPD plan and does not charge any additional fees for storage or bandwidth. With a deliver file action all you need to do is upload a file to DPD and that is it.

Other changes in this update:

  • Updated the UI on DPD Admin list views (purchase actions, payment processors, shipping, etc.)
  • Tweaked the way we handle duplicate PayPal IPNs to prevent transaction errors.
  • Fixed an issue where empty 3rd party conversion tracking integrations would cause checkout failure
  • Removed a restriction that would cause hard coded “continue shopping” URLs in the button code to not work as expected
  • Updated UPS integration to assume all addresses are residential
  • Required javascript enabled to complete checkout where tax is collected, eliminating a way to avoid taxes.
  • Added new graphics and logos throughout the DPD admin
  • Removed unused legacy admin plugins to improve performance

DPD Update: Per-Product Affiliate Hoplinks, admin and theme tweaks

  • Jason@DPD
  • July 15, 2014
  • No Comments

In this update we made an improvement to the DPD affiliate system as well as added a couple features to the admin that vendors have been requesting.

Per-Product Affiliate Links

You can now enter a product URL on Product -> Edit and we’ll provide a per-product hoplink to your affiliates that leads to that URL in their affiliate control panel.

To give your affiliates per-product hoplinks:

1. Log in to DPD
2. Go to Products in the left menu to open your product list
3. Edit the product you want to add a product URL to
4. Enter the product’s full URL in the field provided and save.

hoplink URL

Your affiliates will see, below the website hoplinks, any product specific hoplinks you have configured:


A Word about the affiliate system in DPD

We know that there are many features that need to be added to the affiliate system in DPD to make it a robust, full featured system.

The affiliate system is the oldest code in DPD, written back in the days before stores or even the cart existed.

We are working on an entirely new, full featured affiliate platform to replace the current one. This feature was added into the existing system because it was causing a major headache for many vendors, but our primary focus is the new system that will replace the current one. This is why there are not many affiliate updates at this time- we’re focusing our resources on the new and improved system.

Please, bear with us while we work on this huge improvement to DPD

Other Changes in this Update:

  • Added a Coupon Name filter to the Purchase list
  • Updated the coupon report to use the new coupon name filter as well as the coupon code filter for doing lookups
  • Added a language template global you can use in all cart text areas
  • Made purchase reactivation use the customer record email, not the purchase record
  • Fixed the sort on import from FTP list in file fulfillments to use name sort order
  • A few stability and performance tweaks related to our new hardware migration / platform improvements

Maintenance Completed

  • Jason@DPD
  • June 29, 2014
  • 1 Comment

We have completed our maintenance event and upgraded primary hardware.

We published a time of 2 hours to be on the safe side, but the total time this impacted access to the DPD site was just 36 minutes.

We generally only have a hardware event like this every other year or so to upgrade critical hardware and keep things current. All vendors should experience performance improvements throughout the DPD admin.


  • Jason@DPD
  • June 24, 2014
  • No Comments

Sunday Jun 29, 10:00 PM EDT / 2:00 AM GMT.

Starting at 10:00 PM EDT (2:00AM GST) on Sunday, June 29th we will be performing a critical infrastructure upgrade to DPD servers. This upgrade, which will involve moving a critical database and web server, will result in up to 2 hours (hopefully less!) of downtime for some or all vendors during the move.

See what time 10:00 EDT is in your time zone

10:00PM EDT is historically our lowest traffic time across the entire platform so this upgrade will impact the minimum of customers.

Vendors can expect the DPD admin, their shopping carts, and products to be unavailable during some or all of this time. We will have all staff on hand during this upgrade and we will complete it as quickly as possible.

We apologize for the inconvenience this will cause, but this critical upgrade must be made to keep the service reliable for all vendors and customers.

New Google Analytics: Universal Analytics Integration

  • Jason@DPD
  • June 10, 2014
  • No Comments


Today we released a completely new Google Analytics: Universal Analytics integration for all-in-one tracking of your entire sales process and checkout flow with DPD.

The new integration replaces the old Google Analytics eCommerce integration and manually placing code in the Tracking HTML field of your store preferences.

The old Analytics Ecommerce integration should be disabled and all Analytics tracking code removed from the Tracking HTML field under store Preferences for accurate tracking results.

The new Universal Analytics integration is available for all v2 stores in DPD under the Integrations menu.

Note: Uses Universal Analytics

This integration uses Universal Analytics using analytics.js, not the old “classic” analytics javascript. The new Universal Analytics updates faster, tracks better, and loads faster on your website.

If you are using Classic analytics code on your website you must update your tracking code to use this new integration. New code is provided by the integration for use on your website.

The New Universal Analytics Integration Will:

1. Place the appropriate tracking code on each page of your cart and checkout.
2. Optionally display the eCommerce tracking fields on the delivery page once for accurate conversion tracking.
3. Allow you to accurately track referrals, traffic sources, and campaigns.
4. Allow you to accurately track and visualize your goal funnel.
5. Provide you with the necessary Universal Analytics tracking code for you to place on every page of your website to enable cross-domain linking and accurate tracking.

Complete instructions, including how to create goal tracking funnels and more, are in the Knowledgebase entry for Google Analytics: Universal Analytics Integration

Other minor updates / bug fixes in this release:

  • Fixed bug with cancel url to paypal integration
  • Pass through any hoplink params to the target url
  • Fixed support desk code when unauthenticated / passing of registered emails/usernames
  • Improved product caching for speed improvements and space management
  • Fixed validation on purchase refund form
  • Updated cart lightbox code to new responsive version

DPD Update: Coupon List Improvements and Future Plans

  • Jason@DPD
  • May 7, 2014

Today we released an update to our coupon module that makes it easier to browse and manage coupons, especially when you have created many single use coupon or discount codes.

Coupon List Improvements

The coupon list now features a more compact table that lists more coupons at once and includes filters so you view specific coupon status, or a specific coupon name.

Coupon List Improvements

Color Coded Coupon Display

We have also color coded the coupon display to show inactive coupons as red and future coupons (which are not yet active but aren’t technically “inactive”) as yellow.

We hope being able to see at a glance the status of a coupon by its color will make it easier to understand what is going on with a specific code (and stop vendors from having to email us asking why their future coupon shows as “inactive” like an expired coupon).

Bulk Edit Coupon Status and Delete Coupons

In addition to the list and filter improvements, we have also added the ability to bulk edit the coupon status or bulk delete coupon codes. Simply check the box and use the menu at the bottom to select the action.

Coming Soon

This is a minor update but we’re not resting on our laurels- The entire DPD team is in the middle of a migration to move all DPD servers to Amazon Web Services. We’ve always used Amazon S3 for product backup, storage, and delivery, and now we’re moving everything else for greater scalability, speed improvements, and redundancy.

We will be making a dedicated post about the AWS migration and what it will mean for vendors soon.