PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchSome links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Use Shopify CarrierService when your app must calculate and return shipping rates. Use Delivery Customization when rates already exist and you need to hide, reorder, or rename them at checkout. They solve different problems and can be combined: CarrierService supplies the options, then a Shopify Function applies shopper, cart, or policy rules to those options.
The practical choice is therefore not an either-or feature comparison. It is an architecture decision about where pricing is calculated, where presentation rules run, and which checkout surfaces and store plans your implementation must support.
As an Amazon Associate I earn from qualifying purchases.
What does each Shopify shipping component actually do?
CarrierService is a rate engine boundary; Delivery Customization is a checkout transformation layer. The first creates delivery options with prices, while the second changes which existing options a buyer sees and how they are presented.
| Decision axis | CarrierService | Delivery Customization |
|---|---|---|
| Primary job | Calculate and return real-time rates | Hide, move, or rename available delivery options |
| Execution boundary | Shopify sends a request to your public callback URL | A Shopify Function runs at the checkout delivery-option transform target |
| Output | Rate objects containing price, currency, service code, name, and description | deliveryOptionHide, deliveryOptionMove, and deliveryOptionRename operations |
| External dependency | Usually a carrier, 3PL, or pricing engine | Function logic plus the cart and delivery data requested in the input query |
| Main failure concern | Provider latency, invalid or stale rates, callback outages, and incorrect pricing | Incorrect filtering, ordering, naming, or use on an unsupported surface |
| Eligibility | write_shipping scope and Shopify plan requirements |
Function activation, supported surfaces, and a maximum of 25 active functions per store |
| Best fit | “What should shipping cost?” | “Which available option should this buyer see, and what should it say?” |
How does Shopify CarrierService calculate custom shipping rates?
CarrierService lets Shopify request a rate calculation from your publicly reachable endpoint. Your service receives shipment context, calls the appropriate carrier or pricing system, and returns the delivery options that Shopify can show during checkout.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
What happens during a rate request?
- Shopify posts a request to the callback URL registered for the carrier service.
- The request includes origin and destination details and cart-related information such as the items that must be shipped.
- Your application validates the request, determines the applicable shipping services, and calls a carrier, 3PL, or internal pricing engine when necessary.
- Your application returns a response containing a
ratesarray. - Shopify turns those objects into delivery choices for the checkout session.
The callback is the rate-calculation boundary. Your application, rather than Shopify, owns provider authentication, timeout handling, retries, fallback behavior, and the correctness of the returned price.
Which fields must a CarrierService response contain?
Each returned rate needs customer-facing and machine-readable fields. The required contract includes:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
service_name— the name displayed to the buyer.description— explanatory text for the service.service_code— the code that identifies the service option.currency— the currency used for the rate.total_price— the charge, expressed in currency subunits where applicable.
Keep service codes distinct and stable enough for your own logging, reconciliation, and later transformations. Validate currency and subunit conversion before returning a response; a decimal-to-integer mistake can turn a normal shipping charge into a price that is off by a factor of 100.
What store plans and permissions are required?
CarrierService access requires the write_shipping scope. Shopify documents availability for stores on Advanced Shopify or higher, stores on the Shopify plan with yearly billing, stores that add the carrier-service feature for a monthly fee, and eligible development stores. If a store later moves to an ineligible plan, Shopify says the carrier-service association is deactivated.
Check eligibility before promising live carrier-calculated rates to a merchant. A technically correct endpoint cannot provide rates if the store no longer meets the plan conditions.
Which Admin API should a new app use?
Carrier services can be created and updated through GraphQL mutations named carrierServiceCreate and carrierServiceUpdate. Only the app that created a carrier service can update it.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
Shopify labels the REST Admin API legacy from October 1, 2024, and says new public apps must use the GraphQL Admin API exclusively from April 1, 2025. Build new public apps against GraphQL; treat older REST examples as migration reference material rather than the foundation of a new integration.
How should a rate endpoint handle outages?
Design explicit behavior for provider failures instead of allowing an exception or timeout to determine the checkout result. Set a bounded request timeout, log the provider response and Shopify request identifier, and decide whether your business can return a documented fallback rate or should return no option.
- Reject malformed or unauthenticated requests before making provider calls.
- Prevent duplicate service codes from being returned for the same delivery group.
- Check that every rate uses the expected currency and subunit representation.
- Record provider latency and error classes so operational teams can distinguish carrier failures from application bugs.
- Keep a fallback policy that matches your margin and delivery promises; do not silently substitute an unverified price.
What can Delivery Customization change at checkout?
Delivery Customization receives delivery options that already exist and returns an ordered set of transformations. It cannot calculate a missing carrier quote; it can only change the available options’ visibility, order, or wording.
Which operations are available?
deliveryOptionHideremoves an option from the buyer’s choices.deliveryOptionMovechanges an option’s position in the list.deliveryOptionRenamechanges the shopper-facing label.
For example, a function can hide a service for a restricted ZIP code, move an expedited option higher for a qualifying cart, or rename a technical service label with clearer delivery language.
Recommended Free Tools
What data does the function receive?
The target is cart.delivery-options.transform.run. Your input query can request the cart, delivery groups, addresses, products, costs, and current delivery options needed by the rule. Query only the fields your logic uses; a smaller input keeps the function easier to audit and reduces accidental coupling to unrelated checkout data.
Operations identify the delivery option to change by its handle. Your implementation should inspect every delivery group, not just the first one, because a split cart can produce multiple groups with different destinations or option sets.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
What are the naming and ordering rules?
When you rename an option, Shopify automatically prepends the carrier name. The final checkout text can therefore contain both the carrier and your replacement label, even if your function returns only the new label.
A function may not automatically select a higher-priced option as the default. When reordering, the cheapest option must remain first. If your merchandising rule would put a more expensive service ahead of a cheaper one, revise the order so it complies with that constraint.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsWhere is Delivery Customization supported?
Shopify supports the function in checkout and B2B. POS support is partial and applies only when shipping to a store. Shopify lists the storefront, subscriptions, and some order-management contexts as unsupported, so a rule that works in checkout should not be assumed to run everywhere an order can be created or edited.
Shopify’s 2026 API documentation sets a maximum of 25 active Delivery Customization Functions per store. Treat that as a store-level capacity limit when deciding whether to create separate functions for individual merchants, regions, or teams.
Which feature should you choose for a specific requirement?
Classify the requirement by asking whether it changes the amount charged or only the options and wording shown after rates have been calculated.
Choose CarrierService when you need to:
- Calculate a price from package, destination, weight, dimensions, service level, or cart data.
- Call a carrier or 3PL in real time.
- Offer a custom shipping discount by changing the returned rate.
- Introduce a delivery service that Shopify does not already know about.
- Return different prices or service codes for different cart conditions.
Choose Delivery Customization when you need to:
- Hide a service for a postal-code, product, customer, or business rule.
- Reorder existing choices without recalculating their prices.
- Replace confusing labels with clearer buyer-facing language.
- Apply checkout or B2B policy to options supplied by Shopify or another rate provider.
When should you use both?
Use both when pricing and presentation are separate concerns. CarrierService can return ground, two-day, and overnight rates from the provider; Delivery Customization can then hide overnight for a restricted destination, move ground to the top for a particular buyer segment, or rename the services for clarity.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
Keep the boundary explicit in your design and documentation: the callback decides which rates exist and what they cost, while the function decides which of those rates remain visible and how they are ordered or labeled.
How do you implement CarrierService safely?
Build the integration in the order Shopify and your provider depend on it, then test plan eligibility and failure behavior before enabling it for production buyers.
- Confirm store eligibility. Verify the merchant’s plan, billing arrangement, development-store status if applicable, and the
write_shippingpermission. - Choose the API surface. For a new public app, use GraphQL Admin API and the carrier-service create and update mutations.
- Register a public callback. The endpoint must be reachable by Shopify over the public internet and must authenticate requests according to your app’s security design.
- Parse the request context. Validate origin, destination, and cart data, including any package information your pricing engine requires.
- Call the provider. Apply provider credentials, timeout limits, and retry rules. Do not let an unbounded provider request hold the checkout open indefinitely.
- Build the rates array. Supply a unique service code, customer-facing name and description, currency, and correctly scaled total price for every option.
- Define fallback behavior. Decide whether a controlled fallback rate, a reduced set of services, or no returned rate is safest when the provider is unavailable.
- Instrument and reconcile. Log request identifiers, provider responses, selected service codes, currencies, and prices so a support team can explain a checkout result.
How do you implement Delivery Customization?
Implement the function as a deterministic transformation over the options Shopify provides, with separate tests for each supported surface.
- Write the rule in business terms. State the exact condition for hiding, moving, or renaming an option and identify whether it applies to every delivery group.
- Define the input query. Request only the cart, delivery-group, address, product, cost, and option fields needed by that rule.
- Iterate all delivery groups. A split shipment can expose different options for each group; apply the rule independently where appropriate.
- Match options by handle. Do not depend on a display label that may be renamed or localized.
- Return only valid operations. Use the hide, move, and rename operation types and preserve the cheapest option as the first choice when reordering.
- Check the rendered label. Because Shopify prepends the carrier name during a rename, verify the complete text a buyer will see.
- Test each surface. Run checkout and B2B tests, a POS-to-store test where relevant, and explicit negative tests for storefront, subscriptions, and unsupported order-management contexts.
- Track function capacity. Count active Delivery Customization Functions for the store and keep the total at or below Shopify’s documented limit of 25.
How does a combined design behave in real scenarios?
Restricted destination
CarrierService can return the provider’s normal services for a destination. Delivery Customization can then hide a service that your policy does not permit for a particular ZIP code. The function should not pretend the service was never calculated; it is filtering an option that already exists.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Split shipment
A cart containing products shipping from different origins may produce multiple delivery groups. CarrierService needs enough request context to price each group, while Delivery Customization must inspect every group’s options before applying hide, move, or rename operations.
Business-to-business checkout
CarrierService continues to supply rates through its callback. A Delivery Customization rule can apply different visibility or ordering logic in B2B checkout, but the same rule should be tested against the B2B data shape rather than assumed to behave like consumer checkout.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Carrier outage
The callback’s fallback policy determines whether buyers receive a safe alternative when the external provider fails. Delivery Customization cannot repair a missing rate; it can only transform the options that successfully reach the checkout stage.
What are the most common implementation mistakes?
- Using Delivery Customization as a pricing engine: a function cannot create a carrier quote. Put calculations and provider calls behind CarrierService.
- Using CarrierService for simple presentation rules: recalculating a rate just to change its label adds an unnecessary external dependency. Keep wording and ordering in the function layer.
- Ignoring plan changes: a store can become ineligible after launch, which deactivates its carrier-service association.
- Returning decimal prices: the response contract expects currency subunits where applicable. Convert and validate before serialization.
- Allowing duplicate service codes: duplicate identifiers make reconciliation and later option matching unreliable.
- Assuming one delivery group: split shipments require group-by-group processing.
- Moving an expensive service to the default position: Shopify requires the cheapest option to remain first when reordering.
- Testing only the main checkout: B2B, POS-to-store, subscriptions, storefront flows, and order-management surfaces do not share identical support.
- Building a new public app on REST examples: Shopify’s stated GraphQL-only date for new public apps is April 1, 2025.
- Creating too many functions: the store-wide maximum is 25 active Delivery Customization Functions.
How should you test and operate the architecture?
Test the two boundaries independently and then test their handoff. For CarrierService, use representative origins, destinations, cart contents, currencies, and provider failure responses. Confirm that every returned rate has the required fields and that the displayed amount matches the amount recorded by your provider.
Free tools Windows power users keep installed
One-click scans. No signup required.
For Delivery Customization, create fixtures for each rule condition, multiple delivery groups, renamed labels, and the cheapest-option ordering constraint. Verify that the function leaves unrelated options untouched and that unsupported surfaces fail safely rather than appearing to work by accident.
Measure the system you actually deploy. Shopify does not publish a universal latency, uptime, or total-cost benchmark for these two architectures; results depend on your provider contracts, traffic, implementation, and operational safeguards. Track callback latency, error rates, fallback usage, function errors, and checkout conversion after launch.
What should you document before launch?
- The exact store plans and billing conditions required for CarrierService.
- The callback URL, authentication method, provider dependencies, timeout, retry, and fallback rules.
- The currency and subunit conventions used in every rate response.
- The ownership of each carrier service, since only its creating app can update it.
- Every Delivery Customization rule, the fields it reads, and the delivery-option handles it can affect.
- The checkout, B2B, POS-to-store, and unsupported surfaces covered by testing.
- The store’s active-function count and a process for staying below 25.
- The GraphQL Admin API mutations and app version used to manage carrier services.
Frequently Asked Questions
How should a team roll out both features without disrupting checkout?
Deploy and observe the CarrierService callback first with a limited set of rates and a verified fallback policy. Add Delivery Customization only after the raw options are stable, then enable one hide, move, or rename rule at a time so a bad transformation can be isolated from a pricing failure.
What does a carrier-service deactivation look like after a plan change?
Shopify can deactivate the store’s carrier-service association when the plan becomes ineligible. The endpoint may still be running, but Shopify will no longer use that association for checkout rates until the store again meets the documented eligibility conditions.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Why can a renamed delivery option still show a carrier name?
Shopify prepends the carrier name automatically when a Delivery Customization function renames an option. Design the replacement text as the portion that follows the carrier name, and verify the complete rendered label rather than testing only the function’s returned string.
How many separate Delivery Customization rules can one store activate?
Shopify’s 2026 API documentation allows up to 25 active Delivery Customization Functions per store. Consolidating related rules can preserve capacity, but it also increases the importance of clear input queries, deterministic ordering, and isolated test cases.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

