Dynamic Customer Group Import/Export

Dynamic customer groups can be imported and exported via the (existing) customer group import/export.

Note: A dynamic customer group export includes a group's rule, not the actual customer assignments. Similarly, the import includes the rule, not the actual membership data. Therefore, the import of dynamic customer groups relies on a background segmentation process that runs later to establish customer membership for newly imported groups.

The customer import currently imports the explicit customer group assignments. Because membership in dynamic customer groups is calculated dynamically, the customer import must deny assignments to dynamic customer groups and the export must omit such assignments.

The customergroup.xsd schema has a rule element:

<xsd:complexType name="complexType.CustomerGroup" mixed="false">
    <xsd:sequence>
        <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1" />
        <!--- new element capturing the membership rule; if defined the customer group becomes a dynamic customer group. If not defined it becomes a customer group with explicit assignments--->
        <xsd:element name="rule" type="Rule" minOccurs="0" maxOccurs="1" />
        <xsd:element name="custom-attributes" type="sharedType.CustomAttributes" minOccurs="0" maxOccurs="1" />
    </xsd:sequence>
    <xsd:attribute name="group-id" type="simpleType.Generic.NonEmptyString.256" use="required" />
</xsd:complexType>

The schema also has the following complex types related to dynamic groups:

<xsd:complexType name="Rule" mixed="false">
<xsd:complexType name="ConditionGroups" mixed="false">
<xsd:complexType name="ConditionGroup" mixed="false">
<xsd:complexType name="DateCondition" mixed="false">
<xsd:complexType name="DateRange" mixed="false">
<xsd:complexType name="RelativeDateRange" mixed="false">
<xsd:complexType name="StringCondition" mixed="false">
<xsd:complexType name="IntCondition" mixed="false">
<xsd:complexType name="IntRange" mixed="false">
<xsd:complexType name="BooleanCondition" mixed="false">

Active data not provided by Salesforce B2C Commerce must be imported. Active merchandising data doesn't have a schema. Instead, a merchant defines a feed format and can manually import a .csv file in Business Manager or automate the import using the new ImportActiveData pipelet.

To enable import for an active data attribute, it must be assigned to a feed. An attribute can only be assigned to exactly one feed. A merchant can set up a maximum of five import feeds for the ProductActiveData object or the CustomerActiveData object, minus any feeds reserved for the system. There are no import modes for feeds.

Import files uploaded for import through Business Manager are stored in a new directory named activedata with the following location relative to the existing Impex source directory in WebDAV:

/Sites/Impex/src/activedata/a-product-active-data-file.csv

Site Export includes XML files containing the non-system active data feeds for a site if that site is selected for export. Site Import checks for files in an import archive with names and in locations that fit Site Export, and if any are found, validates and imports them.