3/31/2026, 12:00:21 AM
Shopify now exposes a new discountTags query that returns a paginated list of all tags applied to discount price rules and offers standard pagination and filtering. A merchantTargets query and associated CRUD mutations enable creating, updating, deleting, and listing merchant‑defined KPI targets, with full filtering, sorting, and pagination. All discount node types (DiscountAutomatic*, DiscountCode*) now include a tags field, and the main discountNodes query accepts a tag filter value, letting clients query discounts by tag. Corresponding bulk queue mutation types (discountBulkTagsAdd and discountBulkTagsRemove) allow asynchronously adding or removing tags on many discounts simultaneously, returning a Job and a list of DiscountUserErrors. The channel.resourceFeedback field documentation now clarifies that it may return null after a SUCCESS/ACCEPTED state; the shopResourceFeedbackCreate mutation’s feedback payload similarly returns null when a state of ACCEPTED clears the signal. Additionally, legacy checkout branding mutations and fields (checkoutBrandingUpsert, checkoutBranding, checkoutProfile, checkoutProfiles) are deprecated, replaced by the checkoutAndAccountsConfiguration* family. Developers should migrate to the new tags APIs for discount filtering, use the merchant targets flow for KPI tracking, and adjust any checkout branding code to the new conventions.
List of tags associated to discounts.
A list of merchant targets for the shop.
Returns a list of automatic discounts that are applied in the cart and at checkout without requiring a discount code.
Returns the visual customizations for checkout for a given checkout profile.
To update checkout branding settings, use the checkoutBrandingUpsert mutation. Learn more about customizing checkout's appearance.
Returns a CheckoutProfile. Checkout profiles define the branding settings and UI extensions for a store's checkout experience. Stores can have one published profile that renders on their live checkout and multiple draft profiles for testing customizations in the checkout editor.
List of checkout profiles on a shop.
Returns a list of discounts.
The total number of discounts for the shop. Limited to a maximum of 10000 by default.
Adds tags to multiple discounts asynchronously using one of the following:
For example, you can add tags to price rules that match a search criteria, or add tags to a predefined set of price rules.
Removes tags from multiple discounts asynchronously using one of the following:
For example, you can delete tags from price rules that match a search criteria, or delete tags from a predefined set of price rules.
Create a new merchant target.
Updates a merchant target.
Deletes one or more merchant targets.
Updates the visual branding for a CheckoutProfile, customizing how checkout displays to customers. Creates new branding settings if none exist, or modifies existing settings.
The mutation accepts two levels of customization through the CheckoutBrandingInput input object. designSystem defines foundational brand attributes like colors, typography, and corner radius that apply consistently throughout checkout. customizations defines styles for specific parts of the UI, individual components, or groups of components like the header, buttons, form fields, and sections.
Changes to a published checkout profile display immediately in the store's checkout. You can preview draft profiles in the Shopify admin's checkout editor before publishing.
Learn more about checkout styling.
Creates a collection
to group products together
in the online store and
other sales channels.
For example, an athletics store might create different collections for running attire, shoes, and accessories.
There are two types of collections:
Use the collectionCreate mutation when you need to:
Note:
The created collection is unpublished by default. To make it available to customers,
use thepublishablePublish
mutation after creation.
Learn more about using metafields with smart collections.
Updates a collection,
modifying its properties, products, or publication settings. Collections help organize
products together
in the online store and
other sales channels.
Use the collectionUpdate mutation to programmatically modify collections in scenarios such as:
There are two types of collections with different update capabilities:
job object that you can use to track the progress of the update.To publish or unpublish collections to specific sales channels, use the dedicatedpublishablePublish andpublishableUnpublish mutations.
Learn more about using metafields with smart collections.
The ResourceFeedback object lets your app report the status of shops and their resources. For example, if
your app is a marketplace channel, then you can use resource feedback to alert merchants that they need to connect their marketplace account by signing in.
Resource feedback notifications are displayed to the merchant on the home screen of their Shopify admin, and in the product details view for any products that are published to your app.
This resource should be used only in cases where you're describing steps that a merchant is required to complete. If your app offers optional or promotional set-up steps, or if it makes recommendations, then don't use resource feedback to let merchants know about them.
You can send resource feedback on a shop to let the merchant know what steps they need to take to make sure that your app is set up correctly. Feedback can have one of two states: REQUIRES_ACTION or ACCEPTED. You need to send a REQUIRES_ACTION feedback request for each step that the merchant is required to complete.
If there are multiple set-up steps that require merchant action, then send feedback with a state of REQUIRES_ACTION as merchants complete prior steps. When all required actions are resolved, send an ACCEPTED feedback request to clear the active feedback signal.
Sending state: ACCEPTED removes the active feedback entry. After this mutation succeeds, reading channel.resourceFeedback, app.feedback, or the feedback field on this payload may return null—this is expected behavior, not a mutation failure. A null result means no outstanding feedback exists for the channel.
Sending feedback replaces previously sent feedback for the shop. Send a new shopResourceFeedbackCreate mutation to push the latest state of a shop or its resources to Shopify.
Return type for discountBulkTagsAdd mutation.
Return type for discountBulkTagsRemove mutation.
The set of valid sort keys for the DiscountTag query.
A merchant created target for an analytics metric.
An auto-generated type for paginating through multiple MerchantTargets.
Return type for merchantTargetCreate mutation.
An auto-generated type which holds one MerchantTarget and a cursor during pagination.
The set of valid sort keys for the MerchantTarget query.
Return type for merchantTargetUpdate mutation.
Return type for merchantTargetsDelete mutation.
NOT_FOUNDnoteA note associated with the activity.
reasonCodeThe reason code for the activity.
resourceFeedbackexpiresInThe number of seconds until the delegate access token expires.
tagsA list of searchable keywords that are associated with the discount.
For example, a merchant might apply the loyalty tag to discounts
that are associated with their loyalty program.
tagsA list of searchable keywords that are associated with the discount.
For example, a merchant might apply the loyalty tag to discounts
that are associated with their loyalty program.
tagsA list of searchable keywords that are associated with the discount.
For example, a merchant might apply the loyalty tag to discounts
that are associated with their loyalty program.
tagsA list of searchable keywords that are associated with the discount.
For example, a merchant might apply the loyalty tag to discounts
that are associated with their loyalty program.
tagsA list of searchable keywords that are associated with the discount.
For example, a merchant might apply the loyalty tag to discounts
that are associated with their loyalty program.
tagsA list of searchable keywords that are associated with the discount.
For example, a merchant might apply the loyalty tag to discounts
that are associated with their loyalty program.
tagsA list of searchable keywords that are associated with the discount.
For example, a merchant might apply the loyalty tag to discounts
that are associated with their loyalty program.
tagsA list of searchable keywords that are associated with the discount.
For example, a merchant might apply the loyalty tag to discounts
that are associated with their loyalty program.
INVALID_TAG_LENGTHTOO_MANY_TAGSfeedback