SAP Marketing Cloud – Segmentation Attribute not visible in Segmentation Model

Symptom

A certain segmentation attribute is not available in the segmentation model, although the attribute is flagged as ‘visible as attribute’ and assigned to an attribute group.

Reproducing the Issue

  1. In the segmentation configuration app, flag an attribute as ‘visible’ and assign the same to an attribute group available in the segmentation object
    seg config - seg object.jpg
  2. Create a segmentation model for the segmentation profile using the underlying segmentation object
  3. Observe that the attributes is not available in the segmentation model
    segmentation - not available.jpg

Cause

The attribute visibility might be overruled on segmentation profile level.

Resolution

Having the segmentation attribute flagged as ‘visible as attribute’ on segmentation object level is a prerequisite for having the attribute available at all. The attribute however must be flagged as ‘visible’ on segmentation profile level as well using the ‘attribute visibility’.

seg config - seg profile - not visible.jpg

Make sure to have the attribute set to visible in the segmentation profile as well.

seg config - seg profile - visible.jpg

Then only the attribute is available in segmentation.

segmentation - available.jpg

See Also

Please also refer to the online help:

Another cause for a similar issue is documented in the following KBA:

SAP Marketing Cloud – Segmentation Attributes from extension data source _SAP_CF_CE_CONTACT_IA_ERP_CUST

Symptom

In SAP Marketing Segmentation you create a segmentation model using segments. Each segment reflects a segmentation rule. The count in a child segment might not consider the segmentation rules from its parent segments in the segment tree as expected. When executing an email or file export campaign, the attributes in the campaign content are not necessarily created following the segmentation rules as expected.

Environment

SAP Marketing Cloud Edition

Reproducing the Issue

  1. Log on to Fiori Launchpad in Hybris Marketing
  2. Open the Segmentation Models App and create a new Segmentation Model
  3. Use different filters to create a segment as following, with using filters on the interaction type (IA_TYPE) and interaction date (IA_DATE) – the example has different IA_DATE attributes visible in the interactions group:
    different DS example1.jpg
  4. Observe different counts for similar filter values for different IA_DATE filters
    different DS example.jpg
  5. When using a target group created from that segmentation model in a email or file export campaign, the campaign content is not created as expected. You might observe that there are multiple values for a certain attribute – the campaign content might not be following the segmentation rules from the segment tree.

Cause

This might be related to the following design – the design is explained based on the following example build in the Cloud Edition using the segmentation object SAP_CONTACT_ENGAGEMENT_SIN:

The segment tree is built using filter attributes from different data sources:

  • ‘Interaction Date’ IA_DATE from DS SAP_CE_CONTACT_IA_ERP_CUSTOMER
    ds.jpg
  • ‘Interaction Date’ IA_DATE from DS _SAP_CF_CE_CONTACT_IA_ERP_CUST
    ext ds.jpg

When combining different filters with attributes from different data sources, the different data sources are joined via the key of the segmentation object, the SAP_CONTACT_KEY in that case:
key field.jpg

When using attributes from different data sources, the join of those data sources may result in different data being returned. This is the very basic design of SAP Marketing Segmentation, which is assuming/requiring that attributes which have a dependency between each other are coming from the same data source, unless the dependency is fully qualified by the segmentation object keys. In other words, the attributes can reside in different data sources if the dependency is fully qualified by the segmentation object keys. So all attributes which have more dependencies than just the segmentation object key, must reside in the same data source.

The example above is built based on the following data:

Contact IA_TYPE IA_DATE
1 SALES_ORDER 15.05.2018
1 APPOINTMENT 16.05.2018
2 SALES_ORDER 16.05.2018
2 APPOINTMENT 15.05.2018
3 SALES_ORDER 16.05.2018
4 APPOINTMENT 15.05.2018

Filter: IA_TYPE = SALES_ORDER and IA_DATE = 15.05.2018

If IA_TYPE and IA_DATE are on the same data source, the selection works with the logic “give me all contacts which have any interaction of type SALES_ORDER with the date 15.05.2018”. The ‘and’ is applied on interaction level. The result is contact 1 only:
same ds detail.jpg

If IA_TYPE and IA_DATE are on two different data sources, the selection works with the logic “give me all contacts which have any interaction of type SALES_ORDER and any interaction with the date 15.05.2018”. The ‘and’ is applied on contact level only but not on interactions level. The result is contacts 1 and 2:
different ds detail.jpg

The same design is valid within segmentation but also when using any target group from the segmentation model for creating content or export. The setting ‘Content and Export –
Apply segmentation rules during content determination’ in the General Settings in the Target Group Configuration, also considers this design. Detailed information about the setting is available in the online help:

General Settings for Target Groups

Resolution

This design needs to be considered when setting up the Segmentation Configuration but also when building the segment tree.

