This guide assumes you have an Identity Cloud implementation, a contract to use Integration Bus, and access to the SnapLogic platform through Akamai. If this is not the case but you are interested in enabling this integration pattern, please reach out to your Akamai representative to get started.

The following tasks/items must be completed and available for this integration:

Let’s step through each of these.

Salesforce Marketing Cloud

Create a package

Create a package in Marketing Cloud which this integration will use to sync data. For general steps on how to create a package, see Marketing Cloud Packages: Create and Install Packages.


  • Make sure to give this package an appropriate Name, such as “Identity Cloud Data Sync”, and a helpful Description. Package Name in Marketing Cloud
  • Choose Component Type: API Integration Component Type in Marketing Cloud
  • Choose Integration Type: Server-to-Server Integration Type in Marketing Cloud
  • Grant the following Scopes:
    • Audiences: Read, Write
    • List and Subscribers: Read, Write
    • Data Extensions: Read, Write Scopes in Marketing Cloud

Once your package is created, you’ll see the following values which will be needed later in this guide:

  • Your API Integration Client Id and Client Secret
  • Your API Integration Authentication Base URI
  • Your API Integration SOAP Base URI Credentials in Marketing Cloud

Create data extensions

For this data sync, you’ll map basic subscriber information like email and subscriber key to Marketing Cloud. You can map additional data from the Identity Cloud profile to Marketing Cloud using data extensions.

Note that you must create a separate data extension in Marketing Cloud for each plural you want to map from Identity Cloud. See more details below.

For general steps on how to create a data extension, see Create a Data Extension in Marketing Cloud.


  • When you create a new data extension, choose the Standard Data Extension option. Data extension type in Marketing Cloud
  • Give each data extension an obvious Name and use consistent naming conventions (examples: “Identity_Cloud_Profile”, “Identity_Cloud_LegalAcceptances”).
  • DO NOT assign an External Key. This will allow Marketing Cloud to create a unique key for you which won’t be used anywhere else.
  • Provide a simple Description of what this data extension is used for.
  • Make sure to check the Is Sendable? checkbox. Data extension properties in Marketing Cloud
  • When creating fields in your data extension, it’s ideal to use the exact same field Names that are used in the Identity Cloud schema.
  • In a later step, you will map a unique identifier from Identity Cloud (such as email or uuid) to the Subscriber Key. Make sure to include this identifier as a field and set it as the Primary Key.
    • Make sure to also use this identifier in the Send Relationship and relate it on Subscriber Key. Example: “email” relates to Subscribers on “Subscriber Key”

      Important Note! With this integration you can optionally sync profile deletions in Identity Cloud with Marketing Cloud. In order to sync deletes with data extensions, you MUST map the uuid to the Subscriber Key (in a later step), and you MUST have the following Send Relationship: “uuid” relates to Subscribers on “Subscriber Key”

      For more info, see Sync deletes.

  • Make sure to set the email field Data Type to “EmailAddress”
  • Make sure to set as many fields as possible to Nullable. This will prevent a sync from failing due to a missing value. Data extension fields in Marketing Cloud

Specific to plurals:

  • You must create a separate data extension for each plural you want to map to Marketing Cloud.
  • The data extension must include the unique identifier from Identity Cloud (such as email or uuid) as a field, marked as a Primary Key.
  • The plural id (or another locally-unique attribute in the plural) should be included as a field and also marked as a Primary Key.

    The combination of the user identifier and the plural entry identifier as primay keys is necessary to store plural entries properly in Marketing Cloud.

Example that stores data from the legalAcceptances plural: Data extension fields for plural data in Marketing Cloud

The actual mapping of Identity Cloud profile data to Marketing Cloud data extensions will be configured later.

Once your data extension(s) is created, you’ll see the following values which will be needed later in this guide:

  • The Data Extension EXTERNAL KEY
  • The Data Extension Field Names Data extension information in Marketing Cloud

Akamai Identity Cloud

Create an API client

In order to grant access for the integration to pull data from Identity Cloud, please create an API client (a.k.a. “Property”) in Identity Cloud Console. This client must have the direct_access feature only, and must be dedicated for this integration.

This needs to be direct_access rather than direct_read_access because the integration needs to both read data from Identity Cloud AND write metadata into the user records for syncing.

To create this client:

  1. Login to Identity Cloud Console
  2. Within the application you want to export data from, navigate to MANAGE PROPERTIES
  3. Click the CREATE PROPERTY button Create Property in Console
  4. Enter a name for this client (Example: SFMC Data Integration)
  5. Under Permissions, de-select the login_client feature and select direct_access
  6. Click the save icon ( ) Create data export client in Console
  7. In the success message in the lower right corner, select VIEW Success message in Console
  8. You can copy the Client Id and Secret from the resulting Edit Property page Copy client ID and secret in Console

You will need the Client Id and Secret later in this guide.

Update the schema

In order to properly sync user data, the integration writes metadata into the Identity Cloud user record. This requires an object called janrain containing specific attributes be present in the schema. In Identity Cloud Console, it looks like this: janrain object in Console

If you are a long-time customer of Identity Cloud (formerly known as Janrain), you may already have this object in your schema(s). If this is the case, and if it contains all the attributes encircled in the above screenshot, you can skip to Next Steps.

To add the required object and attributes to the schema, make the following API call to the /entityType.addAttribute endpoint using the POST method.

  • The base URL for this call is your Registration Domain.

    Find my Registration Domain

  • This call requires Basic Authorization. To create the authorization code for this call, your application owner Client Id and Secret must be combined with a colon in between (id:secret) and then base64 encoded.

    Find my application owner Client Id and Secret
    How to create the authorization code in Postman

curl -X POST \ \
	-H 'Authorization: Basic AUTHORIZATION CODE' \
	-H 'Content-Type: application/x-www-form-urlencoded' \
	-d 'type_name=user' \
	-d 'attr_def={"name":"janrain","type":"object","attr_defs":[{"name":"etSubscriber","type":"object","attr_defs":[{"name":"syncUpdated","type":"dateTime"},{"name":"syncAttempts","type":"integer"},{"name":"remoteIds","type":"plural","attr_defs":[{"name":"remote_id","type":"string"},{"name":"service","type":"string","constraints":["locally-unique"]}]}]}]}'

If you have multiple Entity Types, you will need to make this call for each one you want to sync with Marketing Cloud. Make sure to update the type_name for each call.

Next steps

Remaining steps will be completed in the SnapLogic UI. Please login to SnapLogic with the account Akamai created for you, then come back to this tab to continue.

Supported browsers: Chrome and Firefox

Don’t have a SnapLogic account? When Akamai deployed the Integration Bus for you, you should have received a welcome email from SnapLogic with your login ID, a temporary password, and a link to access your account and set a new password. If you have not received this email, please check your spam folder and/or reach out to your Akamai Identity Cloud representative.

Using a SnapLogic account that predates your Akamai Integration Bus deployment? If so, you can log in normally, then you’ll need to switch to the AkamaiProd environment. If you have multiple environments, you can check or select this in the top-right corner of the SnapLogic UI.