Returns Portal v2 Snippet
Configure the display of a Returns Portal in your shop that provides a streamlined returns process for your customers.
This page focuses on the embedded Returns Portal (web component snippet). If you want to use the hosted Returns App (no embed), jump to Hosted Returns App (no embed).
Setting Up the Returns Portal Snippet
The following instructions explain the basics of setting up the Returns Portal snippet and how you can customize the data settings in two easy steps, followed by optional advanced configuration for your Returns Portal.
Add the snippet to your website
To insert the snippet onto a page on your website or online shop:
Create an empty landing page, for example: at
/returns-portal.Copy the following snippet and paste it somewhere in the
<body />(not the<head />) of your page where you want the Returns Portal to be displayed.
This will automatically load our JS snippet and default CSS. The plugin will be rendered in the defined DOM node.
<pl-returns-portal
code="your-portal-code"
account-name="parcellab-account-name"
>
</pl-returns-portal>
<script
type="module"
src="https://returns-app.parcellab.com/static/plugin/js/loader.mjs"
>
</script>Modify the data settings
The data settings of the Returns Portal widget will have to be updated based on the following attributes:
code
Required
Your unique Returns Portal code.
xt-de
account-name
Required
Your parcelLab user ID or technical account name.
16147742
weareparkers
entry-point
Optional
The starting page for the Returns Portal.
Default value is returns, where users start at the order search page.
For orderless returns, set the value to registration.
registration
environment
Optional
This allows you to override the automatic environment detection.
Default value is live, and uses the production server.
development
staging
live
lang
Optional
The ISO-2 language code for the initial language to load.
The widget will be displayed in the specified language.
This attribute can also be set via URL query parameter (for example: ?lang=de)
de
Here is an example of the snippet with modified data settings:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Returns Portal</title>
</head>
<body>
<header>
<h1>Our Returns Portal</h1>
</header>
<main>
<div class="container">
<pl-returns-portal code="xt-de" account-name="parkersdemo">
</pl-returns-portal>
</div>
</main>
<footer>
<p>© 2025 Powered by parcelLab</p>
</footer>
<script
type="module"
src="https://returns-app.parcellab.com/static/plugin/js/loader.mjs"
></script>
</body>
</html>
Troubleshooting
This section describes known errors and ways to troubleshoot common issues.
Hosted Returns App (no embed)
Use this when you want to send customers to parcelLab’s hosted returns experience. You do not add the <pl-returns-portal> snippet to your site, instead parcelLab will host your returns portal. You can access the hosted page directly from your Returns configuration in app.parcellab.com.
1) Standard returns login via order search (default)
By default, customers login with their order reference and their email address or shipping postal code.
Native route of this portal when hosted:
/<account>/<portal-code>/Embedded equivalent
<pl-returns-portal code="<portal-code>" account-name="<account>"></pl-returns-portal>
To log a customer automatically in from e.g. their account section to the returns portal to initiate a return for a hosted or embedded portal, add reference (order number) and identifier (email or postal code) as query search parameters to the URL. If only one value is provided, the portal pre-fills that login field and the customer must enter the missing value before submitting. If reCAPTCHA is enabled, these values prefill the login form but do not auto-submit, so the customer must complete security verification before submitting.
Example: ...?reference=ORD-123&identifier=user@example.com
2) Orderless registration entry
For orderless returns, customers do not have to provide an order number. Instead, they register their items to be returned manually or by searching the product catalog. This option needs to be activated in the returns portal options and a manual review of registered returns is recommended.
Native route of this portal when hosted:
/<account>/<portal-code>/registration/Embedded equivalent:
<pl-returns-portal code="<portal-code>" account-name="<account>" entry-point="registration"></pl-returns-portal>
3) Receive UI entry (warehouse)
Use this UI to process returns in the warehouse if you do not have a WMS flow. Receiving a return in UI accepts the quantity and settles the return by issuing refunds and releasing exchanges where appropriate.
If your warehouse, store, or WMS should process returns by API instead, use Process Return Mutations.
Native route of this portal when hosted:
/<account>/<portal-code>/receive/Note on embedding: The Receive UI is not designed to be embedded.
Deep linking to the returns portal (auto-login)
To send a customer straight into the returns flow, add the login parameters to the URL.
For an embedded portal (the <pl-returns-portal> snippet, with account-name and code already set), add them to your page URL, either in the query string or in the hash. All of these work:
For the hosted portal, add them to the portal URL:
https://returns-app.parcellab.com/<account>/<portal-code>/?reference=ORD-123&identifier=user@example.com
The supported parameters are:
reference— the order number.identifier— email address or shipping postal code, depending on your portal settings.identifier_alternate— fallback identifier for postal-code or postal-or-email portals.security_hash— auto-login token tied to outbound tracking (used together withreference).
Supported Languages
The Returns Portal is available with default translations in the following languages. Dates and timestamps are automatically formatted according to the configured country and language for your Returns Portal.
Last updated
Was this helpful?