Send data to Salesforce Marketing Cloud

Salesforce Marketing Cloud is a provider of digital marketing automation and analytics software and services.

This topic describes the steps that are required to send CSV files to Salesforce Marketing Cloud from Amperity:

  1. Get details

  2. Add destination

  3. Add data template

How this destination works

Amperity can send CSV files with contact data to business units in Salesforce Marketing Cloud. The CSV files are uploaded to Salesforce Marketing Cloud using SFTP, after which the Marketing Cloud SOAP API is used to manage data extensions and to move contacts data from the CSV files into the data extensions.

Send contact data from Amperity to Salesforce Marketing Cloud.

A Salesforce Marketing Cloud destination works like this:

  1. Optional. Configure a data extension in Salesforce Marketing Cloud.

    What is a data extension?

    A data extension is a table that stores data about your contacts. The fields that are available from your data extension match the columns and/or attributes that are sent from Amperity.

    Within Salesforce Marketing Cloud, use the data in the data extension as a data source. Run queries, pull a subset of contacts from the data extension, and then send offers to that subset of contacts.

    This step is optional because Amperity will manage the data extension as part of its workflow. If the data extension does not exist, Amperity will add it. If the data extension exists, Amperity will update the contact data in that data extension.

    If you want to add the data extension yourself within Salesforce Marketing Cloud, you must define the schema for the data extension. Use the Salesforce Marketing Cloud subscriber key or email addresses as the primary key.

  2. Configure permissions for the installed package to allow business units to read from and write to the data extension.

    When does Amperity use an API?

    Amperity uses the Marketing Cloud SOAP API to manage the installed package and manage the import definition process, which gets the contact data from the CSV files that were sent from Amperity and then either adds a data extension or updates an existing data extension.

  3. Configure the Salesforce Marketing Cloud destination in Amperity.

    Why does Amperity use SFTP?

    Amperity uses SFTP to transfer data to Salesforce Marketing Cloud.

    Salesforce Marketing Cloud has strict rate limits when using their APIs to manage contact data. These rate limits generally exceed the number of contacts that are in the lists that you will want to send to Salesforce Marketing Cloud.

    Amperity uses SFTP to ensure that your contact lists can be successfully updated in Salesforce Marketing Cloud, after which Amperity uses the Marketing Cloud SOAP API to make that list of contacts available to the configured data extension.

  4. Use a query or segment to build a list of contacts.

    The fields that are sent from Amperity must match the fields that are defined in the schema for the data extension in Salesforce Marketing Cloud.

  5. Send a test from Amperity, and then from Salesforce Marketing Cloud verify that data within the data extension is correct and that you can run a query against it.

Note

You may configure Amperity to send CSV files to Salesforce Marketing Cloud using only SFTP. This will place the CSV files in the configured SFTP location, but will require configuring the data extension and import definition and any process that moves that data from the SFTP location to the data extension.

Get details

Salesforce Marketing Cloud requires the following configuration details:

  1. For the installed package: the API client ID, API client secret, and the SOAP base URI for the authentication subdomain.

    Within Salesforce Marketing Cloud, configure the installed package to allow business units:

    Apply Read and Write permissions to the data extension.

    Apply Read, Write, and Execute permissions for Automations.

    Important

    Each installed package is configured to have access to one business unit or multiple business units, depending on the desired workflow. (Amperity cannot send data to an installed package that is configured for shared business units.)

  2. For SFTP configuation: the hostname, username, and passphrase.

    Note

    The username is not the same as the email address that is associated with the user.

  3. For each business unit to which data will be sent: the account ID for the business unit, the import location, and selecting the field to use as the primary key.

    Note

    The account ID is also referred to as the member ID within Salesforce Marketing Cloud.

    Important

    Your business unit must have a File Location object with External Key “ExactTarget Enhanced SFTP”. Review the Marketing Cloud File Location Guide to configure a File Transfer Location with Location Type “Marketing Cloud Enhanced FTP Site Import Directory”.

  4. The subscriber key for Salesforce Marketing Cloud. (The use of the subscriber key is recommended.)

    Important

    A subscriber key is configured as the “primary key” for the destination. There are two options: using the Salesforce Marketing Cloud subscriber key or using email. One of these options must be specified before the destination can send data to Salesforce Marketing Cloud.

  5. Review the Marketing Cloud SFTP Guide to answer questions about configuring and managing Salesforce Marketing Cloud.

    Tip

    Configuration details for Salesforce Marketing Cloud are available from within Salesforce.

    1. For the installed package, click Setup > Platform tools > Aps > Installed packages.

    2. For SFTP, click Setup > Administration > Data management > FTP accounts.

