Skip to main content
Card class: HeroCategory: Shipping & Courier
ShippyPro’s core SLA - did label generation succeed across the carrier mix?

At a glance

Share of label-creation API calls in the last 24 hours that returned a valid printable shipping label. The single most-actionable connector-health number for ShippyPro: when this drops below 98%, orders cannot be despatched, regardless of how healthy the carriers, the warehouse, or the rate-shop ruleset are. The fault is between Vortex IQ and ShippyPro, or between ShippyPro and the underlying carriers.
What it countsCOUNT(label_create_calls WHERE status = 'success') / COUNT(label_create_calls) over the trailing 24 hours. Each call is one label attempt; retries count as separate calls.
API endpointPOST /shipments/labels (ShippyPro’s label-creation endpoint). The card reads HTTP response code and parsed success flag from each attempt.
Failure modes counted(1) Carrier downtime, the underlying carrier API rejected the rate-shop call. (2) ShippyPro internal errors, 5xx from ShippyPro itself. (3) Validation errors, invalid address, invalid weight, missing customs declaration on cross-border. (4) Auth errors, 401 from expired token (links to Days to Token Expiry).
Carrier-mix sensitivityFailures are not uniformly distributed. Italian and EU regional carriers (Poste Italiane, BRT) have higher native API instability than majors (DHL Express, GLS, UPS). A 95% reading on a Poste-heavy account often resolves to 99% if Poste is excluded.
Returns / RTOIncludes Easy Return label generation; treats them identically to outbound.
Service level scopeAll services and carriers pooled. Per-carrier breakdown lives in the carrier sub-tile of the same card.
CurrencyNot applicable.
Time window24H (rolling 24-hour window)
Alert trigger<98%. Tripped when success rate drops below 98 percent. The 2 percent cushion is industry-standard for label-print SLA; below that, despatch operations notice queue stall.
Sentiment keylabel_generation_success
Rolesowner, operations

Calculation

Calculated automatically from your ShippyPro data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

The Italian DTC fashion brand. Reading taken at 09:00 CET on 12 Mar 26 for the trailing 24 hours.
CarrierLabel calls (24h)SuccessfulFailuresSuccess rateMost common failure
BRT920916499.6%Address validation
DHL Express4104100100.0%(none)
GLS380376498.9%Carrier 5xx
Poste Italiane2402182290.8%Carrier 503 (downtime)
UPS60600100.0%(none)
All carriers (this card)2,0101,9803098.5%
The card reads 98.5%; the alert at <98% is not firing at the aggregate but Poste Italiane alone is materially below. Five things to notice:
  1. Poste Italiane’s 90.8% drags the aggregate down by 1.4 points. If Poste volume rises (rate-shop swings to it for cheap parcels), the aggregate drops below 98% even with no other change. The aggregate masks the per-carrier instability; per-carrier sub-tiles are mandatory reading.
  2. 22 Poste failures over 24 hours = 22 orders that could not despatch. They sit in the warehouse queue waiting for retry. The operational fix during a Poste downtime is to override rate-shop temporarily to BRT for those parcels (at 30 to 50 percent higher per-label cost) and despatch. The card is the trigger for the override decision.
  3. DHL Express and UPS at 100% are the carrier-network benchmark. If they ever drop below 99%, the issue is almost certainly ShippyPro-side or your-account-side, not carrier-side. Use them as the control.
  4. The 4 BRT and 4 GLS failures are noise-floor. Under 1 percent failure on healthy carriers is normal; address-validation rejections (postcode does not match city, missing house number) account for most. They retry successfully on next attempt; the 24-hour window absorbs them.
  5. Aggregate 98.5% is the intervention threshold. At 98% exact, queue stall is visible to despatch staff (~10 to 30 orders waiting at any moment); at 95%, full operations escalation; at 90%, P1 incident regardless of which carrier is failing. The card’s alert at 98% is calibrated for the first-detection signal, not the visible-pain threshold.

Sibling cards merchants should reference together

Label-generation success is the gate; many other cards depend on it being green. Pair with these:
CardWhy pair it with Label Generation SuccessWhat the combination tells you
Days to Token ExpiryToken expiry produces 100 percent failure with 401 errors.Both cards red simultaneously = expired token, rotate immediately.
API Error RateSame underlying signal, different angle.Error rate climbing while label success is dropping = carrier-side or ShippyPro-side issue.
ShipmentsVolume processed; reflects label-success in absolute terms.Volume drop without label-success drop = upstream order-flow drop (not connector). Volume drop with label-success drop = connector issue.
OTD by RoutePer-carrier breakdown context.If a carrier’s label success is degrading, watch its OTD; carrier API instability often correlates with carrier physical-network issues.
Cross-connector: shopify.unfulfilled_ordersDownstream impact. Failed labels = unfulfilled orders piling up in Shopify.Climbing Shopify unfulfilled is the customer-visible symptom of label-generation drop.
Cross-connector: warehouse-management system queue depthDirect operational view of orders waiting for label.Queue stalling without label-success drop = warehouse-side problem. Queue stalling with label-success drop = ShippyPro-side problem.

Reconciling against the vendor’s own dashboard

Where to look in ShippyPro’s own dashboard: ShippyPro DashboardAPI Health → Label Creation Stats (not always exposed by default; visible to enterprise tier or by support request). The closest like-for-like is Last 24h, All Carriers, All Services. ShippyPro also exposes a per-call audit log at Logs → API Calls → Filter type:label_create that shows the actual error response per failure. Why our number may legitimately differ from ShippyPro’s portal:
ReasonDirectionWhy
Retry countingOurs sometimes lowerThe card counts each retry as a separate attempt; some portal views collapse retries into a single “shipment” outcome. If a label took 3 attempts to succeed, the card scores 2 failures and 1 success (66.7% on that shipment); the portal may show 100% (the shipment ultimately got a label).
Internal-error attributionEitherShippyPro classifies some 5xx errors as carrier-side, others as ShippyPro-side; the card pools them. Different filter states in the portal may show different denominators.
Validation pre-checkOurs sometimes higherIf your client-side validation rejects a label before submitting (e.g. weight = 0), the card never sees it; ShippyPro’s portal may show it as a “rejected” attempt.
TimezoneBoundary hour offCard defaults to UTC; portal defaults to workspace timezone. The 24h boundary shifts.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
shopify.unfulfilled_ordersDownstream effect; label-failure drops directly raise unfulfilled count.Manual fulfilment, B2B flows, Shopify-app retry behaviours that mask the label failure.
Direct carrier status pages (DHL service status, BRT alerts)Upstream truth on carrier-side downtime.Carriers post outage notices on their status pages; correlate to the timestamped failures in the card’s audit log.

Known limitations / merchant FAQs

Why is Poste Italiane structurally less reliable than DHL Express? Capacity model. Poste Italiane runs on Italian-public-postal infrastructure with batch-mode label issuance windows; their API takes occasional 503 spells during peak processing. DHL Express runs a private-network real-time API with multi-region failover. The cost-vs-reliability trade is real and intentional in the rate-shop ruleset. The card shows 95% but our orders are still going out. Why? Retry behaviour. ShippyPro’s connector retries failed labels up to 3 times with 30-second backoff. A 95% first-attempt success rate often resolves to 99%+ post-retries on shipment level. Operations only sees the queue stall when retries also fail (5%-of-5%, 0.25% of shipments). The card flags the upstream signal before that translates to user-visible pain. My account is mostly DHL and we still see 97%. Why? Address-validation rejections. DHL’s API is strict about postal-code-vs-city alignment, especially for cross-border. If your customer-data quality is uneven (typos, missing house numbers, IT/SM/VA address ambiguity), DHL rejects the label. The fix is upstream address validation, not carrier change. Should I exclude failed validation attempts from the metric? Trade-off. Including them gives you the full-stack picture (everything that broke between order and label). Excluding them isolates the connector-and-carrier picture. Default is included; for diagnosis, the audit log shows the failure-mode breakdown. Why 24h window and not 1h? Smoothing. Carrier APIs have transient 5xx spells (especially Poste Italiane mid-day, BRT during overnight maintenance windows). A 1h window would alert constantly on noise; 24h gives enough samples to distinguish persistent issues from blips. For real-time incident-response, watch the audit log directly. My label success rate dropped sharply. What is the diagnosis flow? Five steps. (1) Check Days to Token Expiry, expired token = 100 percent failure. (2) Check carrier-mix sub-tile, is one carrier failing or all? (3) Check the failing carrier’s status page (DHL, GLS, BRT all publish). (4) Check the audit log for failure-message distribution, validation vs 5xx vs auth. (5) If unclear, contact ShippyPro support with the timestamped failure samples; they can correlate against their internal queue. What is “ShippyPro’s core SLA”? The label-creation API is the highest-criticality endpoint ShippyPro operates. Their internal SLA targets 99.9% availability for the label endpoint excluding carrier-side failures. Most enterprise contracts include credits if they breach. The card’s 98% threshold is the merchant-facing operational threshold, not the SLA contract threshold. Cross-border / customs labels, do they have a different failure profile? Yes. Labels for non-EU destinations (UK post-Brexit, CH, NO) require customs declaration data that the merchant must provide; missing fields produce validation failures. These typically show as 60-80 percent success on the affected lane until the merchant’s order data pipeline includes the customs fields. Read this card alongside Shipments by Destination to spot lane-specific issues. Can I use this card to negotiate carrier contracts? Yes, indirectly. Pair it with carrier-specific reliability extracts from the audit log; carriers running materially below 99% on healthy windows lose volume in the rate-shop and accept that as the outcome. If you want to bring it up in QBR, present 90-day rolling reliability per carrier from the trend view, not the snapshot.

Tracked live in Vortex IQ Nerve Centre

Label-Generation Success Rate is one of hundreds of KPI pulses Vortex IQ tracks across ShippyPro and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.