Data and AI releases

548 this month · 176 companies

Customer marketing URL fields now require write access

UpdateNot yet verified

Effective immediately : The following customer-related fields now require the write_customers scope and the create_and_edit_customers permission: Customer.emailOpenTrackingUrl (deprecated) Customer.unsubscribeUrl (deprecated) CustomerEmailAddress.openTrackingUrl CustomerEmailAddress.marketingUnsubscribeUrl CustomerPhoneNumber.marketingUnsubscribeUrl Reason...

SQLGovernanceSecurityDeveloper tools

Read on shopify.dev

Also shipped Dec 18, 2025Shopify in December 2025 →

More from Shopify developer platformEvery Shopify developer platform release →

Conversion tracking fields added to MarketingEngagementCreate

To improve the integration of marketing platforms that track conversions beyond traditional sales metrics, we have added new fields to the MarketingEngagementCreateInput and MarketingEngagement objects on the MarketingEngagementCreate mutation. These enhancements enable more comprehensive data integration into Shopify's marketing reports.

Update
Source ↗

Discount Function support for rejecting discount codes

The Discount Function API now supports discount code rejection, allowing apps to conditionally reject discount codes with a custom message. With discount rejection for the Discount Function API, merchants can: Prevent double discounting on sale prices Manage fine-grained combinations of discount codes Disqualify certain products from discounts For more...

Pricing
Source ↗

Set and retrieve `processedAt` in the `refundCreate` mutation

We have introduced a new processedAt input field to the refundCreate mutation . With this field, you can manage refund timestamps in your records more effectively. If you don't provide a processedAt value, then the current timestamp is used by default. This ensures that existing integrations continue to function without modification.

Update
Source ↗

Venmo and PayPal are now treated as separate payment methods

Starting in API version 2026-01 , Venmo and PayPal are treated as separate payment methods when using payment customization functions. Previously, hiding PayPal's express checkout placement would automatically hide Venmo as well. With this change, you can now hide or show Venmo independently from PayPal in your payment customization logic.

Update
Source ↗

Faster bulk operations

We've updated bulk operations in the GraphQL Admin API to process large datasets faster. What's new: Here's what we've done: Support for all mutations : Previously bulk mutations only supported a limited set of actions. Now, you can execute any mutation using bulk operations across all API versions.

Update
Source ↗

Deprecation of `Shop.billingAddress` in favor of `Shop.shopAddress`

As of API version 2026-01, the shopAddress field will be introduced to the Shop object in the GraphQL Admin API. This new field replaces the now-deprecated billingAddress field, which will be removed in a future version. shopAddress will have identical structure and values as billingAddress .

Deprecation
Source ↗