We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.
Order tracking pages with WebApplication + ParcelDelivery, FAQs, and breadcrumb navigation.
Defines the tracking portal experience.
Captures the shipment tracking status and carrier details.
Answers tracking, delivery, and exception questions.
Provides navigation context for the tracking page.
Ensure every applicable required property is present in your implementation. Nested props reference their parent objects (for example, `offers.priceCurrency`).
Paste as a single script tag. Keep product details, offer data, shipping/returns, and FAQ answers in sync with the page.
[
{
"@context": "https://schema.org",
"@type": "WebApplication",
"@id": "https://www.example.com/track#app",
"name": "Shipment Tracking Portal",
"description": "Track your shipment status and delivery updates in real time.",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Any",
"url": "https://www.example.com/track",
"offers": {
"@type": "Offer",
"url": "https://www.example.com/track"
}
},
{
"@context": "https://schema.org",
"@type": "ParcelDelivery",
"@id": "https://www.example.com/track/ABC123#parcel",
"trackingNumber": "ABC123",
"trackingUrl": "https://www.example.com/track/ABC123",
"deliveryStatus": "https://schema.org/InTransit",
"provider": {
"@type": "Organization",
"name": "Example Logistics",
"url": "https://www.example.com"
},
"deliveryAddress": {
"@type": "PostalAddress",
"streetAddress": "1200 Market St"
},
"expectedArrivalUntil": "2025-10-02"
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Why is my tracking not updating?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Updates can take up to 24 hours after pickup. Contact support if no scans appear after 48 hours."
}
},
{
"@type": "Question",
"name": "What happens if delivery is delayed?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Delays are shown on the tracking page and we send a notification with a revised ETA."
}
},
{
"@type": "Question",
"name": "Can I change the delivery address?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Address changes are available before the package is out for delivery via the tracking portal."
}
}
]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
{ "@type": "ListItem", "position": 2, "name": "Track Order", "item": "https://www.example.com/track" }
]
}
]If the page lists multiple packages, add a ParcelDelivery entry for each tracking number.
Include deliveryAddress only if the page shows the destination address.