SAP Marketing Cloud – Permission Import failing due to duplicate Records

Symptom

A marketing permission import containing several permissions in the payload is failing with the following error:

“Multiple permissions with the same key at &1 found. Processing rejected.”

Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.

Environment

SAP Marketing Cloud Edition
SAP Marketing OnPremise starting with release 1709

Reproducing the Issue

  1. Create a contact with with different source IDs but similar communication details like email, mobile or phone ID.
    contact origins.jpg
  2. Import marketing permissions either via API API_MKT_CONTACT_SRV or via the Data File Load app. The API or CSV payload contains permissions records for the same contact.
  3. Observe that the permissions import is failing with the following error in the import monitor.
    error msg.jpg 
  4. On checking the payloads in detail, you observe that the permissions were imported for different IDs.
    import payload.jpg

Cause

Marketing permission import requires two pairs of contact IDs – one pair of contact ID origin and ID for identifying the contact (CONTACT_ORIGIN and CONTACT_ID) and one pair of contact ID origin and ID for setting the marketing permission (PERMISSION_FACET_ID_ORIGIN and PERMISSION_FACET_ID).

import design.jpg

The CONTACT_ORIGIN and CONTACT_ID pair is used for identifying the contact. After the contact is determined, the CONTACT_ORIGIN and CONTACT_ID information is discarded, as the permission processing happens on contact level but not on ID level – after the contact is determined, technically the processing happens via CONTACT_KEY and PERMISSION_FACET_ID_ORIGIN and PERMISSION_FACET_ID.

The CONTACT_ORIGIN and CONTACT_ID information is not persisted after the import.

Resolution

  1. Avoid importing permission data with payloads for the same contact and permission IDs (so CONTACT_KEY and PERMISSION_FACET_ID_ORIGIN and PERMISSION_FACET_ID).
  2. One suggestion to avoid that error is to separate the permission imports from different sources, so to implement the permissions from each source system individually.

See Also

Please also refer to the following KBAs for information about further permission import errors: