Web Messaging SDK startChat() ignoring customAttributes CRM ID

Trying to push our internal CRM customer ID into the Genesys Cloud Web Messaging session so it shows up in Architect and the admin UI. I’m using the startChat method with a customAttributes object, but the data never arrives on the backend. The widget loads fine, but the attribute map is empty when I check the conversation details in the admin console. Here’s the snippet I’m using in our frontend app:

const messagingClient = window.purecloudMessagingClient;
messagingClient.startChat({
 customAttributes: {
 "crmId": "CUST-9921",
 "priority": "high"
 }
});

I’ve verified the token is valid and the user is authenticated. The standard attributes like firstName work, but these custom ones vanish. Is there a specific format required for the keys? Or do I need to enable something in the admin UI first? I’ve checked the API docs for postConversationsMessagingMessage, but this is client-side SDK usage. The logs show the request going out, but no confirmation of the attributes sticking. Help.