Guest attribute persistence issue with Web Messaging SDK and authenticated users

refactoring our deployment pipeline to include automated validation of the Genesys Cloud Web Messaging widget configuration. The specific requirement is to ensure that custom guest attributes are correctly transmitted when a user is already authenticated via our internal SSO provider before the widget loads. We want to avoid relying solely on the initial gcWebChat initialization for this data. Instead we are attempting to set attributes programmatically using the gcWebChat.setGuestAttributes method after the user object is resolved.

The issue we are encountering is that while the SDK logs indicate the attributes have been set, the subsequent conversation data retrieved via the /api/v2/conversations endpoint does not reflect these custom attributes in the participant profile. We suspect there might be a timing issue between the SDK state and the backend persistence or perhaps we are missing a specific flag to force an update.

Here is the relevant snippet from our validation script:

// Initialize widget
const widget = new GcWebChat({
 organizationId: '123456',
 deploymentId: '789012',
 locale: 'en-US'
});

// Simulate authenticated user
const user = {
 externalId: 'user_123',
 name: 'Test User'
};

// Attempt to set attributes post-init
widget.setGuestAttributes({
 'user_tier': 'premium',
 'last_order_id': 'ORD-999'
});

console.log('Attributes set:', widget.getGuestAttributes());

The console output confirms the attributes are present in the local SDK state. However when we query the conversation details shortly after initiating a test message the participant object lacks the user_tier and last_order_id fields. We are using the latest version of the Web Messaging SDK. Is there a specific method to flush these attributes to the backend or are we required to pass them during the initial configuration object instead?