Ultimate Guide to Managing Customer Returns Using Service Cloud

Share this article...

Did you know at least 30% of all products ordered online are returned to retailers? That’s a lot to handle, especially when you compare this to only 8.89% of returns received by brick-and-mortar stores.

How can you use Salesforce to provide the best possible returns experience for your customers?

Any retailer knows this is the key to not only happier customers, but more repeat purchases! So, we’ve outlined the 9 steps to help you set up Service Cloud to provide an incredible returns experience.

You will learn:
1. Lay the Foundation: Customizing Cases for Returns
2. Enable Paths to Optimise Page Layouts
3. Return Policies
4. Communicating clearly with Process Builder
5. Create UpSell Opportunities
6. Go 24/7 with Force.com Sites
7. Create a Global Returns Dashboard
8. Take it a step further with Einstein Bots
9. Use Zenkraft to integrate 45+ Shipping Carriers

(>> click to jump to each section)


1. Lay the Foundation: Customizing Cases for Returns

A Case is the bets suited object to use for handling a return – however, cases require some customization in order to be used effectively.

Firstly, we should add some extra picklist values to the Case status:

On a side note: since you’ll probably use cases for more than just returns it might make sense to create a “Return” record type.

We will set the “Return Requested” value as the default and both the “Refund Processed” and “Refund Rejected” fields to Closed status:

We’ll also add two extra picklist fields to the case object so that we can collect data on why items were returned:

Go to: Setup > Object Manager > Case > New Custom Field > Picklist and enter some common reasons for returns:


Our second picklist can be called Return Reason Detail and we can set values such as:  

We should set the controlling field of the dependent picklist so the Return Reason Detail only shows the relevant values:

Then we set the controlling field:

We should set up these dependent picklists as follows:

Now can choose the return reasons on the Case object, and only the relevant Return Reason Detail fields will show:

2. Enable Paths to Optimise Page Layouts

Paths will enable you to visually track the progress of a return. To setup a path on a case, click edit page:

Drag the Path standard Lightning component onto your page layout and then click Setup Path.

Set the Path Name to “Return Status” and Choose the Object as “Case” and Picklist as “Status”:

Once you go back to a case you will see the Path appears on the Case page layout:

3. Return Policies

Once you’ve received a request for a return, the agent will need to determine whether they’ll accept it or not. To help with this, we should associate returns with their order using a lookup field:

Create a formula field that calculates the difference in days between the order created date and the case created date:

← When you return to the page, it will look like this.





For this case you’ll see the order was only placed 6 days ago so the order is still within it’s return period.

It would be very easy to take this a step further to display traffic lights on the case to indicate whether an Order is within its returnable timeframe or not. A formula like this on the case would work:

"Green", "/img/samples/light_green.gif",
"Yellow", "/img/samples/light_yellow.gif",
"Red", "/img/samples/light_red.gif", 
"status color")


4. Communicating clearly with Process Builder

At each stage of the returns process, we can send an email to the customer to communicate the status of the return. We can use process builder plus email templates to setup workflow when each status of the case changes:

Click Add Action and choose the Action Type as Email Alerts. Enter an Action Name and click create one under Email Alert.

You will need to create an Email Template with the contents of the email. Such as the one below:

Available on github here.

..finish creating the email alert:

Now we can set the Recipient Type to Email Field and click Save.

Now that the Email alert immediate action is set up we can click Save and Activate to make the email template live:


5. Create UpSell Opportunities

As part of each email sent above, we could easily insert some promotions for re-ordering or upsell accessories. We could do this using a controller. In a future article, we can use Einstein to make the best recommendations for us?
If the return reason = too small, we should offer the user to reorder a bigger size?

To set this up, we’ll need to store e-commerce site URLs on our product object:

Click Setup > Object Manager > Product > Custom Fields > New > URL

.. and replace the somewhat less useful Picklist field that Salesforce ships with a lookup directly with the product:


Now we can edit our email template code to include a link that goes straight to the product page for reordering on the e-commerce site. In our case, we’re using Salesforce Cloud Commerce and we need to use a formula field to bring the Product URL from the Product onto the case. Once this is done, we can embed the URLs into the email template using the following merge field:






6. Go 24/7 with Force.com Sites

Now that you have a simple returns process in place. What happens if your customers would like to request a return out of business hours via your e-commerce platform e.g. Salesforce Commerce Cloud, Magento or Shopify?

You can set up a Force.com site whereby your customer can enter their order ID and email address, and the return case can be generated, as well as the address to send the parcel back to.

To create a Force.com site:

Go to: Setup > Sites > New

With a controller named ReturnController (code here) and a VisualForce page called Return (code here) set up, you can embed this functionality into your e-commerce site (not just Salesforce Cloud Commerce, any e-commerce site) using an iFrame like this:

<iframe src="https://{{your-site-url}}.eu18.force.com/returns"></iframe>

The resulting outcome looks like this:

Once this data is collected, it will be stored against the Case.

7. Create a Global Returns Dashboard

Now that you have your returns data in Salesforce. You can easily create reports such as:

  • What is the most returned product?
  • What is the top reason for returning the most returned product? E.g. if a style of boot has a return rate of 40% and 90% of the returns are because the size is too small, perhaps you should tell product development to alter the product for next year’s collection?

8. Take it a step further with Einstein Bots

How great would it be if you could have an Einstein Bot helping with returns?

Go to: Setup > Bots > New

Firstly, let’s define an introductory message to greet the user when the chat window first loads:

The next step is to build a menu that offers the users 3 different options. In this case, we’ll just setup Return My Order:

Next, we need to define an Entity to collect the Order Number input from the Bot. We can do this as follows:

We can set up an Invocable method with some apex that will search for the order and create a return label using the Zenkraft Global Apex method. This will book a return shipment with a carrier and return a shipping label for printing (code here).

We can then define the message that includes the merge field of the Return Label URL.

Now we can embed the Bot into our public e-commerce website using Snap-Ins and live Agent (there is a good tutorial on YouTube on how to set this up as it’s a rather lengthy process).

The resulting formula will be a chatbot ready to process returns on your e-commerce site!
(Demo here)


9. Use Zenkraft to integrate 45+ Shipping Carriers

Of course, if you would like to automatically generate return shipping labels and email them to their customers, the Zenkraft Multi-carrier shipping app can help. You can generate labels with a single click or even process builder, and run other tasks once the shipment is in transit and is delivered. More information from the AppExchange.


Now we’ve built a complete returns solution on Salesforce! We can:

  • collect data about the returns and analyse it using dashboards,
  • automate returns handling using Force.com sites and Einstein Bots,
  • visualize the progress of each return using Paths, and
  • clearly communicate the status of the return process using Process Builder / Email alerts.

If you would like more information, or even see how Zenkraft can help with the returns process, please visit us at Zenkraft (www.zenkraft.com).

2 thoughts on “Ultimate Guide to Managing Customer Returns Using Service Cloud

Add Comment