Whether a customer has opted in to WhatsApp marketing—previously not accessible via the API—can now be updated and retrieved from both the Admin API and the Customer Account API. A dedicated mutation and a dedicated field have been added.
customerWhatsAppMarketingConsentUpdate mutation, and retrieval via the CustomerPhoneNumber field on
whatsAppMarketingConsent . The target is the customer'sdefault phone number.
There was no way to programmatically read or write the WhatsApp marketing consent status via the API.
Update it with the dedicated mutation, andCustomerPhoneNumber retrieve the current value via the dedicated field. Supported across both the Admin and Customer Account systems.
customerWhatsAppMarketingConsentUpdateA customer'sdefault phone numberA mutation for updating the WhatsApp marketing consent status for a customer's default phone number. It can be called from both the Admin API and the Customer Account API.
CustomerPhoneNumber.whatsAppMarketingConsentCustomerPhoneNumber A read field added to the object. Use it to retrieve the current WhatsApp marketing consent value.
| Operation | Element used | Admin API | Customer Account API |
|---|---|---|---|
| Update consent | customerWhatsAppMarketingConsentUpdate |
Supported | Supported |
| Read consent | CustomerPhoneNumber.whatsAppMarketingConsent |
Supported | Supported |
| Target | Customer's default phone number | Common to both APIs | |
* The article points to the references for both the Admin API and the Customer Account API. The tags also include Webhook / Action Required / 2026-07 .
WhatsApp marketing consent can be managed via both APIs
Updates use customerWhatsAppMarketingConsentUpdate
Reads use CustomerPhoneNumber.whatsAppMarketingConsent
The target is the default phone number
Tags: Action Required / Admin GraphQL API / Customer Account API / Webhook / 2026-07
The specific enum / data type of the consent value
Which Webhook topic fires (Webhook is in the tags, but there are no details in the body)
What specifically must be done for "Action Required"
Supported API versions, regions, and required scopes
Handling of multiple phone numbers or non-default numbers
These should be confirmed in the reference.
Because the update mutation and read fields are provided together, you can implementtwo-way syncof consent state directly. The hassle of diffing when you only have one side disappears.
You can handle both bulk management from the back office (Admin) and the flow where customers toggle their own consent on their account page (Customer Account)togetherunder the same concept.
Consent is tied to the customer's default phone number. Before implementing, settle in your design whether target customers have a default number and how to handle number changes.
The change is announced Action Required as such. Apps that already implement contact consent management should check the reference to see whether they need to support the WhatsApp channel.
The article tags include Webhook but the body doesn't mention specific topic names or payloads. If you want to capture consent changes in an event-driven way, check the availability, names, and scopes of the relevant Webhook topicsin the reference and sandbox first(don't implement based on the article alone).
whatsAppMarketingConsent field to pull Shopify-side values into the CRM, building a two-way sync.CustomerPhoneNumber.whatsAppMarketingConsent read it, and build a batch job that automatically extracts only consented customers as targets for delivery jobs.customerWhatsAppMarketingConsentUpdate, and retrieval through CustomerPhoneNumber.whatsAppMarketingConsent.