Custom Widget "Profile completion": Questions and issues
We built a custom Widget called “Profile Completion” for the o2 Community.
The widget:
- Loads the current user’s profile through a Gainsight connector
- Calculates completion based on nine equally weighted criteria:
- eight User Profile Fields
- personal avatar
- Displays the completion percentage, username, progress bar, missing fields, explanation text, and a link to the profile settings
- Supports configurable Builder options for content and display
- Uses Gainsight Personalization to target users with a Primary Role (through a segment)
It looks like this:

Questions and Issues
Pre-load personalization based on profile completion
Currently, Personalization only filters by a broad segment such as users with a Primary Role. The widget is therefore initialized for all matching users and must load the connector before it can determine whether the profile is complete.
Question:
Is there a supported way to personalize a Custom Widget based on a calculated or stored profile-completion status before the widget is loaded?
Ideally, we would like to have something like:
Primary Role = Registered User
AND profile_completion_status = incomplete
Complete profiles should not load the widget or execute its connector.
Avatar availability as a segmentation attribute
The personal avatar is available in the user API response and we can use it to calculate the completion percentage. However, avatar availability is not available as a User Profile Field filter.
Question:
Can the presence or absence of a user-uploaded avatar be exposed as a segmentable user attribute?
Ideally, the segment should be able to distinguish:
- avatar exists
- avatar is missing
Birthday empty-state filtering
The Birthday field does not provide an `is empty` filter. The available date filter, such as `More than 0 day ago`, does not reliably identify users who have never entered a birthday.
Question:
Is there a supported filter for an unset or default Birthday value?
Our workaround: The widget treats the platform default value `1-1-1970, 0` as incomplete.
Segment logic: OR conditions and exclusions
The Segment Builder currently allows multiple filters with `AND`, but we could not create the required condition:
Field A is empty
OR Field B is empty
OR Field C is empty
We also could not reliably create a negated version of the existing “all profile fields completed” segment.
Questions:
- Are `OR` conditions supported for User Profile Field filters?
- Can a segment be defined as the inverse of another segment?
- Is there a recommended pattern for targeting users who match at least one incomplete-profile condition?
Native Style tab for Custom Widgets
The native Style tab is available for native widgets, but not for our Custom Widget.
Questions:
- Can the native `Style` tab be enabled for Custom Registry Widgets?
- Is there an official Registry configuration schema for enabling it?
- If it is not supported, is there a planned roadmap for enabling it for Custom Widgets?
We deliberately do not want to recreate the native Style tab with an unsupported custom implementation.