customers/update Missing tabs field

customers/update Missing tabs field

{
“id”: 7856106143809,
“created_at”: “2025-10-19T21:47:53-04:00”,
“updated_at”: “2025-10-27T06:13:08-04:00”,
“first_name”: “jenny”,
“last_name”: “smith”,
“state”: “disabled”,
“note”: “”,
“verified_email”: true,
“multipass_identifier”: null,
“tax_exempt”: false,
“email”: “xxxxxxx@gmail.com”,
“phone”: “+xxxxx”,
“currency”: “CNY”,
“addresses”: [
{
“id”: 8943348351041,
“customer_id”: 7856106143809,
“first_name”: “jenny”,
“last_name”: “smith”,
“company”: “123”,
“address1”: “123”,
“address2”: “11”,
“city”: “sz”,
“province”: “Jiangsu”,
“country”: “”,
“zip”: “”,
“phone”: “”,
“name”: “smithjenny”,
“province_code”: “JS”,
“country_code”: “CN”,
“country_name”: “China”,
“default”: true
}
],
“tax_exemptions”: ,
“admin_graphql_api_id”: “gid://shopify/Customer/7856106143809”,
“default_address”: {
“id”: 8943348351041,
“customer_id”: 7856106143809,
“first_name”: “jenny”,
“last_name”: “smith”,
“company”: “123”,
“address1”: “123”,
“address2”: “11”,
“city”: “sz”,
“province”: “Jiangsu”,
“country”: “”,
“”: “”,
“phone”: “”,
“name”: “smithjenny”,
“province_code”: “JS”,
“country_code”: “”,
“country_name”: “”,
“default”: true
}
}

Hey @qingtao_zhao, if you’re referring to “tags”, this has been moved out of the customer webhooks and needs to be subscribed to separately with the customer.tags_added and customer.tags_removed webhooks

1 Like

I saw the update log, but why does modifying tags trigger the customers/update event

I have also faced with this issue. And why tags field still specified in documentation as customers/update payload?

Hey folks, @Brett’s right - this is a breaking change in API version 2025-01. The tags field was removed from customer webhook payloads and moved to dedicated customer_tags_added and customer_tags_removed webhooks.

The rationale for splitting this out was to provide more granular notifications and reduce payload sizes. customers/update can fire frequently for all sorts of changes, so instead of sending the full tags array every time (even when tags didn’t change), you now only get tag-specific webhooks when tags actually change. Means less data transfer and you only process what you care about.

To answer @qingtao_zhao’s question about why modifying tags still triggers customers/update - that’s expected behavior. Tag changes DO update the customer resource (they modify the updated_at timestamp), so the customers/update webhook fires. The field just isn’t included in the payload anymore. You now need to subscribe to both:

  • customers/update to know a customer changed

  • customer_tags_added/customer_tags_removed to know specifically what tags changed

@mykhailo_t - can you share a link to which doc page you’re seeing that still lists tags in the customers/update payload? I can flag it to get corrected.

3 Likes

@Donal-Shopify this one. “tags” is in customer payload sample.

1 Like

Thank Mikhailo, I’ll flag internally this to be updated :folded_hands: