Direct answer
For a conventional UK WooCommerce shop, start with Royal Mail’s native Click & Drop channel integration. Connect the exact HTTPS Site URL, approve it with an authorised WordPress account, then activate it in Click & Drop. Reliability depends on five details: paid physical orders must reach Processing; every order needs a shipping method; every product needs a weight; quantities must be positive integers; and somebody must reconcile orders that are still absent after the normal 15–30 minute import window. Use the Click & Drop API only when that polling model or the native workflow cannot meet the operation.
Key takeaways
- Checkout rates and fulfilment labels are separate systems.
- “Connected” does not mean every order is eligible to import.
- A 20-minute delay can be normal; an unowned missing order is not.
- Shipping zones, order status and product weights are integration data.
- Prove the native path before buying or building a custom connector.
What Click & Drop connects—and what it does not
Click & Drop is the despatch side of the flow. Royal Mail describes it as a way to bring storefront orders together, apply shipping rules, buy postage, print labels and report on despatch. Its WooCommerce channel downloads eligible orders through the store’s REST API. It does not decide the delivery promise or price shown at checkout. Those live in WooCommerce shipping zones, methods, product measurements and any rate extension you use. Royal Mail: connected storefronts · WooCommerce: Royal Mail rates extension
- Zone matched from the delivery address
- Service name, price and delivery wording
- Free-shipping, flat-rate or live-rate conditions
- Product weight and packing assumptions
- Imported order and delivery address
- Royal Mail service selected by a rule or operator
- Postage label, manifest and tracking
- WooCommerce status or customer-note feedback
This separation explains a common false diagnosis: changing a WooCommerce shipping method can make a branch of orders disappear even though the Royal Mail connection remains healthy. WooCommerce matches a customer to only one zone—the first applicable zone—and offers only that zone’s methods. Test the exact combinations buyers use, not merely one administrator postcode. WooCommerce: shipping zones and match order
A real Appycodes failure: one shop worked, its sibling did not
We reviewed the delivery record for a UK beauty retailer operating related WooCommerce storefronts. One storefront was already transferring orders to Royal Mail; another left the fulfilment team creating labels manually. Across support records from December 2025 to April 2026, the fault did not reduce to one broken plugin.
The Royal Mail integration was missing and the shop had no usable shipping-zone configuration. Installing a component without recreating the operational settings did not complete the handover.
Lesson: compare the whole working path, not the plugin list.Orders placed through that branch did not reach the expected Royal Mail flow. That was this store’s configuration—not a universal Click & Drop rule—but it exposed the danger of testing only the paid method.
Lesson: every checkout branch needs a test order.The WooCommerce side looked ready while Click & Drop did not yet know about the new channel. The integration boundary exists in both systems.
Lesson: record both ends of the connection.The support account could sign in but could not see the controls needed to repair the connection. The eventual fix required an appropriately authorised account, followed by a real test order.
Lesson: access that authenticates may still be operationally insufficient.The difficult decision was whether to replace the native connector with custom code. We did not. A sibling store proved that the native pattern could support the operation, and the retailer could tolerate the poll interval. The lowest-risk fix was to restore parity, tighten the shipping configuration and verify an order end to end. Custom API work would have added secrets, retries, duplicate prevention and a new support surface before the native path had been properly tested.
The Click & Drop Handoff Score
We created this 0–12 pre-launch score for UK retailers. Give each gate 0 when absent, 1 when assumed, 2 when configured, and 3 when proven by a test order and retained evidence. The score is operational triage, not a Royal Mail certification.
Processing, recent, shipping method, integer quantity
Exact URL, HTTPS, REST access, active channel
Weights, addresses, SKU/customs data where needed
Tracking note, exception queue, named owner
Score every store and meaningful shipping branch
A practical decision table
| Test order | What it proves | Expected evidence | Failure owner |
|---|---|---|---|
| UK standard shipping | Normal paid physical path | Processing → imported → label → tracking note | Ecommerce ops |
| UK free shipping | Conditional method still has a despatch mapping | Same flow; customer price may be £0 | WooCommerce owner |
| High-value or signed service | Service rule and compensation choice | Correct service, label and tracking type | Fulfilment lead |
| International order | Country, origin, code and description data | Usable customs data before purchase | Trade/compliance owner |
| Payment placed on hold | Unpaid order does not enter fulfilment early | No import until deliberately moved to Processing | Payments owner |
Implement the native connector as a system
- Normalise the storefront first. Confirm WooCommerce 5.8+, WordPress 4.4+, API 2.0+, HTTPS and a permalink setting other than Plain—the minimums currently listed by Royal Mail. Check that
/wp-json/wc/v2/orders/and/wp-json/wc/v3/orders/are not redirected, challenged or blocked. - Connect from Click & Drop and finish activation. Add a WooCommerce channel, enter the Site URL shown under WooCommerce Status, approve the requested access, return to Click & Drop, then choose Update and Activate. A successful approval that is not activated is unfinished.
- Define the eligibility contract. Royal Mail says the native connector imports only Processing orders no older than seven days, with a shipping method, product weights and positive integer quantities. WooCommerce defines Processing as paid, stock reduced and awaiting fulfilment. Royal Mail: WooCommerce integration and eligibility · WooCommerce: order statuses
- Build the product-data baseline. Configure the store’s weight unit, enter weight for every physical simple product and every relevant variation, and decide where customs origin, commodity code and description live. Royal Mail can fall back to Click & Drop product records or defaults, but that is a deliberate fallback, not a reason to leave the catalogue unknown.
- Close the loop. If delivery notifications should use the billing contact, enable the corresponding integration option. If tracked orders should report back, enable Mark orders as despatched on channel and Send tracking information as order notes. Test the exact tokens before relying on the customer email.
A preflight check inside WooCommerce
This small site-plugin hook records whether an order meets the local conditions the native connector can inspect. It deliberately does not claim the order reached Royal Mail: that requires reconciliation after the poll window. It uses WooCommerce order APIs, so it remains compatible with the current order-storage abstraction rather than querying WordPress tables directly.
<?php
/**
* Put this in a small site plugin, not functions.php.
* It checks Royal Mail's documented native-connector eligibility rules.
*/
add_action( 'woocommerce_order_status_processing', function ( $order_id ) {
$order = wc_get_order( $order_id );
if ( ! $order ) {
return;
}
$blockers = [];
$created = $order->get_date_created();
if ( $created && $created->getTimestamp() < time() - DAY_IN_SECONDS * 7 ) {
$blockers[] = 'order is older than seven days';
}
if ( count( $order->get_shipping_methods() ) === 0 ) {
$blockers[] = 'no shipping method is attached';
}
if ( ! $order->get_shipping_country() ) {
$blockers[] = 'shipping country is blank';
}
foreach ( $order->get_items() as $item ) {
$product = $item->get_product();
$qty = (float) $item->get_quantity();
if ( ! $product || $product->get_weight() === '' ) {
$blockers[] = 'missing product weight for ' . $item->get_name();
}
if ( $qty <= 0 || abs( $qty - round( $qty ) ) > 0.00001 ) {
$blockers[] = 'quantity must be a positive integer for ' . $item->get_name();
}
}
$blockers = array_values( array_unique( $blockers ) );
$message = $blockers
? 'Click & Drop preflight blocked: ' . implode( '; ', $blockers )
: 'Click & Drop preflight passed. Check import after the 30-minute poll window.';
$order->add_order_note( $message, false ); // private operational note
}, 20 );Monitor the gap, not just the endpoints
Royal Mail says eligible orders import approximately every 15–30 minutes and store statuses are updated approximately every 30 minutes. Therefore, an alert at minute two creates noise; a manual spreadsheet at day two creates customer risk. Use a reconciliation window: find physical orders that entered Processing more than 45 minutes ago, passed preflight, and have no fulfilment acknowledgement in your chosen evidence field. Put them in one queue with order ID, age, shipping method and blocker—never a public log containing the full address.
Leave it alone. Rechecking or reconnecting repeatedly can turn expected latency into a configuration incident.
Fix status, method, weight, quantity or address data. Retest while the order is still inside the seven-day window.
Check the active channel, exact URL, REST responses, firewall, reCAPTCHA, redirects and the Royal Mail status page.
Verify the despatch and order-note options, confirm a tracked—not delivery-confirmation-only—service, then inspect the order notes.
Treat security changes as releases. Royal Mail warns that firewalls, plugins, host allow-lists, reCAPTCHA, redirects and user-agent filtering can prevent its calls. Do not permanently relax the whole REST API to fix one connector. Identify the failing request, scope any allow-list to Royal Mail’s current published addresses and URLs, retain authentication, and retest after security-plugin or CDN changes.
Native connector or Click & Drop API?
Royal Mail positions its API for an order-management system or ecommerce platform without a suitable direct integration. The API can create and retrieve orders, reset or mark them despatched, and create or retrieve labels subject to account type. Its help guide currently says one API integration per account, up to 2,000 orders in one request and a two-calls-per-second limit; the live API reference displays a five-calls-per-second limit. We would engineer to the lower published limit unless Royal Mail confirms a different allowance for the account. Royal Mail: Click & Drop API integration · Royal Mail: live API reference
The standard order model fits; a 15–30 minute import is acceptable; shipping rules can live in Click & Drop; warehouse staff work in its interface.
You need immediate response, your own label UI, explicit retry state, multi-system batching, or a custom OMS. Use the WooCommerce order ID as a stable reference and make retries idempotent.
Recommendations for UK retailers
Keep checkout methods simple, enter every product weight, test standard and free shipping, and reconcile anything missing after 45 minutes. This is usually better than owning an API integration.
Make weight completeness a publication rule for products and variations. Export a missing-weight report before peak trading and after supplier imports.
Country of origin, numeric commodity code and a useful customs description belong in the product workflow. Confirm IOSS, VAT and customs obligations separately with qualified advisers.
A green connection for one storefront proves nothing about its sibling. Choose trading names, return addresses and operator permissions explicitly; use the API only when a shared OMS earns the extra ownership.
After real implementations, Appycodes recommends a boring release checklist over clever integration code: create one order for every shipping branch, wait through the documented poll window, print the label, mark it despatched, confirm the correct customer-visible tracking, and record who owns the exception queue. If the standard connector genuinely cannot express the workflow, then build the API path with durable references, idempotency, rate limiting and a reconciliation ledger. That is the same discipline we apply in custom WooCommerce development and broader API integration work.
Frequently asked questions
- How long does Click & Drop take to import WooCommerce orders?
- Royal Mail says eligible WooCommerce orders normally import approximately every 15 to 30 minutes. It attempts to update order status in WooCommerce approximately every 30 minutes, so an immediate absence is not proof of failure.
- Why are WooCommerce orders not importing into Click & Drop?
- Check the documented eligibility conditions first: the order must be in Processing, no more than seven days old, have a shipping method, use products with weights, and use positive integer quantities. Then check HTTPS, permalinks, REST API access, redirects, firewalls, security plugins and the configured store URL.
- Does Click & Drop send Royal Mail tracking back to WooCommerce?
- It can add the shipping method, tracking number and tracking URL to a WooCommerce customer order note when the integration is set to mark channel orders as despatched and send tracking information as order notes. WooCommerce does not provide a native Royal Mail tracking field.
- Do I need the Click & Drop API for WooCommerce?
- Usually not for one conventional store. Start with Royal Mail's native WooCommerce channel connector. Use the API when you need immediate acknowledgement, several sales channels or trading identities, owned retry logic, custom batching, or label retrieval inside your own warehouse application.
- Does the Royal Mail rates extension create Click & Drop labels?
- No. The WooCommerce Royal Mail extension calculates checkout rates. Click & Drop is the fulfilment service that imports orders and creates postage labels. A retailer may use both, but they solve different parts of the journey.
Primary sources
- Royal Mail Click & Drop: WooCommerce integration guide
- Royal Mail Click & Drop API integration guide
- Royal Mail Click & Drop API reference
- Royal Mail connected storefronts
- WooCommerce shipping zones
- WooCommerce order statuses
- WooCommerce product weights and dimensions
Technical and operational guidance, not tax, customs or legal advice. Confirm current Royal Mail account terms, services and international obligations for your business.
UK topic cluster
Payments & ecommerce
UK checkout, payments, fulfilment and cross-border implementation decisions.
Related guide
UK address lookup
Decide when a checkout needs postcode geography or a complete delivery point.
Case study
AllWhite Laser
A multi-system WooCommerce estate operated and evolved by Appycodes.




Ritesh Agarwal







