Subscriber key

The subscriber key is an identifier in Salesforce Marketing Cloud. All data that is sent to Salesforce Marketing Cloud must be associated to a subscriber key. Use the primary key field while configuring the Salesforce Marketing Cloud destination to specify the subscriber key to use for this destination.

The use of the subscriber key within Amperity will vary, depending on if the subscriber key is made available to Amperity as field provided by a Salesforce Marketing Cloud data source.

  1. If a subscriber key is available to Amperity from a data source, ensure that field is available to the Customer 360, Queries, and/or Segments tabs, after which the field is available to be included in the results that are sent to Salesforce Marketing Cloud. (Using the subscriber key, when available, is recommended.)

    Tip

    This field should have been assigned a customer key semantic tag.

  2. If a subscriber key is unavailable, use email.

  3. The primary key field may be left empty. When it is left empty, you must assign subscriber_key or email as part of the configuration of the data template that is used for this destination.

    A data template may also override this setting if also specified in the destination.

Caution

A mismatch between the primary key in Amperity and the subscriber key in Salesforce Marketing Cloud will cause duplicate records to be created.

SFTP password expiration

The SFTP password for Salesforce Marketing Cloud may be set to periodically expire. The default for SFTP passwords is 3 months. The SFTP password is configured in Salesforce Marketing Cloud at Setup > Settings > Security > Security Settings > Password Policies > Exclude FTP Users From Password Expiration.

Add destination

Salesforce Marketing Cloud is a destination that may be configured directly from Amperity.

You can configure the Salesforce Marketing Cloud destination for one of the following options:

  1. Send data to a single installed package with permissions to multiple business units. Use multiple data templates, with each defining specific field mappings for each business unit.

  2. Send data to a single installed package with permissions to a single business unit.

Important

Amperity cannot send data to a shared business unit in Salesforce Marketing Cloud.

To add a destination

  1. From the Destinations tab, click Add Destination. This opens the Add Destination dialog box.

  2. Enter the name of the destination and a description. For example: “Salesforce Marketing Cloud” and “This sends query results to Salesforce Marketing Cloud”.

  3. From the Plugin drop-down, select Salesforce Marketing Cloud.

  4. From the Credential Type drop-down, the credential type “salesforce-marketing-cloud” will automatically be selected.

  5. From the Credential drop-down, select Create a new credential. This opens the Create New Credential dialog box.

    Enter the values for the API client ID, API client secret, and the SOAP base URI for the authentication subdomain.

    Enter the values for the hostname, username, and passphrase.

    When finished, click Save.

  6. Under Salesforce Marketing Cloud Settings, enter the account ID for the business unit, the import location, and then select the primary key. This must be one of: subscriber_key, email, or left empty.

    Choose subscriber_key when a field can be mapped directly to the subscriber key in Salesforce Marketing Cloud, or else choose email.

    Note

    If this field is empty, you must choose subscriber_key or email while configuring a data template.

    Use the Import Location field to define the directory within the Salesforce Marketing Cloud SFTP server to which data should be added. This is also the location from which the SOAP API will get the CSV files.

  7. Select Allow customers to use this data template.

  8. Select Allow orchestrations from users with limited PII access.

  9. Click Save.

Add data template

A data template defines how columns in Amperity data structures are sent to downstream workflows. A data template is part of the configuration for sending query and segment results from Amperity to an external location.

To add a data template

  1. From the Destinations tab, open the menu for the Salesforce Marketing Cloud destination, and then select Add data template. This opens the Add Data Template dialog box.

  2. Enter the name of the data template and a description. For example: “Salesforce Marketing Cloud” and “This template maps to Salesforce Marketing Cloud.”

  3. Under Template Settings, set the account ID and primary key.

    Important

    The account ID field is required. The account ID used with a data template may be different from the account ID used with the destination, but both account IDs must have access to the business unit for which they are configured.

    The primary key must be one of subscriber_key, email if the Primary Key field was left empty for the destination. You may set the primary key for the data template to override the destination’s configuration setting.

  4. Choose if results sent from Amperity will be appended or if they will be overwritten.

  5. Set the name of the data extension you want to create or update with this orchestration. This data extension will be in the business unit within Salesforce Marketing Cloud that is associated with the credentials you provided.

    Important

    The name of the data extension may not contain any of the following characters:

    ! @ # $ % ^ * ( ) = { } [ ] \ . < > / " : ? | , &
    
  6. Click Save.