ESP - Campaign Studio


Campaign Studio (CS) is a marketing automation platform that can be injected with CDP-enriched data to enable many new features, most important of which is their world-class, omni-channel drip campaign builder (i.e. journeys).

Input data

Data is pulled from CS to the CDP in two ways:

  • Contacts & Campaigns - CS contacts and campaigns are pulled daily via an API based integration.
  • Events - CS events (e.g. email send, click, and open) are received in real time from the CS webhook to the CDP’s Kafka cluster. Therefore CS email events can be acted upon in real time within the CDP.

Output data

This output connector allows you to use an CDP Actions Campaign to push any one-to-one (1:1) content to CS to append to the CS contact profile as a custom field. One-to-many (1:N) datasets are not supported. We expect that shared clients will want to use this integration to push all CDP Customer Summary and Machine Learning segments on a daily basis to CS after the daily orchestration and ML workflows are complete.

CDP is integrated with the CS bulk create contact API to upload a list of list of customers for upserting into CS’s contact list. By default CS uses email address as the primary key, and will exact match on email address when upserting contacts.


  • Data:
    • Only one-to-one contact-level data can be pushed to CS via this output connector. One-to-many datasets and non-contact data are not supported.
    • We cannot push a NULL or empty value to CS to overwrite an existing value in CS with NULL.
  • Volumes - CS is limited to no more than 3 million contacts per CS instance. Performance starts to degrade at around 1 million contacts per CS Instance.
  • Performance - TBD


  1. Create a CS user that can push contacts via the API:

    1. Go to CS UI → Settings → Users
      1. Create a new user with API access. Provide the necessary information. Use a strong password to protect this service account.
      2. Set access level for this API user to ‘Admin’
    2. Go to CS UI → Settings → Configuration → API Settings
      1. Enable HTTP Basic authentication
  2. Create custom contact fields in CS for any CDP attributes that you would like to push to CS:

    1. Go to CS UI → Settings → Custom Fields

      1. Add new custom fields as needed. Make sure you provide the following information:

        1. Label - this is equivalent to an CDP display name, it is visible to end-users

        2. Unique alias - this is equivalent to a column header, it is used within APIs for reading/writing data in CS, it should only contain lowercase alphanumeric and/or underscore [a-z0-9_]

        3. Group - specify the suitable contact field group

        4. Data type - the following CS data types are supported:

          CS Data Type CDP AIF Data Type CDP UDM+ Data Type Details
          Text String String For text <=255 characters. Set maximum character length accordingly.
          TextArea String String For text >255 characters.
          Number Integer Integer For integers <=4 bytes. Set precision accordingly.
          Number Long Long For integers between 4 and 8 bytes. Set precision accordingly.
          Number Decimal Decimal For floating point numbers <= 4 bytes. Set precision accordingly.
          Number Decimal Double For floating point numbers between 4 and 8 bytes. Set precision accordingly.
          Date/Time Date Long Both CS and CDP store datetimes in UTC.
          Date Not supported Not supported Not supported
          Boolean Boolean Boolean Accepted values are: true, yes, 1, false, no, 0.