Actions: Email Shipment Notifications Based on Delivery Status Changes
Use ShipWorks' Delivery Status feature to track the status of shipped orders and to notify customers of shipment status changes. Using ShipWorks' automation features, send your customers automated emails to keep them up to date on the status of their shipment and allow them to track their package.
This article will guide you through the process of adding a 'Delivery Status' email template to ShipWorks and with creating Actions to automatically send delivery status emails to your customers. Emails can be configured to notify your customers when:
-
Their order is in transit
-
Their order has been delivered
-
A delivery exception has occurred
-
An unsuccessful delivery attempt was made
Here's how the automation to send delivery status updates works:
-
ShipWorks automatically checks with the shipping carrier for updates to the Delivery Status for all orders.
-
Orders are moved into Filters based upon the delivery status of the order. For example, orders with a delivery status of 'Delivered' move into the 'Delivered' filter and so on.
-
An Action in ShipWorks sees that the order entered the Filter for a specific status and sends an email notifying the customer of the updated delivery status.
Prior to configuring automated shipment notification emails:
-
Ensure that at least one email address is configured in ShipWorks. This step allows you to send emails directly from the ShipWorks software.
-
Create Filters to organize orders by the order's current Delivery Status. Please note that for this article Filters need only be created for orders with the following Delivery Statuses:
-
In Transit
-
Delivered
-
Exception
-
Delivery Attempt
This step allows you to:
-
Quickly identify all of the orders with a specific Delivery Status
-
Create Actions to tell ShipWorks to email customers with a specific email message based upon an order's Delivery Status (More on this later in this article.)
-
Once the above steps have been completed, the next step is to add the Delivery Status email template to ShipWorks.
The Delivery Status email template is configured to automatically send a specific message to your customer based upon the current delivery status of an order. For example, orders with a 'Delivered' status will trigger an email notifying the customer that their order was delivered, orders with an 'Exception' status will trigger an email letting the customer know there is an exception, and so on.
-
Click the New Template button.
-
Enter the name Delivery Status into the New Template Name: field. Then, select the Emails folder and click the Next button.
-
Ensure that Standard is selected as the Template Type. Then click the Next button.
-
Ensure that HTML is selected as the Template Format. Then click the Finish button.
-
Select the Delivery Status template you just created and click the Edit button.
The template editor will open to the Code tab.
-
Select all of the code on the Code tab and delete it.
The Code tab should be blank with no code in the editor.
-
Select all of the code in the code block below the image and press CTRL+C on your keyboard to copy it. Then, place the cursor at line 1 in the ShipWorks Template Editor and press CTRL+V on your keyboard to paste the code.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sw="http://www.interapptive.com/shipworks" extension-element-prefixes="sw"> <!-- Imports --> <xsl:import href="System\Snippets" /> <xsl:output method="html" encoding="utf-8" /> <!-- Start of template --> <xsl:template match="/"><xsl:apply-templates /></xsl:template> <xsl:template match="ShipWorks"> <!-- Default font. Specified as a variable since GMail and Outlook behave differently. --> <xsl:variable name="pageFont" select="'font-family: Tahoma; font-size: 10pt;'" /> <html> <head> <title>Shipment Status</title> <style> body, table { <xsl:value-of select="$pageFont" /> } </style> </head> <body style="{$pageFont}" > <xsl:variable name="order" select="Customer/Order[1]" /> <xsl:variable name="address" select="$order/Address[@type='bill']" /> <xsl:value-of select="$address/FirstName" />, <br></br> <br></br> <!--IN TRANSIT--> <xsl:if test="count($order/Shipment[DeliveryStatus = 'In Transit'])"> Good news! Your <b>order <!-- Shared Snippet --> #<xsl:call-template name="OrderNumber"> <xsl:with-param name="order" select="$order" /> </xsl:call-template> </b> is in transit and on its' way to you! Please click the tracking number below for detailed tracking information. </xsl:if> <!--DELIVERED--> <xsl:if test="count($order/Shipment[DeliveryStatus = 'Delivered'])"> We want to let you know that your <b>order <!-- Shared Snippet --> #<xsl:call-template name="OrderNumber"> <xsl:with-param name="order" select="$order" /> </xsl:call-template> </b> has been delivered! We hope that you enjoy your order. </xsl:if> <!--EXCEPTION--> <xsl:if test="count($order/Shipment[DeliveryStatus = 'Exception'])"> Unfortunately, a delivery exception for your <b>order <!-- Shared Snippet --> #<xsl:call-template name="OrderNumber"> <xsl:with-param name="order" select="$order" /> </xsl:call-template> </b> has occurred. Please click the tracking number below for detailed tracking information. </xsl:if> <!--DELIVERY ATTEMPT--> <xsl:if test="count($order/Shipment[DeliveryStatus = 'Delivery Attempt'])"> We want to let you know that the carrier attempted, unsuccessfully, to deliver your <b>order <!-- Shared Snippet --> #<xsl:call-template name="OrderNumber"> <xsl:with-param name="order" select="$order" /> </xsl:call-template> </b>. Please click the tracking number below for detailed tracking information. </xsl:if> <br></br> <br></br> <xsl:if test="count($order/Shipment[Status = 'Processed']) = 0"> <i>(No shipments)</i> </xsl:if> <xsl:for-each select="$order/Shipment[Status = 'Processed']"> Your order was shipped on <b><xsl:value-of select="sw:ToShortDate(ShippedDate)" /></b> using <b><xsl:value-of select="ServiceUsed" /></b>: <b><xsl:call-template name="TrackingLink" /></b> <br /> </xsl:for-each> <p> Sincerely,<br /> <xsl:value-of select="Store/Address/Company" /> </p> </body> </html> </xsl:template> </xsl:stylesheet>
-
Select the Settings tab. Then, click Email in the left-side menu.
-
Select your store in Stores and Settings. Then, click the Edit Settings... button.
If you have more than one store connected to ShipWorks, select any store in the list.
-
Ensure that Use shared settings is selected. Then, copy the line of code below and paste it into the Subject line in the Email Settings screen.
This code will automatically populate the email subject line as [Your Store Name]: Order# [Customer's Order Number] - Tracking Update. For example: Widget Me This: Order# 12345 - Tracking Update.
{//Store/Address/Company}: Order# {//Order/Number} - Tracking Update
-
Click OK, then Save, then Close to return to the ShipWorks main screen.
The Delivery Status template is now added and ready to use. In the next section of this article you will configure the actions to send delivery status emails to your customers using the template you just created.
Next, create Actions to tell ShipWorks to automatically email your customers when the Delivery Status of their order changes. You will need to create a separate action for each of the delivery statuses for which you wish to notify your customers. Learn more about creating action and what they can be used for here.
The steps below will create an Action for the delivery status of 'Delivered'. Repeat the steps below to create Actions for the 'In Transit', 'Exception', and 'Delivery Attempt' statuses.
-
Click the New Action button.
-
Enter a name for the Action into the Name field. For this example, we will use the name Delivered Status Email.
-
Click the When the following occurs: drop-down menu and select A filter's content changes.
-
Click the When an order enters drop-down menu and select the Delivered filter you created in the First Things First section of this article.
-
Click the Add Task button and select Email. A new Email task will be added to the Action.
-
Click the With template: drop-down menu and select the Delivery Status template you created in the previous section of this article.
Leave all other settings in the Email task as the default settings.
-
Review the Action you just created. Make sure that the settings match the image below.
-
Click the OK button to save the Action.
The Delivered Status Email action will appear in the list of actions. It will now trigger an email letting the customer know their order has been delivered when any order's Delivery Status changes to 'Delivered'.
Follow the steps in this section to create Actions for the 'In Transit', 'Exception', and 'Delivery Attempt' statuses. Be sure to give your Action a relevant name in Step 3 and to select the correct Filter for each status in Step 5. Once all of your Actions are created, you are all set. Delivery status emails for each status will be sent to your customers automatically.
-
Delivery Status emails will be sent for new shipments created after following the steps in this article.
-
Emails will not be sent for orders already in ShipWorks unless the Delivery Status of the order is updated by the shipping carrier.
-
The Delivery Status email template will include tracking numbers which are clickable and will open a browser window with the carrier's tracking information. The following emails are sent based upon the delivery status of the order:
Still Need Help?
Please feel free to reach out to one of our awesome Technical Support Representatives in St. Louis. We are happy to help.
Have a comment to share about this article? We'd love to hear from you. You must be logged in to your Support Portal account to leave a comment.
Comments
0 comments