[Feature Request] Expose order.tags and order.customAttributes in the Customer Account API

[Feature Request] Expose order.tags and order.customAttributes in the Customer Account API

Problem

The Admin GraphQL API exposes both customAttributes and tags on the Order object:

However, the Customer Account API’s Order object does not expose either field:

This makes it impossible for Customer Account UI Extensions to access order-level metadata that merchants already use extensively in the Admin.

Use Case

We’re building Customer Account UI Extensions that render dynamic content based on the current order.

Many merchants use:

  • Order tags to classify orders (e.g. VIP, Wholesale, Subscription, Preorder, B2B)
  • Order custom attributes to store additional metadata collected

Being able to query these fields directly in the Customer Account API would allow extensions to:

  • Display custom order metadata to customers
  • Customize post-purchase experiences without requiring an additional backend request
  • Keep Customer Account logic aligned with existing Admin workflows

Currently, this information is already available in the Admin API, but not in the Customer Account API, creating an unnecessary gap between the two.

Current Behavior

The Customer Account API exposes many order fields, but neither:

  • order.tags
  • order.customAttributes

As a result, apps cannot access this information from Customer Account Extensions.

Expected Behavior

The Order object in the Customer Account API should expose:

  • tags
  • customAttributes

so they can be queried alongside the rest of the order data, similar to the Admin GraphQL API.

For example:

query {
  order {
    id
    name
    tags
    customAttributes {
      key
      value
    }
  }
}

Benefits

Adding these fields would:

  • Bring better parity between the Admin GraphQL API and the Customer Account API.
  • Reduce the need for additional backend requests or duplicated data.
  • Enable richer Customer Account UI Extensions that can react to merchant-defined order metadata.
  • Simplify implementations for apps that already rely on order tags and custom attributes elsewhere in Shopify.

Request

Could order.tags and order.customAttributes be added to the Customer Account API Order object?

This would make it much easier to build dynamic Customer Account experiences while keeping behavior consistent with what’s already available through the Admin GraphQL API.

Thanks!

Hey @Omar_Cardenas - thanks for reaching out

Just wanted to confirm that neither Order.tagsor Order.customAttributes are available today via the API

I definitely get the impact here though. Right now, the closest workaround is to copy the customer-safe data into an order metafield with Customer Account read access, but that would introduce some duplication and synchronization work that isn’t super ideal.

A few details would help us capture the use case accurately:

  • Do you need metadata created by your own app, or tags and attributes created by any merchant workflow or third-party app?
  • Would an allowlist of customer-visible tags and attribute keys work, or do you need the complete values?
  • Do changes made after the order is created need to appear immediately, including on existing orders?
  • Is having to duplicate and synchronize this data into order metafields the main blocker with the current workaround?

I’m happy to pass this request along on our end. I can’t guarantee a change or timeline, but just wanted to touch base here so I can log this for you. Let me know if I can clarify anything here.

@Alan_G Thanks for the quick response!

To answer your questions:

Do you need metadata created by your own app, or tags and attributes created by any merchant workflow or third-party app?

Both. We’d like access to whatever is already available on the order, regardless of whether it was added by our app, another app, Shopify Flow, or a merchant workflow. Since these fields already exist on the order in the Admin API, we’d expect the Customer Account API to expose the same customer-safe data.

Would an allowlist of customer-visible tags and attribute keys work, or do you need the complete values?

Our preference would be to have access to the complete values, matching the Admin API. Merchants already use tags and custom attributes as part of their business logic, and apps often don’t know ahead of time which keys or tags they’ll rely on.

Do changes made after the order is created need to appear immediately, including on existing orders?

Yes. Since the Customer Account API queries live order data, we’d expect it to reflect the current state of the order, just like other order fields.

Is having to duplicate and synchronize this data into order metafields the main blocker with the current workaround?

Yes, that’s the biggest issue.

Duplicating tags or custom attributes into metafields means apps need to build and maintain synchronization logic for something that already exists on the Order object. It also requires merchants to configure additional workflows or webhooks, introduces the possibility of data getting out of sync, and increases API usage for both apps and merchants.

From our perspective, this is mainly about API parity. The Admin GraphQL API already exposes these fields on Order, so having them available in the Customer Account API would eliminate unnecessary duplication and make it much easier to build dynamic Customer Account experiences.

Thanks again for looking into this!

Hey again @Omar_Cardenas -

Thanks for the detailed answers. I’ve logged the request on my end here.

I don’t have a timeline or guarantee of a change, but just wanted to touch base to let you know this has been passed on. Thanks again for laying out the use case so clearly!