Plan: Premium, Enterprise Advanced | Platform: All platforms; Reship and Refund supports Shopify orders only.
Overview
Exception handling flags shipments that run into a problem in transit, such as a failed delivery attempt, a customs hold, or a lost parcel. One set of settings serves two places: the Exceptions dashboard, where your team manage flagged shipments, and AfterShip Agent, which bundles them into tasks based on set attributes to be resolved in bulk.
Learn how to set up exception handling in AfterShip Tracking, and which of your choices reaches which place. Once live, your whole team works one shared queue of flagged shipments.
Before you begin
Requirements
A connected Shopify store for Reship and Refund
At least one verified sender address for the emails you send from a case
Shipments linked to orders, so Tracking knows what to reship, what to refund, and who to email
Permissions
Admin access to AfterShip Tracking to change settings in Settings > Exception handling
Limitations
Reship and Refund work on Shopify only, though Tracking still detects exceptions on other platforms
Exception filters apply only to shipments created on or after June 17, 2026
You can't rename or re-map the 13 carrier-reported exception types
The first-run exception handling setup opens once, the first time anyone at your store opens the Exceptions dashboard after launch
Changing your task grouping rules affects only newly detected exceptions, because AfterShip Agent does not regroup existing tasks
How shipments enter the exception workspace
A shipment appears in the workspace when it's flagged as an exception. There are three sources.
Source | How it works | Where you control it |
Carrier reported | AfterShip maps carrier status updates onto 13 built-in exception types. Detection is automatic. | Settings > Exception handling > Carrier reported |
Custom | Define a type and the conditions that trigger it; for example, no tracking update for 7 days. | Settings > Exception handling > Custom |
Manual | You flag a single shipment from the shipment detail page. | Tracking dashboards > Shipments > open a shipment > Flag as exception |
A shipment can carry more than one exception type at a time. The dashboard shows one row per shipment, with the primary type and a +N chip for the rest.
Configure exception handling rules
Step 1: Choose which exceptions to handle
Important: Steps 1 and 2 open only the first time anyone at your store opens the Exceptions dashboard. To change these exception types afterward, go to Settings > Exception handling.
During the initial Exceptions dashboard setup, you can enable the built-in, default exception types. The types you select here are the ones the Exceptions dashboard flags for you to review, and the ones AfterShip agents act on.
Go to Tracking dashboards > Exceptions.
Turn on each exception type your team works on.
Select Next.
The Choose which exceptions to handle screen, turning on Shipment lost
Step 2: Set your exception handling priority
Priority determines the order in which the Exceptions dashboard lists your exception groups (Group 1: Returned to sender, Group 2: Hold for customs clearance, and so on).
Turn on Group shipment by exception.
Drag each exception type into the order you want your team to handle it.
The groups higher in the list appear closer to the top of the table.
Select Finish.
The Set your exception handling priority screen, reordering Returned to sender
The same order on Tracking dashboards > Exceptions, as Group 1, Group 2, and Group 3
Tip:
Turn off Group shipment by exception if you don't have a priority preference. You can change the setting later from the Exceptions dashboard > Group by type in the Column sorting.
You can change the priority of the exception group on the Exceptions dashboard by clicking the settings icon in the Column sorting action button.
Step 3: Choose which exception types to activate
1. Switch on carrier-reported exception types
Change the exception types you chose during the first-run setup, which decide what reaches both the Exceptions dashboard and AfterShip Agent.
Go to Settings > Exception handling, or select Manage rules on the Exceptions dashboard.
On the Exception handling rules page, expand Carrier reported.
Turn each exception type on or off.
The Carrier reported section, turning on Failed attempt
4. Select Exclude shipments of order returns, below the type lists, to keep return shipments out of the queue.
Exception type | Flagged when the carrier reports |
Failed attempt | A delivery attempt didn't succeed |
Held for customs clearance | The parcel is held pending documents or duties |
Carrier pickup failed | The carrier didn't collect the parcel |
Customer pickup failed | A pickup-point parcel wasn't collected |
Returning to sender | The parcel is on its way back to you |
Returned to sender | The parcel has arrived back with you |
Return failed | A return shipment didn't complete |
Shipment lost | The parcel is lost |
Shipment damage | The parcel is damaged |
Shipment cancelled | The shipment was canceled |
Shipment disposed | The parcel was disposed of or destroyed |
Potentially delayed | A delay, such as weather, a late flight, or a processing issue |
Unclassified exception | A problem it doesn't classify further |
Important: Turning off an exception type stops new detections for that type and removes related shipments from the manual flag list. These shipments will no longer appear in the Exception workspace. Exceptions that were already flagged under that type are not deleted.
2. Create a custom exception type
Custom types catch the problems your carriers never report.
Select Add under Custom on the Exception handling rules page.
The custom type editor, adding a Transit time condition
Enter an Exception type name of up to 45 characters, and an optional Description of up to 100 characters.
Turn on Automation.
Add at least one condition under the Add filter. This will automatically mark the shipment as an exception once the condition (s) are met.
Conditions can be based on shipment status and timing, route and carrier, or commercial attributes.
5. Select Save.
Custom type editor
Note: Keep Automation off for types you only want to apply manually, or turn it on to let AfterShip automatically detect them based on your rules.
Step 4: Set your reship order prefix
Every reship creates a new order in Shopify, and the prefix keeps those orders recognizable in your store and your reporting.
Go to Reship order prefixes on the Exception handling rules page.
Enter a Prefix of up to 10 characters.
Select Save.
Reship order prefixes
Note: Tracking names each reship order {Prefix}{Original order number}-{Number of reship times}, for example Rsp-#1004-1.
Step 5: Set your task grouping rules
Grouping turns 40 shipments stuck at the same customs checkpoint into one piece of work.
Go to Task grouping rules on the Exception handling rules page.
Tracking selects Exception type, Carrier, and Event reason by default. You can select up to 3 attributes.
To select an attribute other than the default ones, first deselect one of the default attributes.
Deselecting a default attribute immediately makes the remaining unselected attributes available for selection.
3. Select Save.
Attribute | What it groups on |
Exception type | Built-in or custom exception criteria |
Carrier | Shipping provider, for example USPS, FedEx, DHL |
Carrier service | Service tier, for example FedEx Ground, USPS Priority |
Tracking event | Latest delivery status, for example failed delivery attempt, customs hold |
Event reason | Root cause, for example incorrect address, weather delay |
Destination | Destination country, state, or region |
What your task grouping rules produce
Task grouping rules shape the tasks AfterShip Agent creates. They do not control the Group shipments by exception settings on the Exceptions list, which follow the priority order you set in Step 2.
Tracking creates one task for each combination of the attributes you selected. With the three default attributes, three USPS shipments that all report an insufficient address become one task instead of three, and your team works them together.
Your selection decides how many tasks your team sees. Fewer attributes make broader groups and fewer, larger tasks. More attributes split the same shipments into narrower ones.
To see your grouping at work, go to Tracking dashboards > Exceptions and select See Agent suggestions, or open the exception tasks card on Home. Select a task, then select View reasoning. Task details names the carrier, the exception type, and the event reason code that put those shipments together, which is your attribute selection stated back to you.
Task details naming the carrier and exception type behind a grouped task
Task details naming the carrier and exception type behind a grouped task
Three areas of a task show your grouping at work:
Area | What it shows | What your team can do |
Task details | The carrier, exception type, and event reason code that grouped the shipments | Check why a shipment landed here, and whether your attributes group too broadly or too finely |
Grouped shipments | Every tracking number in the task with its own status and event reason, and how many are still unresolved | Open a single shipment without leaving the task |
Recommendations | Suggested actions scoped to the whole group, each with a channel such as Escalate to carrier or Send internal alert, and a drafted message | Review a draft, then run it against the group |
An exception task showing a summary, three grouped USPS shipments, and a recommended action
Every recommendation acts on the whole task, so your grouping attributes decide how wide a single action reaches. AfterShip Agent runs in Copilot mode, so nothing is sent until someone reviews and runs it, and a run cannot be undone. The rest of the task workflow is covered in Handle Exception Shipments with AfterShip Agent.
To go back to the default grouping, select Exception type, Carrier, and Event reason, then select Save. Any change applies only to exceptions detected from that point on, and existing tasks keep the grouping they were created with.
What your users will experience
After completing these steps:
Tracking flags every shipment matching an enabled exception type and adds it to the Exceptions dashboard.
Your team opens Tracking dashboards > Exceptions and sees one shared queue in the priority order you set.
The dashboard shows one row per shipment, with the primary exception type and a +N chip when a shipment carries more than one
AfterShip Agent groups shipments matching on every selected attribute into a single task, with one summary and one set of recommended actions
Shoppers see no change until someone works the case and sends an email, a reship, or a refund.
How Agent actions show up on the Exceptions dashboard
The two places share the same shipments. AfterShip Agent works a task, and the Exceptions dashboard holds the shipments inside it. What crosses between them is status and history, so the dashboard tells your team where a shipment stands rather than what the Agent said about it.
What someone does in AfterShip Agent | What changes on the Exceptions dashboard |
Runs a recommended action, such as a customer notification or a carrier escalation | The shipment's resolution steps move to In progress, and its activity log records the change. The shipment's details page does not show that a message went out (see screenshots 1) |
Marks a shipment in Grouped shipments as resolved | The shipment shows as Resolved and stays on the dashboard. The task's Activity tab names who changed it and when (see screenshots 2) |
Marks a shipment in Grouped shipments as ignored | The shipment shows as Ignored and stays on the dashboard, recorded the same way (see screenshot 3) |
Marks the whole task resolved | The task's unresolved count drops. Each shipment keeps the status it already had |
Nothing, because the parcel is delivered or stops matching the exception conditions | The shipment resolves on its own, and the task closes once every shipment in it is resolved |
Reship status, Reship order name, and Refund status come from the Reship and Refund actions on a shipment details page. Nothing AfterShip Agent runs fills those columns.
To follow that progress, go to Tracking dashboards > Exceptions and use the All, Open, In progress, Resolved, and Ignored tabs, or add exception columns to a shipment view to track it alongside your shipment data.
Troubleshooting
Problem | Cause | Solution |
The first-run setup doesn't open when you go to the Exceptions dashboard | Someone at your store already completed it | Change the same exception types in Settings > Exception handling |
A shipment with a carrier problem never reaches the Exceptions dashboard | The exception type is off | Turn the type on in Settings > Exception handling > Carrier reported |
Reship and Refund don't appear on a case | The store isn't Shopify, or the shipment isn't linked to an order | Link the shipment to an order, or handle the case on Shopify |
Filtering by an exception field returns no shipments | The shipments predate June 17, 2026 | Filter on shipments created on or after June 17, 2026 |
A custom type never triggers on its own | Automation is off, so the type carries a Manual badge | Turn on Automation and add at least one condition |
You can't select a fourth task grouping attribute | Three attributes are already selected | Clear one selection, then add the attribute you want |
FAQs
1. Why don't I see the setup screens on the Exceptions dashboard?
The first-run setup opens once per store. If a colleague completed it, change the same exception types in Settings > Exception handling.
2. Can I rename a carrier-reported exception type?
No. You can switch each of the 13 types on or off, but you can't rename or re-map them.
3. What happens to shipments already flagged when I turn a type off?
Tracking stops new detections and removes those shipments from the Exceptions dashboard. Shipments already flagged stay in your records.
4. Can one shipment carry more than one exception type?
Yes. The dashboard shows one row per shipment, with the primary type and a +N chip for the rest.
5. Does exception handling work on platforms other than Shopify?
Detection does. Reship and Refund work on Shopify only, though you can still investigate a case and set its status.
6. Do I have to set a handling priority?
No. Turn off Group shipment by exception if you don't have a priority preference.
7. Which of these settings affect AfterShip Agent?
Your exception types affect both the Exceptions dashboard and AfterShip Agent. Task grouping rules affect AfterShip Agent only.
8. Does changing my grouping rules regroup existing tasks?
No. A change applies only to exceptions detected afterward. Existing tasks keep their grouping until they are resolved or ignored.
9. How many attributes can I group tasks by?
Up to 3. Clear one of your current selections before you add another.
Key takeaways
Exception handling flags shipments that hit a problem in transit and collects them in one shared queue
You pick your exception types in the one-time first-run setup, and change them later in Settings
Exception handling runs on Premium and Enterprise Advanced, and Reship and Refund work on Shopify only
Shoppers see nothing until someone emails, reships, or refunds from a case
Exception types feed both the Exceptions dashboard and AfterShip Agent, while task grouping rules feed AfterShip Agent only








