Delivery tracking with Shop

The Shop app lets customers track their orders with real-time status updates, delivery notifications, and live map tracking.

To ensure that orders from your store can be tracked accurately in Shop, you need to provide complete tracking information for your orders. Providing complete tracking can also benefit your store in the following ways:

  • Reduce support inquiries from customers about order status.
  • Improve first-time delivery success rates through clear communication and order tracking.

Track with Shop is activated by default for all Shopify stores. For details on how this applies to your store, refer to Managing Track with Shop.

When Track with Shop is active, customers can use the button on your order status page to track their order with Shop, or download the Shop app to start tracking. If you use the default Shopify email notification templates for order confirmation and shipping confirmation, then customers can also install the Shop app from those emails.

Regardless of whether Track with Shop displays on your order status page or in order emails, customers can still use Shop to track any order with a valid tracking number, including from your store. This doesn't impact whether your store displays in Shop.

Supported countries

When Track with Shop is active on your store, customers in the following countries can tap a link to install the Shop app from the order status page on mobile devices:

  • Australia
  • Austria
  • Belgium
  • Canada
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Mexico
  • Netherlands
  • New Zealand
  • Norway
  • Poland
  • Portugal
  • Romania
  • Spain
  • Sweden
  • Switzerland
  • United Kingdom
  • United States

Manage Track with Shop

Track with Shop is activated by default for all Shopify stores. After a customer installs the Shop app and creates an account, their order information from Shopify stores is automatically synced. Learn more about the Shop app customer experience, including installation requirements and shopping features.

You can turn Track with Shop on or off in the checkout settings of your Shopify admin.

Steps:

  1. From your Shopify admin, go to Settings > Checkout.
  2. In the Customer contact method section, select or deselect Show a link for customers to track their order with Shop.
  3. Click Save.

Displaying Track with Shop in order emails

A Track order with Shop button also displays in your Order confirmation and Shipping confirmation emails when you use the default Shopify email notification templates. If you don't want to display the button in your order and shipping confirmation emails, then you can edit your email notification templates.

Manage estimated delivery dates

Automated delivery dates appear for your customers by default on your product pages and in delivery tracking in the Shop app. Delivery dates can help encourage your customers to complete purchases, resulting in more sales. Customers also don't need to search for estimated delivery dates on other pages. If you don't want estimated delivery dates to appear for your customers in the Shop app, then you can deactivate this feature.

Steps:

  1. From your Shopify admin, go to Sales channels > Shop.

  2. Click Settings.

  3. In the Estimated delivery settings section, click the Automated toggle to Off.

  4. Optional: To change delivery estimations for customers in your online store, refer to Processing time and delivery dates.

Adding tracking information to your orders

To ensure that your customers receive shipping updates, you need to add a valid tracking number and shipping carrier when you fulfill an order in your Shopify admin.

If you need to ship multiple items from a single order separately, then you should add a tracking number for each shipment in the order so that customers can track each item in the Shop app.

Email markup for Shop tracking

When customers install the Shop app, they can opt in to automatic tracking by connecting a Gmail or Outlook email. After a customer connects Gmail or Outlook, Shop searches their inbox for relevant tracking information.

To help Shop search your customers' inboxes for tracking information as accurately as possible, you can embed tracking data in your email markup using Liquid format or JSON-LD format.

Edit shipping notification templates

If you're using Shopify shipping notification templates, then you can copy the following Liquid markup and paste it at the top of the shipping confirmation and shipping update notifications.

<script type=3D"application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "ParcelDelivery",
        "deliveryAddress": {
            "@type": "PostalAddress",
            "streetAddress": "{{ order.shipping_address.street }}",
            "addressLocality": "{{ order.shipping_address.city }}",
            "addressRegion": "{{ order.shipping_address.province }}",
            "addressCountry": "{{ order.shipping_address.country }}",
            "postalCode": "{{ order.shipping_address.zip }}"
        },
        {% if fulfillment.estimated_delivery_at -%}
        "expectedArrivalFrom": "{{ fulfillment.estimated_delivery_at }}",
        {%- endif %}
        "carrier": {
            "@type": "Organization",
            "name": "{{ fulfillment.tracking_company }}"
        },
        {% for item in fulfillment.fulfillment_line_items -%}
        "itemShipped": {
            "@type": "Product",
            "name": "{{ item.line_item.product.title }}",
            "image": "{{ item.line_item.image }}",
            "url": "{{ item.line_item.url }}"
        }
        {% unless forloop.last -%},{%- endunless %}
        {%- endfor %}
        "partOfOrder": {
            "@type": "Order",
            "orderNumber": "{{ order_number }}",
            "orderStatus": "OrderProcessing",
            "merchant": {
                "@type": "Organization",
                "name": "{{ shop.name }}",
                "url": "{{ shop.url }}"
            }
        },
        "trackingNumber": "{{ fulfillment.tracking_numbers.first }}",
        "trackingUrl": "{{ fulfillment.tracking_urls.first }}"
    }
</script>

Edit third-party shipping notification templates

If you're using another service to send your shipping notifications, then you can use the following JSON-LD markup example.

<script type=3D"application/ld+json">
            {
                "@context": "http://schema.org",
                "@type": "ParcelDelivery",
                "deliveryAddress": {
                    "@type": "PostalAddress",
                    "streetAddress": "Example Street, 5th",
                    "addressLocality": "Example Address Locality",
                    "addressRegion": "REGION",
                    "addressCountry": "US",
                    "postalCode": "12345-6789"
                },
                "expectedArrivalFrom": "Not available",
                "expectedArrivalUntil": "Not available",
                "carrier": {
                    "@type": "Organization",
                    "name": "CARRIER_NAME"
                },
                "itemShipped": {
                    "@type": "Product",
                    "name": "Example Product Title",
                    "image": "https://exampleimage.com/200/300",
                    "url": "https://www.example.com/your/orders/123456789"
                },
                "partOfOrder": {
                    "@type": "Order",
                    "orderNumber": "123456789",
                    "orderStatus": "OrderProcessing",
                    "merchant": {
                        "@type": "Organization",
                        "name": "EXAMPLE_BRAND",
                        "url": "mailto:brand@example.com"
                    },
                    "broker": {
                        "@type": "Organization",
                        "name": "Example store name",
                        "url": "mailto:merchant@example.com"
                    }
                },
                "trackingNumber": "123456789",
                "trackingUrl": "https://www.example.com/your/orders/123456789/order_tracking"
            }
            </script>