Order tracking signals

Order tracking signals let you provide Google with your historical order tracking data for orders completed through a merchant's site. This provides buyers more precise and accurate shipping estimates. Order tracking signals also let you enhance your listings with free and fast shipping annotations.

You can submit data both for orders completed through a merchant's site and through Buy on Google. The data that you submit compliments the shipping configuration information that you provide as part of your Merchant Center account setup. For example, if you provide buyers with shipping estimates of 3-7 days, but your recent historical order tracking indicates that your orders typically arrive in 3 days in some regions, Google can update your listings to provide customers with a more precise estimate.

This guide explains how to use the ordertrackingsignals service to submit your historical order tracking data.

Use the ordertrackingsignals service

The ordertrackingsignals service includes a single create endpoint, which allows you to submit your historical order tracking data. Only submit data for orders that have been delivered, so that we can verify shipping times. You can submit one order per request. In the request body you can submit the following information:

  • Order information, including the order ID and the order creation time, delivery postal code, and region code
  • Shipping cost charged to the buyer (customer_shipping_fee)
  • Shipping information (shippingInfo) including the carrier, tracking, origin, destination, and shipping times for each shipment associated with the order
  • Order line item information (lineItems), including the products in the order
  • A mapping of the order line items to order shipments (shipment_line_item_mapping)
  • The merchant ID of the merchant for which you are submitting data (merchant_id). This field is optional and allows you to provide data on behalf of another merchant. If you do not provide a value for this field, the data is associated with the account that submits it.

For more information on required and optional order tracking fields, see the reference documentation for the ordertrackingsignals resource.

Submit new order tracking signals data

Here's a sample request to submit new order tracking data:

https://shoppingcontent.googleapis.com/content/v2.1/merchantId/ordertrackingsignals
{
  "merchantId": "987654321",
  "orderCreatedTime": {
    "year": 2020,
    "month": 1,
    "day": 2,
    "hours": 0,
    "minutes": 0,
    "seconds": 0,
    "timeZone": {
      "id": "America/Los_Angeles"
    }
  },
  "orderId": "123456789",
  "shippingInfo": [
    {
      "shipmentId": "1",
      "trackingId": "100",
      "carrierName": "FEDEX",
      "carrierServiceName": "GROUND",
      "shippedTime": {
        "year": 2020,
        "month": 1,
        "day": 3,
        "hours": 0,
        "minutes": 0,
        "seconds": 0,
        "timeZone": {
          "id": "America/Los_Angeles"
        }
      },
      "shippingStatus": "DELIVERED"
    },
    {
      "shipmentId": "2",
      "earliestDeliveryPromiseTime": {
        "year": 2020,
        "month": 1,
        "day": 4,
        "hours": 0,
        "minutes": 0,
        "seconds": 0,
        "timeZone": {
          "id": "America/Los_Angeles"
        }
      },
      "latestDeliveryPromiseTime": {
        "year": 2020,
        "month": 1,
        "day": 5,
        "hours": 0,
        "minutes": 0,
        "seconds": 0,
        "timeZone": {
          "id": "America/Los_Angeles"
        }
      },
      "actualDeliveryTime": {
        "year": 2020,
        "month": 1,
        "day": 5,
        "hours": 0,
        "minutes": 0,
        "seconds": 0,
        "timeZone": {
          "id": "America/Los_Angeles"
        }
      },
      "shippedTime": {
        "year": 2020,
        "month": 1,
        "day": 3,
        "hours": 0,
        "minutes": 0,
        "seconds": 0,
        "timeZone": {
          "id": "America/Los_Angeles"
        }
      },
      "shippingStatus": "DELIVERED"
    }
  ],
  "lineItems": [
    {
      "lineItemId": "item1",
      "productId": "online:en:US:item1",
      "quantity": "3"
    },
    {
      "lineItemId": "item2",
      "productId": "online:en:US:item2",
      "quantity": "5"
    }
  ],
  "shipmentLineItemMapping": [
    {
      "shipmentId": "1",
      "lineItemId": "item1",
      "quantity": "1"
    },
    {
      "shipmentId": "2",
      "lineItemId": "item1",
      "quantity": "2"
    },
    {
      "shipmentId": "1",
      "lineItemId": "item2",
      "quantity": "4"
    },
    {
      "shipmentId": "2",
      "lineItemId": "item2",
      "quantity": "1"
    }
  ],
  "customerShippingFee": {
    "value": "4.5",
    "currency": "USD"
  },
  "deliveryPostalCode": "94043",
  "deliveryRegionCode": "US"
}

Update existing order tracking signals data

To modify already submitted order tracking data, submit a request that contains new data with the same orderId. For shipping estimates and fast and free badging, only the most recently submitted data for each orderId is used.