Skip to main content
Tutorial

Fulfillment Carrier and Tracking URL Mismatch: Causes, Symptoms, and Solutions


Table of Contents

  1. Overview

  2. How the Mismatch Occurs

  3. Symptoms

  4. Diagnosis

  5. Solutions and Workarounds

  6. Engineering Escalation Criteria

  7. Related Documentation


Overview

When a third-party fulfillment service (such as ShipHero, ShipBob, or similar) performs carrier rate shopping at fulfillment time, the carrier used to ship the order may differ from the shipping method selected at checkout. If UltraCart is not updated with the actual carrier used, the tracking URL in the shipment confirmation email is generated from the original shipping method — producing a link that fails because the tracking number belongs to a different carrier.


How the Mismatch Occurs

  1. A customer checks out and selects a shipping method (for example, FedEx: SmartPost). UltraCart records this method on the order.

  2. The order is transmitted to the fulfillment service.

  3. The fulfillment service rate shops and selects a different carrier (for example, UPS Ground or DHL) because it is cheaper at their negotiated rate.

  4. The fulfillment service sends a shipment confirmation back to UltraCart with the new tracking number.

  5. If the shipment confirmation payload does not include the actual carrier code, UltraCart retains the original shipping method (FedEx: SmartPost) on the order.

  6. UltraCart generates the shipment confirmation email using the original method's tracking URL pattern (FedEx), paired with a tracking number that belongs to UPS or DHL. The resulting link returns an error.


Symptoms

  • Customers report that the tracking link in their shipment confirmation email does not work or returns an error.

  • The tracking number in UltraCart is valid, but the tracking URL resolves to the wrong carrier's site.

  • The shipping method on completed/shipped orders in UltraCart shows a carrier the merchant is no longer using.


Diagnosis

  1. Open the affected order in UltraCart and note the shipping method displayed.

  2. Copy the tracking number and attempt to look it up directly on the carrier's website indicated by the shipping method.

  3. If the lookup fails, try the same tracking number on UPS, FedEx, DHL, and USPS in turn to identify the actual carrier.

  4. If the tracking number is valid on a different carrier than what UltraCart shows, the mismatch is confirmed.

  5. Check whether the fulfillment service (ShipHero, ShipBob, etc.) is configured for rate shopping.


Solutions and Workarounds

Option 1: Update the shipment via API after fulfillment (preferred if carrier code is available)

If the fulfillment service's shipment confirmation webhook includes a carrier code or updated shipping method identifier, UltraCart's fulfillment receive handler may be able to update the order's shipping method before generating the tracking email. This requires engineering review to confirm whether the carrier code is present in the payload and whether the handler currently supports updating the method.

Collect the following and escalate to engineering:

  • A sample shipment confirmation payload from the fulfillment service

  • Confirmation of which fulfillment integration is in use and its version

Option 2: Least Cost Route configuration

UltraCart's Least Cost Route feature (available in the shipping method editor under the method's "Other" configuration tab) allows UltraCart to rate shop at the time the order is placed and assign the correct carrier before the order is sent to the fulfillment service.

Path: Configuration > Checkout > Shipping > Methods > [Method] > Other > Least Cost Route

Limitations:

  • UltraCart rates at the merchant's own negotiated carrier rates, not at the fulfillment service's rates. If the fulfillment service has significantly better rates, the carrier selected by UltraCart's Least Cost Route may not match what the fulfillment service selects.

  • This approach works best when the merchant's direct carrier rates are competitive or when rate consistency (not lowest cost) is the primary goal.

Option 3: Manual order correction

For low-volume cases, support staff or the merchant can manually update the shipping method on individual orders in UltraCart after receiving the shipment confirmation from the fulfillment service. This is not scalable.

Option 4: Disable rate shopping in the fulfillment service

If the fulfillment service allows it, disabling carrier rate shopping and locking to a specific carrier ensures the method on the UltraCart order always matches what the fulfillment service uses. Requires coordination with the fulfillment service and may increase shipping costs.


Engineering Escalation Criteria

Escalate to engineering when:

  • The fulfillment service shipment confirmation payload is available for review and it is unclear whether a carrier code is present

  • The merchant requires an automated fix (not a manual workaround)

  • Multiple merchants using the same fulfillment integration are affected

Include in the escalation:

  • Fulfillment service name and integration version

  • Sample shipment confirmation payload (webhook body or API response)

  • Affected account IDs and case number

Note: The root fix — having UltraCart read the carrier code from the shipment confirmation and update the order's shipping method — requires an engineering change to the fulfillment receive handler if not already supported.


Was this page helpful?