Developer changelog

Subscribe to the changelog to stay up to date on recent changes to Shopify’s APIs and other developer products, as well as preview upcoming features and beta releases.

Get updates by RSS

Channel Attribution is now available in beta


Channel Attribution is now available in beta

Passing the correct information to these fields will now improve the accuracy of order source reporting up to the sub-channel level as well as reduce the time merchants spend organizing and fulfilling orders from marketplaces.

The following fields are now being used for sales attribution on the Orders, Checkout, and Draft Orders APIs. Please ensure that the version of the API you are using is unstable.

Orders & Checkout fields:

  • source_name (string): Handle indicating where the order originated. Can be set only during order creation, and is not writeable afterwards. Values for Shopify channels are protected and cannot be assigned by other API clients: web, pos, shopifydraftorder, iphone, and android. Orders created via the API can be assigned any of the handles listed in the Partner Dashboard, on the app's Marketplace extension. The handles are case sensitive. If the string is not in the list handles, then the order will be left unattributed. If unspecified, then new orders are assigned the value of your app's ID.
  • source_identifier (string): The ID belonging to the original order.
  • source_url (string): A valid URL pointing to the original order on the originating surface. This URL will eventually be displayed to merchants on the Order Details page. If the URL is invalid, it will not be displayed.

Draft Orders fields

source_name (string): The handle indicating the order’s origin. This field is not writable afterwards so make sure to consult the list of handles beforehand. If your handle does not exist in list of, then value will still be saved and will not block order creation.

Note: You need to include the Content-Type param in the header ("Content-Type: application/json")