Unify and manage your data

Preserve customer attributes on group entities

Learn more about how the grouping service preserves customer-loaded attribute values on generated group entities.

The grouping service handles customer-loaded data on grouping-generated entities, such as Household or other group entities, when the preserveCustomerAttributes parameter is enabled on a grouping type. With this option enabled, the grouping service continues to manage only the attribute values it owns and leaves customer-loaded values under other crosswalks unchanged during recalculation.

Note: This option is available through L3 tenant configuration. It is not available in the Data Modeler UI.

Customer attribute preservation behavior

By default, grouping-generated entities are fully managed by the grouping service. During recalculation, the service can remove and recreate attribute values on the group entity. This behavior can remove customer-loaded values that were added directly to the group entity.

When the preserveCustomerAttributes parameter is enabled for a grouping type, the grouping service applies the following ownership rules:

  • Values under grouping-managed crosswalks continue to be recalculated and updated by the grouping service.
  • Values under other crosswalks are preserved and are not removed or overwritten during grouping recalculation unless they are explicitly updated by the source that owns them.
  • If a group is dissolved and the group entity contains customer-loaded data, the entity is detached from grouping instead of being deleted.

The option is disabled by default. Existing grouping configurations continue to work unchanged unless you explicitly enable this behavior.

Configuration property

The following table describes the grouping type property that controls this behavior.

ParameterTypeDefaultDescription
preserveCustomerAttributesBooleanfalseWhen set to true, the grouping service updates only attribute values under crosswalks it manages for that grouping type. Attribute values under other crosswalks are preserved across recalculations and group dissolution. This property is configured per grouping type.

Example grouping type configuration

The following example shows how to enable this behavior for a grouping type.

{
  "groupingTypes": [
    {
      "uri": "configuration/groupingTypes/Household",
      "source": "configuration/sources/ReltioGrouping",
      "preserveCustomerAttributes": true,
      "members": [
        /* unchanged */
      ],
      "attributeMappings": [
        /* unchanged */
      ]
    }
  ]
}

How the grouping service classifies attribute values

The grouping service classifies attribute values on the group entity by crosswalk ownership. Classification is evaluated per crosswalk, not per attribute URI.

  • Grouping-managed value: The grouping service owns and can update or remove this value during recalculation. This includes values under the reserved grouping crosswalk and values under crosswalks created by grouping attribute mappings.

  • Customer-loaded value: The grouping service does not own this value and does not remove or overwrite it during recalculation. These values remain on the group entity until the source that owns them updates or deletes them.

A value is treated as grouping-managed when either of the following conditions is true:

  • The crosswalk source is configuration/sources/ReltioGrouping.
  • The crosswalk value starts with an xwValuePrefix used by an attribute mapping on the grouping type.

All other crosswalks are treated as customer-loaded for this feature.

Crosswalks under Reltio and ReltioCleanser are not treated specially. They follow the same classification rules as any other non-grouping source.

Behavior during recalculation

When the preserveCustomerAttributes parameter is enabled, grouping recalculation acts differently for values that belong to grouping-managed crosswalks and customer-loaded crosswalks.

Value typeRecalculation behavior
Grouping-managed values The grouping service continues to fully manage these values. During recalculation, it can remove existing grouping-managed attribute values that no longer match the current group membership, recreate them from the updated member data, or update them to reflect the latest grouping result.
Customer-loaded valuesThe grouping service does not remove, overwrite, or recalculate these values. Attribute values loaded under non-managed crosswalks remain on the group entity as-is, even when group membership changes or the grouping service recalculates the entity.

This behavior allows you to store additional business data on the generated group entity, such as an externally assigned score, external reference ID, head-of-household flag, or other enrichment data that must remain available after group membership changes.

Protected values remain on the entity because the grouping service does not delete their crosswalks during recalculation. The grouping service does not re-post protected values as part of the recalculation request.

Behavior when a group is dissolved

When a group becomes empty or is otherwise dissolved, the grouping service evaluates whether the group entity contains any customer-loaded values.

ConditionBehavior
No customer-loaded values remainThe group entity is deleted, which matches the default behavior.
At least one customer-loaded value remainsThe grouping-managed data is removed, the grouping crosswalk is removed, and the entity is detached from grouping instead of being deleted.

A detached entity is no longer tracked by the grouping service, and its relations to group members are removed as part of the existing disband flow. The detached entity remains available through standard entity APIs.

Behavior during group merge and split

The grouping service applies the same ownership rules during merge and split operations.

OperationBehavior
Group mergeThe surviving group keeps its customer-loaded values. If the dissolved group contains customer-loaded values, that entity is detached instead of deleted. Otherwise, the dissolved group entity is deleted.
Group splitThe original group keeps its customer-loaded values. Grouping-managed values are recalculated based on the remaining members.

Important considerations

The following table lists important conditions and limitations for this feature.

ConditionImpact
Customer data loaded under ReltioGroupingValues under the grouping source are always treated as grouping-managed and can be overwritten during the next recalculation. Load customer enrichment data under a different source system.
Crosswalk value matches a grouping prefixIf a customer crosswalk value starts with an xwValuePrefix used by the grouping type, the value is treated as grouping-managed. If no explicit prefix is configured for a source-copy mapping, the default prefix is PREFIX_. Use explicit and unique prefixes for grouping mappings to avoid collisions.
Same attribute under managed and customer-loaded crosswalksGrouping recalculation updates only the grouping-managed values. Customer-loaded values for the same attribute remain unchanged.
Customer data loaded from multiple source systemsValues under multiple non-managed crosswalks are preserved independently.
Customer-loaded reference attributes or relationsNon-managed relation or reference values are preserved in the same way as simple attribute values.
Disabling the feature after it has been usedIf you disable preserveCustomerAttributes after customer-loaded data has accumulated on group entities, those values are no longer protected by this behavior and can be removed during later recalculations.
Detached entities after group dissolutionDetached entities remain in the tenant until another process deletes them. The grouping service does not remove detached entities automatically.

Troubleshooting notes

The following table describes common outcomes and likely causes.

Observed behaviorPossible cause
Customer-loaded values were removed during recalculationThe values were loaded under ReltioGrouping or under a crosswalk value that matched a grouping-managed prefix.
A dissolved group entity was not deletedThe entity contained at least one customer-loaded value, so it was detached instead of deleted.
Customer-loaded values remain visible after group membership changesThis is expected when the values are stored under non-managed crosswalks and the feature is enabled for the grouping type.
Customer-loaded values were lost after the feature was turned offAfter preserveCustomerAttributes is disabled, previously protected values are no longer preserved and can be removed during the next recalculation or un-grouping.

For more information, see Configure grouping types.

For more information about crosswalk behavior, see Crosswalks.

For more information about entity updates, see Update entities.