When using custom fields in Segmentation, created from the ‘Customer Fields and Logic’ app, the custom attributes are available in a generated extension data source. When looking at the example above, the standard data source SAP_CE_CONTACT_IA_ERP_CUSTOMER has the extension data source _SAP_CF_CE_CONTACT_IA_ERP_CUST generated – all standard attributes are included in the standard data source, as well as in the extension data source. It is therefore strongly recommended to hide the attributes from the standard Datasource but display the attributes from the extension Datasource in the Segmentation Configuration once extension attributes are used.

The example above is taken from the Cloud Edition using the segmentation object SAP_CONTACT_ENGAGEMENT_SIN, the same design is valid for various different Segmentation Objects in the SAP Hybris Marketing Cloud.

The Segmentation Configuration app is available in the Cloud Edition.

SAP Marketing Cloud – Campaign scheduled times changed after the daylight saving time

Problem

Your campaigns are scheduled 1 hour later after the daylight saving time.

Reproducing the Issue

  1. Create a Campaign before daylight saving.
  2. Check the Campaign scheduled time after the daylight saving.
  3. The Campaign is scheduled at a different time.

Cause

  • Time Zone of Segmentation Profile used in the Campaign is set to a different Time Zone than the Time Zone considered with the daylight saving.
  • If nothing is set for Time Zone, it will take the default Time Zone(UTC-0).
  • Ex. Let’s say the Campaign is scheduled at 9AM EST, which is 2PM UTC. The Segmentation Profile is set to GMT time so in the database, the start time is 2PM UTC-0. After the daylight saving in EST time, the Campaign scheduled time at 9AM EST will change to 10AM because 10AM in EST will now equal to 2PM UTC-0.

Resolution

1. Access “Segmentation Configuration” App.
2. Go to Segmentation Profile and select the corresponding Profile.
3. Edit the Profile to set the correct “Time Zone”.

 

SAP Marketing Cloud Segmentation – Usage of different ID Attributes

In SAP Marketing Segmentation you want to create a segment using the ‘ID’ attribute as a filter. The count of the segment is lower than expected or the IDs in the segment preview are not following the ID Origin selected.

Reproducing the Issue

  1. Log on to Fiori Launchpad in SAP Marketing
  2. Open the Segmentation Models App and create a new Segmentation Model
  3. Use the following ID attributes as filter for creating a new segment
  4. Observe different counts for similar filter values for both ID attributes

Cause

The provided Segmentation Content contains different attributes for IDs, having different business meaning.

Resolution

Make sure to use the correct ‘ID’ attribute in the underlying Segmentation Object. To find the correct attribute access the Segmentation Configuration app and navigate to the underlying Segmentation Object and the correct Data Source Alias. The example shows the Segmentation Object ‘Contacts – SAP_CONTACT_ENGAGEMENT_SIN’ from the SAP Hybris Marketing Cloud Edition.

The Segmentation Object SAP_CONTACT_ENGAGEMENT_SIN, Data Source Alias SAP_CE_CONTACT_IA_ERP_CUSTOMER provides the following attributes, both with the label ‘ID’:

  • IC_ID: attribute IC_ID refers to the ID of an interaction contact – filtering on a certain IC_ID (together with the IC Origin) brings back any contact that is part of the Segmentation Profile. This attribute should be displayed in the ‘Contacts’ Group.
  • ID: attribute ID refers to the Contact ID within an interaction – filtering on a certain ID brings back all contacts that have interactions created with a certain ID. This attribute should be displayed in the ‘Interactions’ Group:

Various different Segmentation Objects in the SAP Marketing Cloud Edition and On-Premise Versions will provide similar ID attributes, the approach to display the correct ID attribute within the correct group is the same independent from the Segmentation Object used.

The Segmentation Configuration app is available in the Cloud Edition and On-Premise Releases starting from 1709.

Hybris Marketing Cloud: How to prevent contacts from getting the same email from the same Campaign

You want to send Campaign Emails only once to each contact. For example, there is an Welcoming Email Campaign that runs daily (recurring campaign). The requirement is that only the New contacts get the Welcome Email.

Solution

  1. Create a Campaign first without a TG. Let’s say the Campaign number is 10.
  2. Create a Segmentation Model and a Dynamic Target Group. Let’s say for example, you want to send welcome emails to all Contacts in Canada. So this Dynamic Target Group has all contacts from Canada.
  3. Create a Live Target Group just beneath the Dynamic TG with an additional filter “Exclude Campaign 10”. (This is why the Campaign was created first without any Target Group). IMPORTANT: Note that you can only select Campaign ID in segmentation after the campaign is released, so you first have to execute step 4 and 5 and release the campaign. After that, you can select the Campaign ID.
  4. Add the Dynamic TG in the Campaign.
  5. Add the Live TG in the Filter Condition of the Campaign. This allows the email is sent only to the contacts in the Live TG, which excludes all contacts that already have received an Welcome Email from CPG 10. Therefore, all the contacts that already received the email will not receive the secondary email because they won’t be present in the Live Target Group.